> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voiceblox.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Servers

> Connect Model Context Protocol servers to give your agent access to external tools.

# MCP Servers

The MCP node connects your agent to a [Model Context Protocol](https://modelcontextprotocol.io) server, exposing its tools to the LLM. The agent can call these tools during a conversation to fetch data, run actions, or interact with external systems.

## Adding an MCP node

1. Drag the **MCP** node from the sidebar (Tools category) onto the canvas
2. Connect its output handle to the Agent node's `tools_in` handle
3. Configure the node parameters

## Parameters

| Parameter       | Type           | Required | Description                                         |
| --------------- | -------------- | -------- | --------------------------------------------------- |
| `serverUrl`     | string         | ✅        | The MCP server's HTTP endpoint URL                  |
| `authType`      | enum           | —        | Authentication type: `none`, `bearer`, or `api_key` |
| `authValue`     | string         | —        | The token or API key value (if auth is enabled)     |
| `selectedTools` | tool\_selector | —        | Which tools from the server to expose to the LLM    |

## Discovering tools

After entering a `serverUrl`, click **Load Tools** in the Properties Panel. Voiceblox calls `/api/mcp-tools` to fetch the tool list from the server. You'll see each tool's name and description. Check the tools you want to expose.

## How it works at runtime

When the agent is running and the LLM decides to call a tool:

1. The agent connects to the MCP server via `StreamableHTTPClientTransport`
2. It calls `callTool()` with the tool name and arguments
3. The result is streamed back to the LLM as tool output
4. The agent publishes a `tool_call` event (visible in step highlighting)

## Authentication

For servers that require authentication:

* **Bearer token:** Set `authType` to `bearer` and paste your token in `authValue`. The server receives `Authorization: Bearer {token}`.
* **API key:** Set `authType` to `api_key` and paste your key in `authValue`. The server receives `x-api-key: {key}`.

## Multiple MCP servers

You can connect multiple MCP nodes to the same Agent node via the `tools_in` handle (unlimited connections). The agent will have access to all selected tools from all connected servers.
