UTCP-MCP Bridge
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@UTCP-MCP Bridge search for tools that can fetch weather data"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
UTCP-MCP Bridge
The last MCP server you'll ever need.
A universal, all-in-one MCP server that brings the full power of the Universal Tool Calling Protocol (UTCP) to the MCP ecosystem.
🚀 Quick Start
Add this configuration to your MCP client (Claude Desktop, etc.):
{
"mcpServers": {
"utcp": {
"command": "npx",
"args": ["@utcp/mcp-bridge"],
"env": {
"UTCP_CONFIG_FILE": "/path/to/your/.utcp_config.json"
}
}
}
}That's it! No installation required. The bridge will automatically:
Download and run the latest version via npx
Load your UTCP configuration from the specified path
Register all your UTCP manuals as MCP tools
Provide a unified interface to manage your tool ecosystem
Related MCP server: MCP Proxy Server
🔧 Configuration
Create a .utcp_config.json file to configure your tools and services:
{
"load_variables_from": [
{
"variable_loader_type": "dotenv",
"env_file_path": ".env"
}
],
"manual_call_templates": [
{
"name": "openlibrary",
"call_template_type": "http",
"http_method": "GET",
"url": "https://openlibrary.org/static/openapi.json",
"content_type": "application/json"
}
],
"post_processing": [
{
"tool_post_processor_type": "filter_dict",
"only_include_keys": ["name", "description"],
"only_include_tools": ["openlibrary.*"]
}
],
"tool_repository": {
"tool_repository_type": "in_memory"
},
"tool_search_strategy": {
"tool_search_strategy_type": "tag_and_description_word_match"
}
}Claude Code (CLI)
For Claude Code (the CLI / IDE extension), register the bridge as a user-scoped MCP server:
claude mcp add-json --scope user utcp '{"type":"stdio","command":"npx","args":["@utcp/mcp-bridge"],"env":{"UTCP_CONFIG_FILE":"/absolute/path/to/.utcp_config.json"}}'Then restart Claude Code. Verify with claude mcp list. Remove with claude mcp remove utcp --scope user.
🧪 Local development against the bridge
If you're hacking on @utcp/sdk or any other typescript-utcp package and want to exercise it through Claude Code, use the dev scripts:
cd utcp-mcp
npm install
npm run dev:register # builds typescript-utcp packages, overlays each into the bridge's node_modules, builds the bridge, and registers it as 'utcp-dev' in Claude Code
# restart Claude Code
# After every edit:
npm run dev:register # rebuilds, re-registers; restart Claude Code
# When done:
npm run dev:unregister # removes the MCP entry and restores registry node_modulesBoth scripts are idempotent and never mutate package.json. The overlay strategy avoids npm link, which under modern npm aliases unlink to uninstall --save and would silently strip the dependency.
The script expects the typescript-utcp checkout to live next to this repo (../typescript-utcp). Override with flags if not:
--lib-dir <path>— point at a different typescript-utcp checkout, or passnoneto skip the overlay step entirely (useful when only editing the bridge)--name <mcp-name>(defaultutcp-dev) — useful if you want the dev bridge alongside a published one--config <path>(default./.utcp_config.json) — point at a different UTCP config
🛠️ Available MCP Tools
The bridge exposes these MCP tools for managing your UTCP ecosystem:
register_manual- Register new UTCP manuals/APIsderegister_manual- Remove registered manualscall_tool- Execute any registered UTCP toolsearch_tools- Find tools by descriptionlist_tools- List all registered tool namesget_required_keys_for_tool- Get required environment variablestool_info- Get complete tool information and schema
📁 What is UTCP?
The Universal Tool Calling Protocol (UTCP) allows you to:
Connect to any API via HTTP, OpenAPI specs, or custom formats
Use command-line tools with automatic argument parsing
Process text and files with built-in utilities
Chain and combine multiple tools seamlessly
With this MCP bridge, all your UTCP tools become available in Claude Desktop and other MCP clients.
🌟 Features
✅ Zero installation - Works via npx
✅ Universal compatibility - Works with any MCP client
✅ Dynamic configuration - Update tools without restarting
✅ Environment isolation - Each project can have its own config
✅ Comprehensive tool management - Register, search, call, and inspect tools
✅ Web interface available - See web_ui_utcp_mcp_bridge/
🐍 Python Version
For Python users, see the standalone Python implementation in python_mcp_bridge/
🌐 Web Interface
For advanced management with a web UI, check out web_ui_utcp_mcp_bridge/
Available Tools
7 toolscall_toolCall a UTCP ToolB
Calls a registered tool by its full namespaced name.
Inputs: tool_name (required), arguments (required).
deregister_manualDeregister a UTCP ManualC
Deregisters a tool provider from the UTCP client.
Inputs: manual_name (required).
get_required_keys_for_toolGet Required Variables for ToolB
Get required environment variables for a registered tool.
Inputs: tool_name (required).
list_toolsList All Registered UTCP ToolsA
Returns a list of all tool names currently registered.
Inputs: no named parameters.
register_manualRegister a UTCP ManualB
Registers a new tool provider by providing its call template.
Inputs: manual_call_template (required).
search_toolsSearch for UTCP ToolsC
Searches for relevant tools based on a task description.
Inputs: task_description (required), limit.
tool_infoGet Tool InformationB
Get complete information about a specific tool including all details.
Inputs: tool_name (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool targets a distinct operation: calling, registering, deregistering, listing, searching, retrieving keys, and getting info. No two tools overlap in purpose.
Most tools follow verb_noun pattern (e.g., call_tool, list_tools), but tool_info uses noun_noun instead of get_tool_info, introducing a minor inconsistency.
With 7 tools covering registration, deregistration, listing, searching, calling, and info retrieval, the count is well-scoped for a bridge server.
The tool set covers the full lifecycle: register, deregister, list, search, call, and retrieve necessary information (keys and details). No obvious gaps for the intended purpose.
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
One MCP server exposing every tool in the Gumball portfolio.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP hub server that aggregates tools from multiple domain packages into a single globally-available interface.1MIT
- AlicenseNot gradedqualityDmaintenanceAggregates multiple backend MCP servers into a single unified interface with optional web management UI for tool control and configuration.120 npm195MIT
- FlicenseAqualityDmaintenanceUniversal MCP proxy server that discovers, searches, and executes tools across all configured MCP servers from a single entry point.7-
- FlicenseNot gradedqualityDmaintenanceMCP server with a web interface for viewing and calling tools via REST API, enabling easy tool management through a browser.-