MCP Server Development Guide
Overview
Build high-quality MCP (Model Context Protocol) servers that enable LLMs to accomplish real-world tasks through well-designed tools. Quality is measured not by API coverage, but by how effectively agents can use your tools to complete realistic workflows.
Core insight: MCP servers expose tools for AI agents, not human users. Design for agent constraints (limited context, no visual UI, workflow-oriented) rather than human convenience.
When to Use This Skill
Activate when:
- Building MCP servers for external API integration
- Adding tools to existing MCP servers
- Improving MCP server tool design for better agent usability
- Creating evaluations to test MCP server effectiveness
- Debugging why agents struggle with your MCP tools
Language Support:
- Python: FastMCP framework (recommended for rapid development)
- Node/TypeScript: MCP SDK (recommended for production services)
The Iron Law
DESIGN FOR AGENTS, NOT HUMANS
Every tool must optimize for:
- Context efficiency (agents have limited tokens)
- Workflow completion (not just API calls)
- Actionable errors (guide agents to success)
- Natural task subdivision (how agents think)
If your tools are just thin API wrappers, you're violating the Iron Law.
Core Principles
Agent-Centric Design First: Study design principles before coding. Tools should enable workflows, not mirror APIs.
Research-Driven Planning: Load MCP docs, SDK docs, and exhaustive API documentation before writing code.
Evaluation-Based Iteration: Create realistic evaluations early. Let agent feedback drive improvements.
Context Optimization: Every response token matters. Default to concise, offer detailed when needed.
Actionable Errors: Error messages should teach agents correct usage patterns.
Quick Start
Phase 1: Research and Planning (40% of effort)
- Study Design Principles: Load design_principles.md to understand agent-centric design
- Load Protocol Docs: Fetch
https://modelcontextprotocol.io/llms-full.txt for MCP specification
- Study SDK Docs: Load Python or TypeScript SDK documentation from GitHub
- Study API Exhaustively: Read ALL API documentation, endpoints, authentication, rate limits
- Create Implementation Plan: Define tools, shared utilities, pagination strategy, error handling
See workflow.md for complete Phase 1 steps.
Phase 2: Implementation (30% of effort)
- Setup Project: Create structure following language-specific guide
- Build Shared Utilities: API helpers, error handlers, formatters BEFORE tools
- Implement Tools: Use Pydantic (Python) or Zod (TypeScript) for validation
- Follow Best Practices: Load language-specific guide for patterns
See workflow.md for complete Phase 2 steps and language guides.
Phase 3: Review and Refine (15% of effort)
- Code Quality Review: Check DRY, composability, consistency, type safety
- Test Build: Verify syntax, imports, build process
- Quality Checklist: Use language-specific checklist
See workflow.md for complete Phase 3 steps.
Phase 4: Create Evaluations (15% of effort)
- Understand Purpose: Evaluations test if agents can answer realistic questions using your tools
- Create 10 Questions: Complex, read-only, independent, verifiable questions
- Verify Answers: Solve yourself to ensure stability and correctness
- Run Evaluation: Use provided scripts to test agent effectiveness
See evaluation.md for complete evaluation guidelines.
Navigation
Core Design and Workflow
🎯 Design Principles - Agent-centric design philosophy: workflows over APIs, context optimization, actionable errors, natural task subdivision. Read FIRST before implementation.
🔄 Complete Workflow - Detailed 4-phase development process with step-by-step instructions, decision trees, and when to load each reference file.
Universal MCP Guidelines
- 📋 MCP Best Practices - Naming conventions, response formats, pagination, character limits, security, tool annotations, error handling. Applies to all MCP servers.
Language-Specific Implementation
🐍 Python Implementation - FastMCP patterns, Pydantic validation, async/await, complete examples, quality checklist. Load during Phase 2 for Python servers.
⚡ TypeScript Implementation - MCP SDK patterns, Zod validation, project structure, complete examples, quality checklist. Load during Phase 2 for TypeScript servers.
Evaluation and Testing
- ✅ Evaluation Guide - Creating realistic questions, answer verification, XML format, running evaluations, interpreting results. Load during Phase 4.
Key Reminders
- Research First: Spend 40% of time researching before coding
- Agent-Centric: Design for AI workflows, not API completeness
- Context Efficient: Every token counts - default concise, offer detailed
- Actionable Errors: Guide agents to correct usage
- Shared Utilities: Extract common code - avoid duplication
- Evaluation-Driven: Create evals early, iterate based on feedback
- MCP Servers Block: Never run servers directly - use evaluation harness or tmux
Red Flags - STOP
If you catch yourself:
- "Just wrapping these API endpoints directly"
- "Returning all available data fields"
- "Error message just says what failed" (not how to fix)
- Starting implementation without reading design principles
- Coding before loading MCP protocol documentation
- Creating tools without knowing agent use cases
- Skipping evaluation creation
- Running
python server.py directly (will hang forever)
ALL of these mean: STOP. Return to design principles and workflow.
Integration with Other Skills
- systematic-debugging: Debug MCP server issues methodically
- test-driven-development: Create failing tests before implementation
- verification-before-completion: Verify build succeeds before claiming completion
- defense-in-depth: Add input validation at multiple layers
Real-World Impact
From MCP server development experience:
- Well-designed servers: 80-90% task completion rate by agents
- API wrapper approach: 30-40% task completion rate
- Context-optimized responses: 3x more information in same token budget
- Actionable errors: 60% reduction in agent retry attempts
- Evaluation-driven iteration: 2-3x improvement in agent success rate
Remember: The quality of an MCP server is measured by how well it enables LLMs to accomplish realistic tasks, not by how comprehensively it wraps an API.
1---2name: build-mcp-server-23description: Create high-quality MCP servers that enable LLMs to effectively interact with external services. Use when building MCP integrations for APIs or services in Python (FastMCP) or Node/TypeScript (MCP SDK).4license: Complete terms in LICENSE.txt5---67# MCP Server Development Guide89## Overview1011Build high-quality MCP (Model Context Protocol) servers that enable LLMs to accomplish real-world tasks through well-designed tools. Quality is measured not by API coverage, but by how effectively agents can use your tools to complete realistic workflows.1213**Core insight:** MCP servers expose tools for AI agents, not human users. Design for agent constraints (limited context, no visual UI, workflow-oriented) rather than human convenience.1415## When to Use This Skill1617Activate when:18- Building MCP servers for external API integration19- Adding tools to existing MCP servers20- Improving MCP server tool design for better agent usability21- Creating evaluations to test MCP server effectiveness22- Debugging why agents struggle with your MCP tools2324**Language Support:**25- Python: FastMCP framework (recommended for rapid development)26- Node/TypeScript: MCP SDK (recommended for production services)2728## The Iron Law2930```31DESIGN FOR AGENTS, NOT HUMANS3233Every tool must optimize for:34- Context efficiency (agents have limited tokens)35- Workflow completion (not just API calls)36- Actionable errors (guide agents to success)37- Natural task subdivision (how agents think)38```3940If your tools are just thin API wrappers, you're violating the Iron Law.4142## Core Principles43441. **Agent-Centric Design First**: Study design principles before coding. Tools should enable workflows, not mirror APIs.45462. **Research-Driven Planning**: Load MCP docs, SDK docs, and exhaustive API documentation before writing code.47483. **Evaluation-Based Iteration**: Create realistic evaluations early. Let agent feedback drive improvements.49504. **Context Optimization**: Every response token matters. Default to concise, offer detailed when needed.51525. **Actionable Errors**: Error messages should teach agents correct usage patterns.5354## Quick Start5556### Phase 1: Research and Planning (40% of effort)571. **Study Design Principles**: Load [design_principles.md](./reference/design_principles.md) to understand agent-centric design582. **Load Protocol Docs**: Fetch `https://modelcontextprotocol.io/llms-full.txt` for MCP specification593. **Study SDK Docs**: Load Python or TypeScript SDK documentation from GitHub604. **Study API Exhaustively**: Read ALL API documentation, endpoints, authentication, rate limits615. **Create Implementation Plan**: Define tools, shared utilities, pagination strategy, error handling6263See [workflow.md](./reference/workflow.md) for complete Phase 1 steps.6465### Phase 2: Implementation (30% of effort)661. **Setup Project**: Create structure following language-specific guide672. **Build Shared Utilities**: API helpers, error handlers, formatters BEFORE tools683. **Implement Tools**: Use Pydantic (Python) or Zod (TypeScript) for validation694. **Follow Best Practices**: Load language-specific guide for patterns7071See [workflow.md](./reference/workflow.md) for complete Phase 2 steps and language guides.7273### Phase 3: Review and Refine (15% of effort)741. **Code Quality Review**: Check DRY, composability, consistency, type safety752. **Test Build**: Verify syntax, imports, build process763. **Quality Checklist**: Use language-specific checklist7778See [workflow.md](./reference/workflow.md) for complete Phase 3 steps.7980### Phase 4: Create Evaluations (15% of effort)811. **Understand Purpose**: Evaluations test if agents can answer realistic questions using your tools822. **Create 10 Questions**: Complex, read-only, independent, verifiable questions833. **Verify Answers**: Solve yourself to ensure stability and correctness844. **Run Evaluation**: Use provided scripts to test agent effectiveness8586See [evaluation.md](./reference/evaluation.md) for complete evaluation guidelines.8788## Navigation8990### Core Design and Workflow91- **[🎯 Design Principles](./reference/design_principles.md)** - Agent-centric design philosophy: workflows over APIs, context optimization, actionable errors, natural task subdivision. Read FIRST before implementation.9293- **[🔄 Complete Workflow](./reference/workflow.md)** - Detailed 4-phase development process with step-by-step instructions, decision trees, and when to load each reference file.9495### Universal MCP Guidelines96- **[📋 MCP Best Practices](./reference/mcp_best_practices.md)** - Naming conventions, response formats, pagination, character limits, security, tool annotations, error handling. Applies to all MCP servers.9798### Language-Specific Implementation99- **[🐍 Python Implementation](./reference/python_mcp_server.md)** - FastMCP patterns, Pydantic validation, async/await, complete examples, quality checklist. Load during Phase 2 for Python servers.100101- **[⚡ TypeScript Implementation](./reference/node_mcp_server.md)** - MCP SDK patterns, Zod validation, project structure, complete examples, quality checklist. Load during Phase 2 for TypeScript servers.102103### Evaluation and Testing104- **[✅ Evaluation Guide](./reference/evaluation.md)** - Creating realistic questions, answer verification, XML format, running evaluations, interpreting results. Load during Phase 4.105106## Key Reminders107108- **Research First**: Spend 40% of time researching before coding109- **Agent-Centric**: Design for AI workflows, not API completeness110- **Context Efficient**: Every token counts - default concise, offer detailed111- **Actionable Errors**: Guide agents to correct usage112- **Shared Utilities**: Extract common code - avoid duplication113- **Evaluation-Driven**: Create evals early, iterate based on feedback114- **MCP Servers Block**: Never run servers directly - use evaluation harness or tmux115116## Red Flags - STOP117118If you catch yourself:119- "Just wrapping these API endpoints directly"120- "Returning all available data fields"121- "Error message just says what failed" (not how to fix)122- Starting implementation without reading design principles123- Coding before loading MCP protocol documentation124- Creating tools without knowing agent use cases125- Skipping evaluation creation126- Running `python server.py` directly (will hang forever)127128**ALL of these mean: STOP. Return to design principles and workflow.**129130## Integration with Other Skills131132- **systematic-debugging**: Debug MCP server issues methodically133- **test-driven-development**: Create failing tests before implementation134- **verification-before-completion**: Verify build succeeds before claiming completion135- **defense-in-depth**: Add input validation at multiple layers136137## Real-World Impact138139From MCP server development experience:140- Well-designed servers: 80-90% task completion rate by agents141- API wrapper approach: 30-40% task completion rate142- Context-optimized responses: 3x more information in same token budget143- Actionable errors: 60% reduction in agent retry attempts144- Evaluation-driven iteration: 2-3x improvement in agent success rate145146---147148**Remember:** The quality of an MCP server is measured by how well it enables LLMs to accomplish realistic tasks, not by how comprehensively it wraps an API.