MCP Client
4 minute read
Toolbox SDKs vs Model Context Protocol (MCP)
Toolbox supports connections via the Model Context Protocol (MCP). However, Toolbox has several features which are not supported in the MCP specification (such as Authenticated Parameters and Authorized invocation).
We recommend using the native Toolbox Client SDKs over MCP clients to leverage these features. The Toolbox SDKs can be combined with MCP clients in many cases.
Protocol Versions
Toolbox currently supports the following versions of MCP specification:
Secure Parameters and MCP Clients
Secure Parameters are supported on MCP protocol version 2026-07-28 or newer via the com.google.cloud/toolbox.v1 extension.
- Extension Negotiation: MCP clients declare support for this extension in
params._meta["io.modelcontextprotocol/clientCapabilities"].extensions["com.google.cloud/toolbox.v1"]. - Manifests (
tools/list): When negotiated, tools define application-controlled parameters undersecureInputSchemaalongside regular model parameters ininputSchema. - Invocations (
tools/call): Secure parameters are passed out-of-band inparams.secureArguments, while model-generated arguments are passed inparams.arguments. - Fallback for Generic MCP Clients: Tools that require secure parameters are automatically filtered out from
tools/listresponses for clients that have not negotiated thecom.google.cloud/toolbox.v1extension (or clients using protocol versions prior to2026-07-28). Attempting to call a secure tool directly without negotiated capability returns:- On protocol
2026-07-28:MissingRequiredClientCapabilityError(JSON-RPC code-32021). - On protocol versions prior to
2026-07-28:ToolNotFoundError/INVALID_PARAMS(JSON-RPC code-32602, “tool does not exist”), as secure tools are completely hidden from older protocols.
- On protocol
- Injection Defense: If a client or model attempts to pass a secure parameter inside standard
arguments, the server rejects the parameter and returns a tool execution error (isError: true).
Toolbox AuthZ/AuthN Not Supported by MCP
The auth implementation in Toolbox is not supported in MCP’s auth specification. This includes:
Connecting to Toolbox with an MCP client
Before you begin
Note
MCP is only compatible with Toolbox version 0.3.0 and above.
Install Toolbox version 0.3.0+.
Make sure you’ve set up and initialized your database.
Set up your
tools.yamlfile.
Connecting via Standard Input/Output (stdio)
Toolbox supports the
stdio
transport protocol. Users that wish to use stdio will have to include the
--stdio flag when running Toolbox.
./toolbox --stdio
When running with stdio, Toolbox will listen via stdio instead of acting as a
remote HTTP server. Logs will be set to the warn level by default. debug and
info logs are not supported with stdio.
Note
Toolbox enables dynamic reloading by default. To disable, use the
--disable-reload flag.
Connecting via HTTP
Toolbox supports the HTTP transport protocol with and without SSE.
Add the following configuration to your MCP client configuration:
{
"mcpServers": {
"toolbox": {
"type": "sse",
"url": "http://127.0.0.1:5000/mcp/sse",
}
}
}
If you would like to connect to a specific toolset, replace url with
"http://127.0.0.1:5000/mcp/{toolset_name}/sse".
HTTP with SSE is only supported in version 2024-11-05 and is currently
deprecated.
Add the following configuration to your MCP client configuration:
{
"mcpServers": {
"toolbox": {
"type": "http",
"url": "http://127.0.0.1:5000/mcp",
}
}
}
If you would like to connect to a specific toolset, replace url with
"http://127.0.0.1:5000/mcp/{toolset_name}".
Using the MCP Inspector with Toolbox
Use MCP Inspector for testing and debugging Toolbox server.
Run Inspector with Toolbox as a subprocess:
npx @modelcontextprotocol/inspector ./toolbox --stdioFor
Transport Typedropdown menu, selectSTDIO.In
Command, make sure that it is set to :./toolbox(or the correct path to where the Toolbox binary is installed).In
Arguments, make sure that it’s filled with--stdio.Click the
Connectbutton. It might take awhile to spin up Toolbox. Voila! You should be able to inspect your toolbox tools!
In a separate terminal, run Inspector directly through
npx:npx @modelcontextprotocol/inspectorFor
Transport Typedropdown menu, selectSSE.For
URL, type inhttp://127.0.0.1:5000/mcp/sseto use all tool orhttp//127.0.0.1:5000/mcp/{toolset_name}/sseto use a specific toolset.Click the
Connectbutton. Voila! You should be able to inspect your toolbox tools!
In a separate terminal, run Inspector directly through
npx:npx @modelcontextprotocol/inspectorFor
Transport Typedropdown menu, selectStreamable HTTP.For
URL, type inhttp://127.0.0.1:5000/mcpto use all tool orhttp//127.0.0.1:5000/mcp/{toolset_name}to use a specific toolset.Click the
Connectbutton. Voila! You should be able to inspect your toolbox tools!
Tested Clients
| Client | SSE Works | MCP Config Docs |
|---|---|---|
| Claude Desktop | ✅ | https://modelcontextprotocol.io/quickstart/user#1-download-claude-for-desktop |
| MCP Inspector | ✅ | https://github.com/modelcontextprotocol/inspector |
| Cursor | ✅ | https://docs.cursor.com/context/model-context-protocol |
| Windsurf | ✅ | https://docs.windsurf.com/windsurf/cascade/mcp#model-context-protocol-mcp |
| VS Code (Insiders) | ✅ | https://code.visualstudio.com/docs/copilot/chat/mcp-servers |
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.