Provides tools for web and local search functionality using the Brave Search API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Nexus - Cloudflare WorkersResearch the current market trends for humanoid robots in 2024"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Nexus - Cloudflare Workers
One-click deployment of MCP Nexus to Cloudflare's free tier. This provides a unified MCP server for Tavily and Brave Search APIs with automatic API key rotation.
Features
Zero-cost hosting on Cloudflare Workers free tier
D1 Database for persistent storage (automatic provisioning)
Encrypted API keys with Web Crypto API
Admin UI included - Full web interface for managing keys and tokens
7 MCP tools: tavily_search, tavily_extract, tavily_crawl, tavily_map, tavily_research, brave_web_search, brave_local_search
Deploy
Option 1: One-Click Deploy
Click the button above and follow the prompts. You'll be asked to:
Authorize Cloudflare to access your GitHub (fork will be created)
Configure secrets:
ADMIN_API_TOKEN: Token for admin API access (generate withopenssl rand -hex 32)KEY_ENCRYPTION_SECRET: Key for encrypting API keys (generate withopenssl rand -base64 32)
Option 2: Manual Deploy
# Clone the repo
git clone https://github.com/ykq007/mcp-nexus.git
cd mcp-nexus/packages/worker
# Install dependencies
npm install
# Create D1 database
npx wrangler d1 create mcp-nexus-db
# Copy the database_id from output to wrangler.jsonc
# Set secrets
npx wrangler secret put ADMIN_API_TOKEN
npx wrangler secret put KEY_ENCRYPTION_SECRET
# Run migrations and deploy
npm run deployPost-Deployment Setup
After deployment, you need to add API keys and create client tokens.
1. Add Tavily API Keys
curl -X POST https://your-worker.workers.dev/admin/api/tavily-keys \
-H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"label": "Primary Key", "key": "tvly-xxxxx"}'2. Add Brave API Keys (Optional)
curl -X POST https://your-worker.workers.dev/admin/api/brave-keys \
-H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"label": "Primary Key", "key": "BSAxxxxx"}'3. Create Client Token
curl -X POST https://your-worker.workers.dev/admin/api/tokens \
-H "Authorization: Bearer YOUR_ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"description": "Claude Desktop"}'Save the returned token - it's only shown once.
MCP Client Configuration
Claude Desktop / Cline
{
"mcpServers": {
"mcp-nexus": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-proxy", "https://your-worker.workers.dev/mcp"],
"env": {
"MCP_HEADERS": "Authorization: Bearer YOUR_CLIENT_TOKEN"
}
}
}
}Direct HTTP
curl -X POST https://your-worker.workers.dev/mcp \
-H "Authorization: Bearer YOUR_CLIENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/list",
"id": 1
}'API Endpoints
Endpoint | Auth | Description |
| Client Token | MCP JSON-RPC endpoint |
| None | Health check |
| Admin Token | List Tavily keys |
| Admin Token | Add Tavily key |
| Admin Token | Delete Tavily key |
| Admin Token | List Brave keys |
| Admin Token | Add Brave key |
| Admin Token | Delete Brave key |
| Admin Token | List client tokens |
| Admin Token | Create client token |
| Admin Token | Revoke client token |
| Admin Token | Get settings |
| Admin Token | Update settings |
| Admin Token | View usage logs |
Local Development
# Install dependencies
npm install
# Create local D1 database
npm run db:migrate:local
# Start dev server
npm run devArchitecture
┌─────────────────────────────────────────────────────────┐
│ Cloudflare Workers │
├─────────────────────────────────────────────────────────┤
│ Hono Router │
│ ├── /mcp (MCP JSON-RPC) │
│ ├── /admin/api/* (Admin API) │
│ └── /health │
├─────────────────────────────────────────────────────────┤
│ Services │
│ ├── Key Pool (rotation, cooldown) │
│ ├── Tavily Client │
│ └── Brave Client │
├─────────────────────────────────────────────────────────┤
│ D1 Database │
│ ├── tavily_keys (encrypted) │
│ ├── brave_keys (encrypted) │
│ ├── client_tokens (hashed) │
│ ├── server_settings │
│ └── usage_logs │
└─────────────────────────────────────────────────────────┘License
MIT