Agent skill
creating-mcp-servers
Creates production-ready MCP servers using FastMCP v2. Use when building MCP servers, optimizing tool descriptions for context efficiency, implementing progressive disclosure for multiple capabilities, or packaging servers for distribution.
Install this agent skill to your Project
npx add-skill https://github.com/billlzzz18/bl1nk-skill-platform/tree/main/skill/skillsmp_creating-mcp-servers
SKILL.md
Description
Skill description.
Creating MCP Servers
Build production-ready MCP servers using FastMCP v2 with optimal context efficiency through progressive disclosure patterns.
Core Capabilities
- Apply mandatory patterns - Four critical requirements for consistency
- Implement progressive disclosure - Gateway patterns achieving 85-93% token reduction
- Optimize tool descriptions - 65-70% token reduction through proper patterns
- Bundle servers - Package as MCPB files with validation
- Proven gateway patterns - Three complete implementations (Skills, API, Query)
When to Use
Trigger phrases:
- "MCP server", "create MCP", "build MCP", "FastMCP"
- "progressive disclosure", "gateway pattern", "context efficient"
- "optimize MCP", "reduce context", "tool descriptions"
- "MCPB", "bundle MCP", "package server"
Use for:
- Creating new MCP servers with FastMCP v2
- Optimizing existing tool descriptions
- Implementing progressive disclosure for 5+ capabilities
- Converting Skills to MCP or vice versa
- Packaging servers for distribution
Architecture Decision
1-3 simple tools?
→ Standard FastMCP with optimized tools
Load: references/MANDATORY_PATTERNS.md
5+ related capabilities?
→ Gateway pattern (progressive disclosure)
Load: references/PROGRESSIVE_DISCLOSURE.md
Load: references/GATEWAY_PATTERNS.md
Optimize existing server?
→ Apply mandatory patterns
Load: references/MANDATORY_PATTERNS.md
Package for distribution?
→ MCPB bundler
Load: references/MCPB_BUNDLING.md
Execute: scripts/create_mcpb.py
Need FastMCP documentation?
→ Search references/FASTMCP_DOCS.md for relevant URLs
→ Use web_fetch on gofastmcp.com URLs
Mandatory Patterns
Four critical requirements for ALL implementations:
- uv (never pip) - Dependency management consistency
- Optimized tool descriptions - Annotations, Annotated, concise docstrings
- Authoritative documentation - Fetch from gofastmcp.com (see workflow below)
- Strategic tool selection - Best tool for each job
Details in references/MANDATORY_PATTERNS.md
Progressive Disclosure Pattern
For servers with 5+ capabilities:
Three-tier loading:
- Metadata (~20 tokens/capability) - Always loaded
- Content (~500 tokens) - Load on demand
- Execution (0 tokens) - Execute without loading
Achieves 85-93% baseline reduction. See references/PROGRESSIVE_DISCLOSURE.md
Implementation Workflow
Phase 1: Research FastMCP Patterns
IMPORTANT: Claude fetches documentation, not scripts (skill environment has restricted network access).
Workflow:
1. Read references/FASTMCP_DOCS.md - comprehensive URL index
2. Identify relevant documentation URLs for your task
3. Use web_fetch on gofastmcp.com URLs (Claude has network access)
4. Apply patterns from fetched documentation
Example searches:
- Authentication patterns → Search FASTMCP_DOCS.md for "authentication"
- Tool optimization → Search for "tools"
- OAuth flows → Search for "oauth"
- Deployment → Search for "deployment"
URL format: All docs at https://gofastmcp.com/[path].md
Phase 2: Implement Server
Load appropriate reference based on architecture decision above.
For standard servers:
- Apply all four mandatory patterns
- Optimize tool descriptions (annotations, Annotated, Field)
- Single-sentence docstrings with high information density
For gateway servers:
- Implement three-tier loading (discover, load, execute)
- Use proven patterns from GATEWAY_PATTERNS.md
- Validate 85%+ context reduction
Phase 3: Package (Optional)
Simple zip bundling:
# 1. Create manifest.json (see MCPB_BUNDLING.md for format)
# 2. Bundle with zip
cd /home/claude
zip -r server-name.mcpb manifest.json server.py README.md
cp server-name.mcpb /mnt/user-data/outputs/
# Or for automated builds:
python scripts/create_mcpb.py server.py --name server-name --version 1.0.0
See references/MCPB_BUNDLING.md for manifest format and details.
Reference Library
Load as needed during development:
Documentation index:
- FASTMCP_DOCS.md - Complete FastMCP v2 documentation URLs (Claude fetches via web_fetch)
Core patterns (load first):
- MANDATORY_PATTERNS.md - Four critical requirements
- PROGRESSIVE_DISCLOSURE.md - Architecture for 5+ capabilities
Implementation:
- GATEWAY_PATTERNS.md - Three production-ready implementations
- MCPB_BUNDLING.md - Packaging and distribution
Scripts (execute as needed):
scripts/create_mcpb.py- Bundle MCP servers into .mcpb files
Network Access Note
Skill environment: Restricted network (package repos only)
Claude (using skill): Full network access via web_fetch
This means:
- Scripts cannot fetch URLs
- Claude must use web_fetch for gofastmcp.com documentation
- FASTMCP_DOCS.md provides URL index for Claude to fetch
Verification Checklist
Before completing any FastMCP implementation:
✓ Uses uv (not pip)
✓ FastMCP docs fetched from gofastmcp.com (not web_search)
✓ Tool annotations (readOnlyHint, title, openWorldHint)
✓ Annotated parameters with Field
✓ Single-sentence docstrings
✓ 65-70% token reduction vs verbose
✓ Server instructions concise (<100 chars)
✓ Strategic tool usage documented
For gateway implementations, additionally verify:
✓ 85%+ baseline context reduction
✓ Discover returns metadata only
✓ Load fetches content on demand
✓ Execute runs without context cost
Key Optimization
Tool description pattern:
Before (180 tokens):
Search for items in the database.
This tool allows comprehensive searching...
After (55 tokens):
"""Search items. Fast full-text search."""
# + annotations={"title": "Search", "readOnlyHint": True}
# + Annotated parameters with Field
Common Pitfalls
❌ Using mcpb pack CLI (causes crashes, just use zip)
❌ Using pip instead of uv
❌ web_search for FastMCP docs (use web_fetch on gofastmcp.com)
❌ Verbose tool descriptions
❌ Missing tool annotations
❌ Gateway for 1-3 tools (overhead exceeds benefit)
❌ Mixing unrelated capabilities in single gateway
❌ Scripts trying to fetch URLs (network restricted)
Expected Results
Context efficiency:
- 85-93% baseline reduction (gateway pattern)
- 65-70% tool description reduction (optimization)
- 0 tokens for script execution (progressive disclosure)
Quality:
- Production-ready immediately
- All mandatory patterns applied
- Security and error handling included
- Strategic tool usage documented
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
file-organizer
Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.
notion-knowledge-capture
Skill description
notion-knowledge-capture
Transforms conversations and discussions into structured documentation pages in Notion. Captures insights, decisions, and knowledge from chat context, formats appropriately, and saves to wikis or databases with proper organization and linking for easy discovery.
meeting-insights-analyzer
Analyzes meeting transcripts and recordings to uncover behavioral patterns, communication insights, and actionable feedback. Identifies when you avoid conflict, use filler words, dominate conversations, or miss opportunities to listen. Perfect for professionals seeking to improve their communication and leadership skills.
skill-share
A skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.
internal-comms
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Didn't find tool you were looking for?