utcp-specification
The specification for the Universal Tool Calling Protocol
claude mcp add --transport stdio universal-tool-calling-protocol-utcp-specification python -m utcp.mcp \ --env UTCP_MCP_BIND="host:port to bind MCP server (default: 0.0.0.0:8000)" \ --env UTCP_LOG_LEVEL="INFO (options: DEBUG, INFO, WARNING, ERROR)"
How to use
The UTCP Specification repository provides the Universal Tool Calling Protocol (UTCP), a standardized framework for discovering and invoking tools across diverse protocols. UTCP allows clients to discover tools, select appropriate templates, and call them through pluggable protocol adapters such as HTTP, WebSocket, CLI, and MCP. This MCP server component exposes the UTCP-compatible endpoints and tool-call interfaces to enable programmatic tool access within the MCP ecosystem. By running the MCP server, you enable downstream clients and tooling to register, discover, and execute UTCP-enabled tools in a consistent, protocol-agnostic manner. The server collaborates with the UTCP core and protocol plugins to route tool calls, handle authentication, and validate responses.
Using the MCP server typically involves starting the service, registering available tools or connectors, and then issuing tool-call requests via the MCP-compatible client interface. Tools can be discovered through the UTCP discovery mechanisms, and calls are structured in UTCP’s standardized formats, with templates, parameters, and authentication as defined by the core specification. Operators can extend functionality by adding new plugins or providers compatible with UTCP’s plugin architecture, enabling tool execution across HTTP, WebSocket, CLI, text, or MCP channels.
How to install
Prerequisites:
- Python 3.8+ (or a suitable Python environment)
- Ensure pip is available
Step-by-step installation:
-
Create a virtual environment (optional but recommended): python -m venv .venv source .venv/bin/activate # Unix/macOS ..venv\Scripts\activate # Windows
-
Install the core UTCP package and MCP plugin (adjust versions as needed): pip install utcp utcp-mcp
-
Install additional protocol plugins if you plan to use HTTP, WebSocket, or CLI adapters: pip install utcp-http utcp-websocket utcp-cli utcp-text
-
Verify installation by listing installed packages or running a quick help command (example): python -m utcp --help
-
Run the MCP server (see mcp_config): python -m utcp.mcp
Prerequisites recap: Python 3.8+, pip, and network access to install required UTCP packages. If you’re behind a corporate proxy, configure HTTP(S)_PROXY accordingly before installing.
Additional notes
Notes and tips:
- The MCP server relies on UTCP’s plugin architecture; to extend capabilities, add or configure additional protocol plugins or tool providers via standard UTCP plugin patterns.
- Common environment variables: UTCP_LOG_LEVEL (DEBUG, INFO, WARNING, ERROR) and UTCP_MCP_BIND (host:port) to control logging and binding address.
- If tool discovery or authentication fails, verify that the URIs, templates, and credentials conform to the UTCP v1.0 specification and that the MCP server has access to the required providers.
- Ensure that the Python environment used to run the MCP server has network access to any external tool providers or services that UTCP will call.
- For debugging, enable verbose logging and check the MCP server logs for any disallowed or misformatted requests.
Related MCP Servers
python-utcp
Official python implementation of UTCP. UTCP is an open standard that lets AI agents call any API directly, without extra middleware.
outline
It's an MCP server... for Outline (the documentation platform!)
go-utcp
Official Go implementation of the UTCP
CanvasMCPClient
Canvas MCP Client is an open-source, self-hostable dashboard application built around an infinite, zoomable, and pannable canvas. It provides a unified interface for interacting with multiple MCP (Model Context Protocol) servers through a flexible, widget-based system.
rs-utcp
Official Rust implementation of the UTCP
PRD
Flagship Model Context Protocol server for generating Product Requirement Documents (PRDs) from codebase context.