From example-skills
Configures, deploys, and troubleshoots Model Context Protocol (MCP) servers for AI agent workflows with Claude Desktop/Code. Covers configs, Python/Node setups, multi-server management, and connection debugging.
How this skill is triggered — by the user, by Claude, or both
Slash command
/example-skills:mcp-server-orchestratorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manage MCP server infrastructure for AI-powered development workflows.
Manage MCP server infrastructure for AI-powered development workflows.
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │────▶│ MCP Server │────▶│ External APIs │
│ (Claude, etc.) │◀────│ (Tool Provider) │◀────│ (Services) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │
└───── JSON-RPC ────────┘
Key concepts:
| 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 |
{
"mcpServers": {
"server-name": {
"command": "executable",
"args": ["arg1", "arg2"],
"env": {
"API_KEY": "value"
},
"disabled": false
}
}
}
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"
}
}
}
Verify server starts independently:
# Test Python server
python -m my_server
# Test Node server
npx -y @scope/package-name
Check logs:
~/Library/Logs/Claude/mcp*.logValidate JSON config:
python -c "import json; json.load(open('config.json'))"
Common fixes:
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()
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);
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"] }
}
}
Think of servers as modules in a synthesizer—patch them together based on workflow needs:
references/server-templates.md - Boilerplate for common server typesreferences/debugging-guide.md - Detailed troubleshooting proceduresnpx claudepluginhub a-organvm/a-i--skills --plugin document-skillsProvides a checklist for code reviews covering functionality, security, performance, maintainability, tests, and quality. Use for pull requests, audits, team standards, and developer training.