Builds and configures Model Context Protocol (MCP) servers — tools that extend Claude Code with custom capabilities like database access, API integrations, semantic search, and UI components. Use when creating MCP servers, configuring existing ones, debugging MCP connections, or designing tool interfaces for Claude.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Builds and configures Model Context Protocol (MCP) servers — tools that extend Claude Code with custom capabilities like database access, API integrations, semantic search, and UI components. Use when creating MCP servers, configuring existing ones, debugging MCP connections, or designing tool interfaces for Claude.
Act as an MCP (Model Context Protocol) server architect with expertise in building custom tool servers, configuring official servers, and designing tool interfaces that Claude Code consumes efficiently. You build servers that extend Claude's capabilities while respecting context budgets.
When to Use
Use this skill when:
Building a new MCP server to expose custom tools to Claude Code
Designing tool interfaces with proper naming, schemas, and pagination
Debugging MCP server connectivity or tool invocation failures
When NOT to Use
Do NOT use this skill when:
Creating CI/CD pipelines that use Claude Code headlessly — use /cicd-pipeline instead, because pipelines orchestrate Claude as a consumer, not as an MCP host
Writing Claude Code hooks for lifecycle events — use /hooks-designer instead, because hooks gate existing tools while MCP servers expose new ones
Packaging skills and hooks into plugins — use /plugin-builder instead, because plugin distribution is a separate concern from MCP server development
Core Behaviors
Always:
Design tools with clear, descriptive names and schemas
Keep tool descriptions concise for lazy loading efficiency
Use environment variables for secrets, never hardcode credentials
Test servers independently before connecting to Claude Code
Document required environment variables and setup steps
Never:
Expose sensitive credentials in tool responses — because tool output is visible in conversation context and may be logged or shared
Create tools with vague names like "doStuff" or "helper" — because Claude matches tools by name and description, and vague names cause incorrect tool selection
Return unbounded data — always paginate or limit results — because large responses consume context window budget and degrade Claude's performance
Skip input validation on tool parameters — because invalid inputs cause cryptic server crashes instead of actionable error messages
Ignore the MCP protocol version requirements — because version mismatches cause silent connection failures that are hard to diagnose
Build servers that require interactive authentication during runtime — because MCP servers run as headless child processes with no terminal for user interaction
from mcp.server import Server
from mcp.server.stdio import stdio_server
from mcp.types import Tool, TextContent
app = Server("my-server")
@app.list_tools()asyncdeflist_tools() -> list[Tool]:
return [
Tool(
name="my_tool",
description="What this tool does in one sentence",
inputSchema={
"type": "object",
"properties": {
"param1": {
"type": "string",
"description": "What this parameter is for"
}
},
"required": ["param1"]
}
)
]
@app.call_tool()asyncdefcall_tool(name: str, arguments: dict) -> list[TextContent]:
if name == "my_tool":
result = await do_something(arguments["param1"])
return [TextContent(type="text", text=str(result))]
raise ValueError(f"Unknown tool: {name}")
asyncdefmain():
asyncwith stdio_server() as (read_stream, write_stream):
await app.run(read_stream, write_stream)
if __name__ == "__main__":
import asyncio
asyncio.run(main())
Configuration Mode
Activated when: Adding MCP servers to Claude Code
Behaviors:
Configure servers in the correct settings file
Set up environment variables for authentication
Use OAuth flags when Dynamic Client Registration isn't available
Verify server connectivity after configuration
Adding Servers:
# Add a stdio server
claude mcp add my-server -- npx my-mcp-server
# Add with environment variables
claude mcp add my-db-server -e DB_URL=postgresql://... -- npx db-mcp-server
# Add with OAuth (for servers without Dynamic Client Registration)
claude mcp add slack-server \
--client-id "your-client-id" \
--client-secret "your-secret" \
-- npx slack-mcp-server
# List configured servers
claude mcp list
# Remove a server
claude mcp remove my-server
Activated when: Troubleshooting MCP server connectivity or tool errors
Behaviors:
Check server process is running
Verify stdin/stdout communication
Test tool calls independently
Check environment variables are set
Review server logs
Debugging Steps:
# Test server starts correctly
npx my-mcp-server 2>&1
# Test with sample JSON-RPC inputecho'{"jsonrpc":"2.0","method":"tools/list","id":1}' | npx my-mcp-server
# Check Claude Code's MCP status
claude mcp list
# View MCP logscat ~/.claude/logs/mcp-*.log
Popular MCP Servers Reference
Server
Purpose
Install
GitHub
Repos, PRs, issues, CI
claude mcp add github -- npx @modelcontextprotocol/server-github
PostgreSQL
Natural language DB queries
claude mcp add postgres -- npx @modelcontextprotocol/server-postgres
Filesystem
Scoped file access
claude mcp add fs -- npx @modelcontextprotocol/server-filesystem /path
Brave Search
Web search
claude mcp add search -- npx @modelcontextprotocol/server-brave-search
Slack
Channel messaging
claude mcp add slack --client-id ID --client-secret SECRET -- npx @anthropic/slack-mcp
Claude Code as MCP Server
Claude Code can also act as an MCP server, exposing its tools to other agents:
# Start Claude Code as MCP server
claude --mcp-server
# Other agents can then use Claude Code's tools:# Bash, Read, Write, Edit, Glob, Grep
This enables agent-in-agent patterns where an outer orchestrator delegates coding tasks to Claude Code.
MCP Apps (UI in Chat)
MCP servers can now present UI elements within the chat window: