Use Case
You want to:- Use multiple search APIs (Brave and Tavily) in your LLM workflows
- Avoid managing separate MCP server entries for each provider
- Get namespaced tools like
web_search.brave.searchandweb_search.tavily.search - Rotate API keys automatically for rate limiting
Before: Separate Servers
Without UMCP, your host MCP client config would require separate entries:- Two separate server connections
- Tools named just
search(conflicts) - No automatic key rotation
- More complex configuration management
After: Unified with UMCP
Step 1: Configure UMCP
Create or edit~/.config/umcp/umcp.jsonc:
Step 2: Update Host Client Config
Replace the two separate entries with a single UMCP entry:Resulting Tools
Your host MCP client will now see these namespaced tools:web_search.brave.search- Search using Brave APIweb_search.tavily.search- Search using Tavily APIweb_search.tavily.*- Any other tools Tavily provides (auto-discovered)
{category}.{provider}.{tool}
Key Features Demonstrated
Round-Robin API Key Rotation
Notice the Brave configuration uses an array of API keys:Tool Aliasing
Brave explicitly maps the upstreamsearch tool:
web_search.brave.search in the final namespace.
Auto-Discovery
Tavily omits thetools field entirely, so UMCP automatically discovers and exposes all tools from the Tavily MCP server.
Testing the Configuration
Validate your configuration:Benefits
✓ Single MCP server entry in your host config ✓ Clear tool naming: know which provider you’re using ✓ Automatic API key rotation for better rate limiting ✓ Easy to add more search providers later ✓ Centralized configuration inumcp.jsonc