Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1098,6 +1098,9 @@ navigation:
- page: MCP server
path: sdk/mcp-server.mdx
icon: fa-light fa-server
- link: MCP tools
href: /tools/mcp
icon: fa-light fa-network-wired

- tab: sdks
layout:
Expand Down
81 changes: 66 additions & 15 deletions fern/sdk/mcp-server.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -197,24 +197,75 @@ If your client can't connect to a remote server directly, run it through the `mc

## Core tools

The Vapi MCP Server exposes these tools:

| Tool | Description | Example usage |
|------------------------|--------------------------------------------------|-----------------------------------------------|
| `ask_vapi_docs` | Search Vapi documentation | Ask how a Vapi feature works |
| `list_assistants` | List all Vapi assistants | Show all configured assistants |
| `create_assistant` | Create a new Vapi assistant | Add a new assistant for a use case |
| `get_assistant` | Get a Vapi assistant by ID | View assistant config |
| `list_calls` | List all calls | Review call activity |
| `create_call` | Create an outbound call (now or scheduled) | Initiate or schedule a call |
| `get_call` | Get details for a specific call | Check status or result of a call |
| `list_phone_numbers` | List all Vapi phone numbers | See available numbers |
| `get_phone_number` | Get details of a specific phone number | Inspect a phone number |
| `list_tools` | List all available Vapi tools | Tool discovery |
| `get_tool` | Get details of a specific tool | Tool integration info |
The Vapi MCP Server exposes these tools. The hosted server and the [local server](#run-the-server-locally) expose the same set.

### Documentation and reference

| Tool | Description |
|------------------|-----------------------------------------------------------------------------|
| `ask_vapi_docs` | Search Vapi documentation and return relevant passages with source URLs |
| `get_api_schema` | Look up a schema in the Vapi API reference, the OpenAPI spec the SDKs are generated from |
| `search_skills` | Find Vapi agent skills in the public `VapiAI/skills` repository |
| `load_skill` | Read a public Vapi skill or one of its supporting files |

`load_skill` returns instructions for the agent to follow. It does not install skills or run scripts.

### Assistants

| Tool | Description |
|--------------------|------------------------------------|
| `list_assistants` | List all Vapi assistants |
| `get_assistant` | Get a Vapi assistant by ID |
| `create_assistant` | Create a new Vapi assistant |
| `update_assistant` | Update an existing Vapi assistant |

### Calls

| Tool | Description |
|---------------|------------------------------------|
| `list_calls` | List all calls |
| `get_call` | Get details for a specific call |
| `create_call` | Create an outbound call, now or scheduled |

To schedule a call, pass the optional `scheduledAt` parameter to `create_call`. `create_call` places a real phone call.

### Phone numbers

| Tool | Description |
|----------------------|----------------------------------------|
| `list_phone_numbers` | List all Vapi phone numbers |
| `get_phone_number` | Get details of a specific phone number |

### Vapi tools

| Tool | Description |
|---------------|-----------------------------------|
| `list_tools` | List all Vapi tools |
| `get_tool` | Get details of a specific tool |
| `create_tool` | Create a new Vapi tool |
| `update_tool` | Update an existing Vapi tool |

### Simulations

These tools drive [simulations](/observability/simulations-overview), which test an assistant against scripted callers.

| Tool | Description |
|----------------------------------|-----------------------------------------------------------------------------|
| `list_simulation_personalities` | List simulation personalities, the simulated callers used in simulations |
| `create_simulation_personality` | Create a simulated caller that talks to the assistant under test |
| `list_simulation_scenarios` | List simulation scenarios, the scripts testers follow and the checks that decide pass or fail |
| `create_simulation_scenario` | Create a scenario: tester instructions plus the evaluations that decide pass or fail |
| `list_simulations` | List simulations, each pairing one scenario with one personality |
| `create_simulation` | Create a simulation that pairs a scenario with a personality |
| `list_simulation_suites` | List simulation suites, which are named groups of simulations |
| `create_simulation_suite` | Create a suite that groups simulations so they can be run together |
| `run_simulations` | Start a run of simulations or suites against an assistant or squad |
| `list_simulation_runs` | List simulation runs, newest first |
| `get_simulation_run` | Get a run with its status, item counts, and item summaries |
| `get_simulation_run_item` | Get one run item in full, including results, call snapshots, and transcript |

`run_simulations` places real calls against the assistant you point it at.

## Use the server from your own code

Connect any MCP client to `https://mcp.vapi.ai/mcp` over Streamable HTTP, and send your Vapi API key in the `Authorization: Bearer YOUR_VAPI_API_KEY` header.
Expand Down
Loading