Client compatibility
This page shows which AI clients work with ToolHive and how they connect to MCP servers.
Supported clients
We've tested ToolHive with these clients:
Client | Supported | Auto-configuration | Notes |
---|---|---|---|
GitHub Copilot (VS Code) | ✅ | ✅ | v1.102+ or Insiders version (see note) |
Cursor | ✅ | ✅ | v0.50.0+ |
Roo Code (VS Code) | ✅ | ✅ | v3.19.2+ |
Cline (VS Code) | ✅ | ✅ | v3.8.5+ (sse only; streamable-http issue) |
Claude Code CLI | ✅ | ✅ | v1.0.27+ |
Windsurf IDE | ✅ | ✅ | |
Windsurf (JetBrains) | ✅ | ✅ | |
Sourcegraph Amp CLI | ✅ | ✅ | |
Sourcegraph Amp (VS Code) | ✅ | ✅ | |
Sourcegraph Amp (Cursor) | ✅ | ✅ | |
Sourcegraph Amp (Windsurf) | ✅ | ✅ | |
GitHub Copilot (JetBrains) | ✅ | ❌ | v1.5.47+ |
Continue (VS Code) | ✅ | ❌ | v1.0.14+ |
Continue (JetBrains) | ✅ | ❌ | v1.0.23+ |
PydanticAI | ✅ | ❌ | v0.2.18+ |
ChatGPT Desktop | ❌ | ❌ | See workaround for STDIO-only clients |
Claude Desktop | ❌ | ❌ | See workaround for STDIO-only clients |
Kiro | ❌ | ❌ | See workaround for STDIO-only clients |
The minimum versions listed are the earliest versions that support the Streamable HTTP transport protocol.
You can also use other clients and development libraries that support the SSE and/or Streamable HTTP protocol, but you'll need to configure them manually.
Client requirements
To work with ToolHive, your client needs to:
- Support the Model Context Protocol (MCP)
- Connect to MCP servers using the server-sent events (SSE) or Streamable HTTP transport protocol
- Have the correct MCP server URL configured
Automatic configuration support
ToolHive can automatically configure supported clients to connect to MCP servers. See the UI client configuration or CLI client configuration guide for more details.
Check the table above to see which clients support automatic configuration.
For other clients, you'll need to set up the MCP server URL yourself.
Configuration locations
ToolHive manages client configurations in their standard locations.
VS Code with Copilot
GitHub Copilot in VS Code stores its global MCP configuration in your VS Code user settings file.
VS Code versions prior to v1.102 stored MCP server settings in the main
settings.json
file. As of v1.102, this has moved to a dedicated mcp.json
file.
ToolHive v0.2.0 and works with VS Code 1.102+ and updates the mcp.json
file
when you run an MCP server.
If you're using an older version of either ToolHive or VS Code, automatic client configuration will not work as expected and you will need to manually update your configurations. We recommend upgrading both for the best experience.
Standard version:
- macOS:
~/Library/Application Support/Code/User/mcp.json
- Linux:
~/.config/Code/User/mcp.json
Insiders edition:
- macOS:
~/Library/Application Support/Code - Insiders/User/mcp.json
- Linux:
~/.config/Code - Insiders/User/mcp.json
Example configuration:
{
"servers": {
"github": { "url": "http://localhost:19046/sse#github", "type": "sse" },
"fetch": { "url": "http://localhost:43832/sse#fetch", "type": "sse" },
"osv": { "url": "http://localhost:51712/mcp", "type": "http" }
}
}
When you register VS Code as a client, ToolHive automatically updates the global
MCP configuration file whenever you run an MCP server. You can also
configure project-specific MCP servers
by creating a .vscode/mcp.json
file in your project directory.
Cursor
Cursor stores its global MCP configuration in a JSON file in your home directory.
- All platforms:
~/.cursor/mcp.json
Example configuration:
{
"mcpServers": {
"github": { "url": "http://localhost:19046/sse#github" },
"fetch": { "url": "http://localhost:43832/sse#fetch" },
"osv": { "url": "http://localhost:51712/mcp" }
}
}
Cursor automatically detects the transport mode for HTTP MCP servers.
When you register Cursor as a client, ToolHive automatically updates the global
MCP configuration file whenever you run an MCP server. You can also
configure project-specific MCP servers
by creating a .cursor/mcp.json
file in your project directory.
Claude Code
Claude Code stores its global (user scope) MCP configuration in a JSON file in your home directory.
- All platforms:
~/.claude.json
Example configuration:
{
// Other Claude Code settings...
"mcpServers": {
"github": { "url": "http://localhost:19046/sse#github", "type": "sse" },
"fetch": { "url": "http://localhost:43832/sse#fetch", "type": "sse" },
"osv": { "url": "http://localhost:51712/mcp", "type": "http" }
}
}
When you register Claude Code as a client, ToolHive automatically updates the
global MCP configuration file whenever you run an MCP server. You can also
configure project-specific MCP servers
by creating a .mcp.json
file in your project directory, or add servers using
the claude
CLI:
claude mcp add --scope <user|project> --transport sse fetch http://localhost:43832/sse#fetch
Roo Code and Cline
Roo Code (previously Roo Cline) and Cline store their global MCP configuration in their VS Code extension settings directory. Both use the same configuration format.
Roo Code:
- macOS:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
- Linux:
~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
Cline:
- macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Example configuration:
{
"mcpServers": {
"github": { "url": "http://localhost:19046/sse#github", "type": "sse" },
"fetch": { "url": "http://localhost:43832/sse#fetch", "type": "sse" },
"osv": { "url": "http://localhost:51712/mcp", "type": "streamable-http" }
}
}
When you register Roo Code or Cline as a client, ToolHive automatically updates
the global MCP configuration file whenever you run an MCP server. With Roo Code,
you can also configure
project-specific MCP servers
by creating a .roo/mcp.json
file in your project directory.
Manual configuration
If your client doesn't support automatic configuration, you'll need to set up the MCP server URL manually.
Example: PydanticAI
For PydanticAI, set the MCP server URL in your code:
from pydantic_ai.mcp import MCPServerSSE
from pydantic_ai.mcp import MCPServerStreamableHTTP
# For Server-Sent Events (SSE)
server = MCPServerSSE(url='http://localhost:43832/sse#fetch')
# For Streamable HTTP
server = MCPServerStreamableHTTP(url='http://localhost:51712/mcp')
Example: Continue
For the Continue extension in VS Code or JetBrains, edit
your ~/.continue/config.yaml
file or project-specific
.continue/mcpServers/<name>.yaml
file to include the MCP server URL:
mcpServers:
- name: fetch
type: sse
url: http://localhost:43832/sse#fetch
Continue supports SSE (type: sse
) and Streamable HTTP
(type: streamable-http
) transports.
Example: Copilot for JetBrains IDEs
For the
GitHub Copilot plugin in JetBrains IDEs
(IntelliJ, Pydantic, etc.), edit your ~/.config/github-copilot/mcp.json
file
to include the MCP server URL:
{
"servers": {
"fetch": { "url": "http://localhost:43832/sse#fetch", "type": "sse" },
"osv": { "url": "http://localhost:51712/mcp", "type": "http" }
}
}
Copilot for JetBrains supports SSE ("type": "sse"
) and Streamable HTTP
("type": "streamable-http"
) transports.
STDIO-only client configuration
If your client only supports the STDIO transport, you can use the remote-mcp npm package to proxy the ToolHive MCP sever over STDIO.
Example configuration:
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:19046/sse#github",
"--transport",
"sse"
]
}
}
}