Agent skill
mcp-builder
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services. Use when building MCP servers to integrate APIs, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Install this agent skill to your Project
npx add-skill https://github.com/j0KZ/mcp-agents/tree/main/docs/universal-skills/mcp-builder
SKILL.md
MCP Server Development Guide
This skill provides comprehensive guidance for building MCP servers that enable LLMs to effectively interact with external services through well-designed tools.
When to Use This Skill
- Building a new MCP server to integrate an external API
- Designing tools for an existing MCP server
- Reviewing MCP server implementation quality
- Creating evaluations to test MCP server effectiveness
- Learning MCP best practices
What This Skill Does
- Guides Implementation: Step-by-step process for building MCP servers
- Provides Best Practices: Naming conventions, response formats, pagination
- Offers Language-Specific Guidance: Python (FastMCP) and TypeScript (MCP SDK)
- Includes Quality Checklists: Verify implementation completeness
- Supports Evaluation Creation: Test MCP servers with realistic questions
High-Level Workflow
Phase 1: Deep Research and Planning
1.1 Understand Agent-Centric Design Principles
Build for Workflows, Not Just API Endpoints:
- Don't simply wrap existing API endpoints - build thoughtful, high-impact workflow tools
- Consolidate related operations (e.g.,
schedule_eventthat both checks availability and creates event) - Focus on tools that enable complete tasks, not just individual API calls
Optimize for Limited Context:
- Agents have constrained context windows - make every token count
- Return high-signal information, not exhaustive data dumps
- Provide "concise" vs "detailed" response format options
- Default to human-readable identifiers over technical codes (names over IDs)
Design Actionable Error Messages:
- Error messages should guide agents toward correct usage patterns
- Suggest specific next steps: "Try using filter='active_only' to reduce results"
- Make errors educational, not just diagnostic
1.2 Study Documentation
Load the reference files in docs/mcp-reference/:
- mcp_best_practices.md - Core guidelines for all MCP servers
- node_mcp_server.md - TypeScript/Node implementation guide
- python_mcp_server.md - Python/FastMCP implementation guide
- evaluation.md - Creating evaluations for testing
1.3 Create Implementation Plan
Based on research, create a detailed plan:
Tool Selection:
- List the most valuable endpoints/operations to implement
- Prioritize tools that enable common and important use cases
- Consider which tools work together for complex workflows
Input/Output Design:
- Define input validation models (Pydantic for Python, Zod for TypeScript)
- Design consistent response formats (JSON and Markdown)
- Plan for large-scale usage with pagination and character limits
Phase 2: Implementation
2.1 Set Up Project Structure
For Python:
service_mcp/
├── server.py # Main entry point
├── models.py # Pydantic models
├── tools/ # Tool implementations
└── utils.py # Shared utilities
For TypeScript:
service-mcp-server/
├── src/
│ ├── index.ts # Main entry point
│ ├── types.ts # Type definitions
│ ├── schemas/ # Zod schemas
│ └── tools/ # Tool implementations
├── package.json
└── tsconfig.json
2.2 Implement Core Infrastructure First
Create shared utilities before implementing tools:
- API request helper functions
- Error handling utilities
- Response formatting functions (JSON and Markdown)
- Pagination helpers
- Authentication/token management
2.3 Implement Tools Systematically
For each tool:
- Define Input Schema with proper constraints and descriptions
- Write Comprehensive Descriptions with examples
- Implement Tool Logic using shared utilities
- Add Tool Annotations (readOnlyHint, destructiveHint, etc.)
Phase 3: Review and Refine
3.1 Code Quality Review
- DRY Principle: No duplicated code between tools
- Composability: Shared logic extracted into functions
- Consistency: Similar operations return similar formats
- Error Handling: All external calls have error handling
- Type Safety: Full type coverage
3.2 Quality Checklist
Strategic Design:
- Tools enable complete workflows, not just API wrappers
- Response formats optimize for agent context efficiency
- Error messages guide agents toward correct usage
Implementation Quality:
- All tools have comprehensive descriptions
- Input schemas have proper constraints
- Annotations correctly set
- Pagination implemented where applicable
- Character limits respected with truncation
Phase 4: Create Evaluations
Create 10 realistic questions to test the MCP server:
- Questions must be read-only and independent
- Each should require multiple tool calls
- Answers must be single, verifiable values
- Answers must be stable (won't change over time)
See docs/mcp-reference/evaluation.md for complete guidelines.
Reference Files
Load these resources as needed during development:
| Document | Purpose |
|---|---|
docs/mcp-reference/mcp_best_practices.md |
Core MCP guidelines |
docs/mcp-reference/node_mcp_server.md |
TypeScript implementation |
docs/mcp-reference/python_mcp_server.md |
Python implementation |
docs/mcp-reference/evaluation.md |
Testing MCP servers |
Tips
- Start with the most valuable 3-5 tools, not all possible endpoints
- Test tools with actual LLM agents during development
- Iterate based on agent feedback and evaluation results
- Focus on reducing context consumption in responses
- Document error scenarios with suggested remedies
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
debug-detective
Systematic debugging approach for ANY codebase, ANY language, ANY bug type
tool-discovery
Guide for discovering and using @j0kz MCP tools efficiently through search, filtering, and progressive exploration. Use when exploring available capabilities, finding the right tool for a task, or ...
project-standardization
Guides correct usage of @j0kz/mcp-agents standardization and automation scripts including version.json single source of truth, test count automation, URL casing rules, and critical workflow pattern...
api-integration
Master third-party API integration in ANY language with best practices and patterns
documentation-generation
Documentation generation and maintenance patterns including README structure, CHANGELOG management, API documentation, wiki synchronization, and badge updates. Use when creating package docs, updat...
competitive-ads-extractor
Extracts and analyzes competitor ads from ad libraries (Facebook, LinkedIn, TikTok, Google). Use when researching competitor messaging, creative patterns, campaign strategies, or ad inspiration. Ch...
Didn't find tool you were looking for?