Agent skill · Testing & QA

mcp-builder

Build MCP servers in Python with FastMCP. Define tools / resources / prompts, build the server, test locally, deploy to FastMCP Cloud or Docker. Use whenever the user mentions building an MCP server, exposing tools to LLMs, FastMCP, building a Claude integration, or troubleshooting FastMCP module-level server, storage, lifespan, middleware, OAuth, or deployment errors.

jezwebgithub.com/jezwebGitHub ↗
claude-codeships scriptsMIT
Install
npx skills add jezweb/claude-skills --skill mcp-builder --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 15
SKILL.md size: 12 KB
Bundled scripts: yes
Requires: claude-code-only
Path: plugins/integrations/skills/mcp-builder/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 954
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# MCP Builder Build a working MCP server from a description of the tools you need. Produces a deployable Python server using FastMCP. ## Workflow ### Step 1: Define What to Expose Ask what the server needs to provide: - **Tools** -- Functions Claude can call (API wrappers, calculations, file operations) - **Resources** -- Data Claude can read (database records, config, documents) - **Prompts** -- Reusable prompt templates with parameters A brief like "MCP server for querying our customer database" is enough. ### Step 2: Scaffold the Server ```bash pip install fastmcp ``` Create the server file. The server instance MUST be at module level: ```python from fastmcp import FastMCP # MUST be at module level for FastMCP Cloud mcp = FastMCP("My Server") @mcp.tool() async def search_customers(query: str) -> str: """Search customers by name or email.""" # Implementation here return f"Found customers matching: {query}" @mcp.resource("customers://{customer_id}") async def get_customer(customer_id: str) -> str: """Get customer details by ID.""" return f"Customer {customer_id} details" if __name__ == "__main__": mcp.run() ``` ### Step 3: Add Companion CLI Scripts (Optional) For Claude Code termi

What's inside
Steps it walks through
  1. Workflow
  2. Step 1: Define What to Expose
  3. Step 2: Scaffold the Server
  4. Step 3: Add Companion CLI Scripts (Optional)
  5. Step 4: Test Locally
  6. Step 5: Pre-Deploy Checklist
  7. Step 6: Deploy
  8. Critical Patterns
  9. Module-Level Server Instance
  10. Type Annotations Required
  11. Error Handling
  12. Cloud-Ready Server Pattern
  13. Common Errors and Fixes
  14. Production Patterns
Ships with 14 files
  • assets/SCRIPTS-TEMPLATE.md
  • assets/api-client-pattern.py
  • assets/basic-server.py
  • assets/client-example.py
  • assets/error-handling.py
  • assets/openapi-integration.py
  • assets/prompts-examples.py
  • assets/pyproject.toml
  • assets/requirements.txt
  • assets/resources-examples.py
  • assets/script-template.ts
  • assets/self-contained-server.py
  • assets/tools-examples.py
  • references/integration-patterns.md
Commands it runs
pip install fastmcp
python server.py
fastmcp dev server.py
Opens inspector at http://localhost:5173
Hot reload, detailed logging, tool/resource inspection
python server.py --transport http --port 8000
grep -q "^mcp = FastMCP\|^server = FastMCP\|^app = FastMCP" server.py
git add . && git commit -m "Ready for deployment"
git push -u origin main
Visit https://fastmcp.cloud, connect repo, add env vars, deploy
More from claude-skills
All skills →
About this skill
What does the mcp-builder skill do?

Build MCP servers in Python with FastMCP. Define tools / resources / prompts, build the server, test locally, deploy to FastMCP Cloud or Docker. Use whenever the user mentions building an MCP server, exposing tools to LLMs, FastMCP, building a Claude integration, or troubleshooting FastMCP module-level server, storage, lifespan, middleware, OAuth, or deployment errors.

How do I install it?

Run `npx skills add jezweb/claude-skills --skill mcp-builder --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From jezweb/claude-skills, a repository with 954 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going