Skip to main content
Glama

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_modules

Both 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 pass none to skip the overlay step entirely (useful when only editing the bridge)

  • --name <mcp-name> (default utcp-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/APIs

  • deregister_manual - Remove registered manuals

  • call_tool - Execute any registered UTCP tool

  • search_tools - Find tools by description

  • list_tools - List all registered tool names

  • get_required_keys_for_tool - Get required environment variables

  • tool_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 tools
call_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

    A3.6/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool targets a distinct operation: calling, registering, deregistering, listing, searching, retrieving keys, and getting info. No two tools overlap in purpose.

    Naming Consistency4/5

    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.

    Tool Count5/5

    With 7 tools covering registration, deregistration, listing, searching, calling, and info retrieval, the count is well-scoped for a bridge server.

    Completeness5/5

    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

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Aggregates multiple backend MCP servers into a single unified interface with optional web management UI for tool control and configuration.
      120 npm
      195
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      Universal MCP proxy server that discovers, searches, and executes tools across all configured MCP servers from a single entry point.
      7
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server with a web interface for viewing and calling tools via REST API, enabling easy tool management through a browser.
      -