The last MCP server you'll ever need.
UTCP-MCP Bridge is a universal, all-in-one MCP server that brings the full power of the Universal Tool Calling Protocol (UTCP) to the MCP ecosystem. With this project, you can:
- Use UTCP as a proxy: Instantly expose all tools registered via UTCP as MCP-compatible tools, making them available to any MCP client.
- Use the UTCP client directly: Register and deregister providers, search and call tools — unlocking the main functions of the UTCP client from a single place.
- Web interface: Easily manage your tools and providers through a user-friendly web UI. Register and deregister providers, enable and disable tools, and much more — all with just a few clicks. More features are coming soon!
With UTCP-MCP Bridge, you only need to install one MCP server to access, manage, and extend your tool ecosystem—no matter how you want to use it.

For a quick standalone setup using just the UTCP client MCP:
Ensure you have uv installed on your system. You can install it via:
# Using pipx (recommended)
pipx install uv
# Using pip
pip install uv
# Or follow the official installation guide above
Download the simple-utcp-client-mcp.py
file to your desired location.
Add the following configuration to your MCP client:
{
"mcpServers": {
"simple-utcp-client-mcp": {
"command": "uv",
"args": [
"run",
"--script",
"path\\to\\simple-utcp-client-mcp.py"
]
}
}
}
Create a .utcp_config.json
file in the same directory as the python script to:
- Set environment variables (optional)
- Register providers on startup (optional)
- Load variables from .env files (optional)
Example .utcp_config.json
:
{
"variables": {
"example_var": "value"
},
"providers_file_path": "path\\to\\providers.json",
"load_variables_from": [
{
"type": "dotenv",
"env_file_path": "path\\to\\.env"
}
]
}
You can run the UTCP-MCP Bridge in two ways: using Docker or a local bash script.
Ensure you have Docker and Docker Compose installed.
docker-compose up --build
Ensure you have Python 3 installed.
./run.sh
Ensure you have Python 3 installed.
./run.ps1
This will:
- Set up a Python virtual environment with all dependencies or build the Docker image
- Start the MCP servers and WEB server
- Expose the following ports:
8776
(UTCP Client MCP)8777
(UTCP Proxy MCP)8778
(FastAPI web server)
To connect your MCP client to the UTCP-MCP Bridge, add the following entries to your client's mcp.json
(or equivalent configuration file):
{
"mcpServers": {
// any other mcp servers
"utcp-proxy-mcp-local": {
"url": "http://localhost:8777/utcp-proxy"
},
"utcp-client-mcp-local": {
"url": "http://localhost:8776/utcp-client"
}
}
}
{
"servers": {
// any other mcp servers
"utcp-proxy-mcp-local": {
"url": "http://localhost:8777/utcp-proxy",
"type": "http"
},
"utcp-client-mcp-local": {
"url": "http://localhost:8776/utcp-client",
"type": "http"
}
},
"inputs": []
}
utcp-proxy-mcp-local
connects to the UTCP Proxy MCP server (port 8777)utcp-client-mcp-local
connects to the UTCP Client MCP server (port 8776)
Adjust the URLs if you are running the server on a different host or port.
Web Interface to view and manage providers and tools is accessible in any browser at http://localhost:8778/

- Provider and tool definitions are loaded from the
data/
directory (e.g.,data/providers.json
). - Environment variables can be set in Docker Compose or your shell to customize ports and paths.
/
– Web UI/health
– Health check and status/tools
– List available tools/providers
– List available providers
utcp
fastmcp
fastapi
python-dotenv
All dependencies are installed automatically by the Docker image or the bash script.