Welcome to UMCP
UMCP (Unified MCP) solves MCP configuration sprawl by aggregating multiple upstream MCP servers behind one server entry. Instead of managing dozens of separate server configurations, UMCP gives you a single unified endpoint with intelligent namespacing and advanced features.Installation
Get started with npm, npx, or GitHub installation
Quick Start
Launch UMCP in under 5 minutes with real examples
Configuration
Configure providers, namespaces, and tool mappings
CLI Reference
Complete CLI command reference and flags
Core Features
Aggregation with Namespaced Tools
Aggregation with Namespaced Tools
UMCP exposes all upstream tools with a predictable three-segment naming convention:For example:
web_search.brave.searchweb_search.tavily.searchproject_mgmt.linear.add_task
Tool Aliasing
Tool Aliasing
Map upstream tool names to custom aliases in your config:This is especially useful when upstream tools have incompatible characters like dots in their names.
Round-Robin Environment Key Rotation
Round-Robin Environment Key Rotation
Distribute API calls across multiple keys automatically:UMCP rotates through keys on each invocation, perfect for rate limiting and load distribution. State is in-memory and resets on process restart.
Multi-Transport Support
Multi-Transport Support
UMCP bridges different transport protocols:Serve Transport (how clients connect to UMCP):
stdio- Standard input/outputhttp- Streamable HTTP endpoint
stdio- Command-line MCP serverssse- Server-Sent Eventsstreamable-http- HTTP-based MCP servers
Before and After
Before: Configuration Sprawl
Managing multiple MCP servers separately in your host config:After: Single Unified Endpoint
One UMCP entry that manages everything:web_search.brave.searchweb_search.tavily.searchproject_mgmt.linear.add_task
UMCP manages all provider connections, environment variables, and tool discovery internally via the
~/.config/umcp/umcp.jsonc configuration file.Naming Rules
To ensure canonical names remain deterministic as exactly three segments, UMCP enforces strict naming rules:Must match
[a-zA-Z0-9_-]+ (alphanumeric, underscores, hyphens only)Must match
[a-zA-Z0-9_-]+ (alphanumeric, underscores, hyphens only)Must match
[a-zA-Z0-9_-]+ (alphanumeric, underscores, hyphens only)Structured Logging
UMCP emits structured JSON logs tostderr for observability:
config.loaded,config.created,config.invalidprovider.connected,provider.disconnectedtool.discovered,tool.registered,tool.calledenv.rotateddry_run.complete
Requirements
Node.js
Version 20 or higher required
Config Format
Only
.jsonc files supported (JSON with comments)Next Steps
Install UMCP
Choose your preferred installation method: npm, npx, or GitHub
Ready to get started?
Install UMCP now and consolidate your MCP servers