mcp-server-orchestrator
SKILL.md
MCP Server Orchestrator
Manage MCP server infrastructure for AI-powered development workflows.
MCP Architecture Overview
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │────▶│ MCP Server │────▶│ External APIs │
│ (Claude, etc.) │◀────│ (Tool Provider) │◀────│ (Services) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │
└───── JSON-RPC ────────┘
Key concepts:
- Server: Provides tools, resources, and prompts via MCP protocol
- Client: Consumes server capabilities (Claude Desktop, Claude Code, etc.)
- Transport: Communication layer (stdio, SSE, WebSocket)
Configuration Locations
| Client | Config File | Platform |
|---|---|---|
| Claude Desktop | claude_desktop_config.json |
macOS: ~/Library/Application Support/Claude/ |
Windows: %APPDATA%\Claude\ |
||
| Claude Code | settings.json or MCP config |
Project-level or user settings |
| Cline | cline_mcp_settings.json |
VS Code extension settings |
Server Configuration Schema
{
"mcpServers": {
"server-name": {
"command": "executable",
"args": ["arg1", "arg2"],
"env": {
"API_KEY": "value"
},
"disabled": false
}
}
}
Common Server Types
Python Server (uvx):
{
"my-python-server": {
"command": "uvx",
"args": ["--from", "package-name", "server-command"]
}
}
Node Server (npx):
{
"my-node-server": {
"command": "npx",
"args": ["-y", "@scope/package-name"]
}
}
Local Development Server:
{
"dev-server": {
"command": "python",
"args": ["-m", "my_server"],
"env": {
"DEBUG": "true"
}
}
}
Troubleshooting Workflow
Connection Issues
-
Verify server starts independently:
# Test Python server python -m my_server # Test Node server npx -y @scope/package-name -
Check logs:
- Claude Desktop:
~/Library/Logs/Claude/mcp*.log - Look for JSON-RPC errors, connection timeouts
- Claude Desktop:
-
Validate JSON config:
python -c "import json; json.load(open('config.json'))" -
Common fixes:
- Use absolute paths for commands
- Ensure dependencies installed in correct environment
- Check API keys/env vars are set
- Restart client after config changes
Authentication Issues
- OAuth flows: Ensure redirect URIs configured correctly
- API keys: Verify env vars accessible to server process
- Token refresh: Check token storage location and permissions
Building Custom Servers
Python Server (FastMCP)
from fastmcp import FastMCP
mcp = FastMCP("my-server")
@mcp.tool()
def my_tool(param: str) -> str:
"""Tool description for the AI."""
return f"Result: {param}"
@mcp.resource("resource://my-data")
def get_data() -> str:
"""Provide data as a resource."""
return "Resource content"
if __name__ == "__main__":
mcp.run()
Node Server (MCP SDK)
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
const server = new Server({ name: "my-server", version: "1.0.0" }, {
capabilities: { tools: {} }
});
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [{
name: "my_tool",
description: "Tool description",
inputSchema: { type: "object", properties: { param: { type: "string" } } }
}]
}));
const transport = new StdioServerTransport();
await server.connect(transport);
Multi-Server Orchestration
Modular Architecture
Organize servers by domain:
{
"mcpServers": {
"filesystem": { "command": "...", "args": ["--allowed-dirs", "/projects"] },
"database": { "command": "...", "env": { "DB_URL": "..." } },
"api-integrations": { "command": "...", "env": { "API_KEYS": "..." } },
"custom-tools": { "command": "python", "args": ["-m", "my_tools"] }
}
}
Server Selection Strategy
Think of servers as modules in a synthesizer—patch them together based on workflow needs:
- Development workflow: filesystem + git + code-analysis servers
- Research workflow: web-search + document + note-taking servers
- Data workflow: database + visualization + export servers
Performance Optimization
- Lazy loading: Only enable servers needed for current task
- Caching: Implement response caching for expensive operations
- Timeout tuning: Adjust timeouts for slow external APIs
- Connection pooling: Reuse connections in database servers
References
references/server-templates.md- Boilerplate for common server typesreferences/debugging-guide.md- Detailed troubleshooting procedures
Weekly Installs
2
Repository
4444j99/a-i--skillsGitHub Stars
3
First Seen
6 days ago
Security Audits
Installed on
amp2
cline2
openclaw2
opencode2
cursor2
kimi-cli2