Claude-skill-registry-data mcp-server-orchestrator
Configure, deploy, and troubleshoot Model Context Protocol (MCP) servers for AI agent workflows. Use when setting up MCP servers, debugging connection issues, managing multi-server configurations, integrating with Claude Desktop/Code/Cowork, or designing custom tool servers. Triggers on MCP configuration, tool server development, Claude integration issues, or agent infrastructure setup.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry-data
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry-data "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/mcp-server-orchestrator" ~/.claude/skills/majiayu000-claude-skill-registry-data-mcp-server-orchestrator && rm -rf "$T"
manifest:
data/mcp-server-orchestrator/SKILL.mdsource content
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 | | macOS: |
Windows: | ||
| Claude Code | or MCP config | Project-level or user settings |
| Cline | | 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
- Boilerplate for common server typesreferences/server-templates.md
- Detailed troubleshooting proceduresreferences/debugging-guide.md