Skip to content

Commit b918037

Browse files
lukatmyshuclaude
andcommitted
feat: restructure as Claude Code plugin
Add plugin manifest (.claude-plugin/plugin.json) and bundled MCP server config (.mcp.json) so users get both the skill and MCP server in one install. Move skill files to skills/vapi/ to match the plugin convention and remove the manual MCP install step from the workflow. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 6366f5c commit b918037

6 files changed

Lines changed: 38 additions & 24 deletions

File tree

.claude-plugin/plugin.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"name": "vapi",
3+
"description": "Build AI voice assistants and phone agents with Vapi",
4+
"version": "0.0.10",
5+
"author": {
6+
"name": "Vapi AI",
7+
"url": "https://vapi.ai"
8+
},
9+
"homepage": "https://github.com/VapiAI/mcp-server#readme",
10+
"repository": "https://github.com/VapiAI/mcp-server",
11+
"license": "MIT",
12+
"keywords": ["vapi", "voice", "ai", "phone", "assistant", "mcp"],
13+
"mcpServers": "./.mcp.json",
14+
"skills": "./skills/"
15+
}

.mcp.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"mcpServers": {
3+
"vapi": {
4+
"command": "node",
5+
"args": ["${CLAUDE_PLUGIN_ROOT}/dist/index.js"]
6+
}
7+
}
8+
}

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@
4949
"dist",
5050
"dist/**/*.d.ts",
5151
"dist/**/*.d.ts.map",
52-
"skill"
52+
".claude-plugin",
53+
".mcp.json",
54+
"skills"
5355
],
5456
"dependencies": {
5557
"@modelcontextprotocol/sdk": "^1.12.3",
File renamed without changes.

skill/SKILL.md renamed to skills/vapi/SKILL.md

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -11,27 +11,17 @@ Build AI-powered voice assistants, phone agents, and conversational AI applicati
1111

1212
When a user wants to build a voice assistant or phone agent, follow these steps:
1313

14-
### Step 1: Check if Vapi MCP is Installed
15-
16-
First, check if the Vapi MCP server is available by looking for `vapi_` tools. If not available, tell the user to run:
17-
18-
```bash
19-
claude mcp add vapi -- npx -y @vapi-ai/mcp-server
20-
```
21-
22-
Then restart Claude Code and continue with Step 2.
23-
24-
### Step 2: Authenticate with Vapi
14+
### Step 1: Authenticate with Vapi
2515

2616
If the user hasn't authenticated yet (tools return auth errors):
2717

2818
1. Call `vapi_login` to start the OAuth flow
2919
2. Tell the user to open the provided URL and sign in
3020
3. Once authenticated, proceed with their request
3121

32-
### Step 3: Build the Voice Assistant
22+
### Step 2: Build the Voice Assistant
3323

34-
Before creating an assistant, read the prompt engineering guidelines from the MCP resource `vapi://prompt-guide` (available from the Vapi MCP server).
24+
Before creating an assistant, read the prompt engineering guidelines from the MCP resource `vapi://prompt-guide` from server `plugin:vapi:vapi` (use `ReadMcpResourceTool` with server `plugin:vapi:vapi` and uri `vapi://prompt-guide`).
3525

3626
Use these guidelines to craft effective voice assistant prompts based on what the user wants to build.
3727

@@ -70,19 +60,18 @@ Use these guidelines to craft effective voice assistant prompts based on what th
7060
**User:** "I want to build a voice assistant that can schedule appointments"
7161

7262
**Claude should:**
73-
1. Check for Vapi MCP -> install if needed
74-
2. Authenticate if needed
75-
3. Read the prompt guide resource for best practices
76-
4. Ask about their business to understand context
77-
5. Create an assistant with a scheduling-focused prompt
78-
6. Offer to set up a phone number
79-
7. Help create calendar integration tools if needed
63+
1. Authenticate if needed
64+
2. Read the prompt guide resource for best practices
65+
3. Ask about their business to understand context
66+
4. Create an assistant with a scheduling-focused prompt
67+
5. Offer to set up a phone number
68+
6. Help create calendar integration tools if needed
8069

8170
**User:** "Make me a phone bot that answers questions about my business"
8271

8372
**Claude should:**
84-
1. Ensure Vapi MCP is installed and authenticated
85-
2. Fetch the prompt guide for best practices
73+
1. Authenticate if needed
74+
2. Read the prompt guide resource for best practices
8675
3. Ask about the business: name, services, hours, common questions
8776
4. Craft a system prompt following the guidelines
8877
5. Create the assistant

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ function createMcpServer() {
136136
'vapi://prompt-guide',
137137
{ description: 'Voice assistant prompt engineering guide with best practices for crafting Vapi assistant prompts', mimeType: 'text/markdown' },
138138
async (uri) => {
139-
const guidePath = join(__dirname, '..', 'skill', 'PROMPT_GUIDE.md');
139+
const guidePath = join(__dirname, '..', 'skills', 'vapi', 'PROMPT_GUIDE.md');
140140
const content = readFileSync(guidePath, 'utf-8');
141141
return {
142142
contents: [{ uri: uri.href, text: content }],

0 commit comments

Comments
 (0)