mcp-builder
Guidance for building high-quality MCP (Model Context Protocol) servers that let LLMs interact with external services through well-designed tools.
Skill by wachawo
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/wachawo-mcp-builder
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/mcp-builder
What's inside
- Skill name
mcp-builder- Description
- Guidance for building high-quality MCP (Model Context Protocol) servers that let LLMs interact with external services through well-designed tools. Use when building MCP servers that integrate external APIs or services in Python (FastMCP) or Node/TypeScript (MCP SDK).
- License
- MIT
- Instructions
- 232 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (9)
- SKILL.md
- evaluation.md · reference/
- mcp_best_practices.md · reference/
- node_mcp_server.md · reference/
- python_mcp_server.md · reference/
- connections.py · scripts/
- evaluation.py · scripts/
- example_evaluation.xml · scripts/
- requirements.txt · scripts/
SKILL.md (first lines)
# MCP Server Development Guide ## Overview Build MCP (Model Context Protocol) servers that let LLMs interact with external services through well-designed tools. The quality of an MCP server is measured by how well it lets an LLM solve real tasks. --- # Process ## High-level workflow Building a high-quality MCP server has four main phases: ### Phase 1: Deep research and planning #### 1.1 Understand modern MCP design **API coverage vs. workflow tools:** Balance full API endpoint coverage against specialized workflow tools. Workflow tools may be more convenient for specific tasks, while full coverage gives agents flexibility to combine operations. Performance depends on the client — some clients benefit from code execution that composes primitive tools, while others work better with higher-level tools. When in doubt, prioritize full API coverage. **Tool naming and discoverability:** Clear, descriptive tool names help agents quickly locate the tool they need. Use consistent prefixes (e.g. `github_create_issue`, `github_list_repos`) and action-oriented naming. **Context management:** Agents benefit from concise tool descriptions and the ability to filter or paginate results. Design tools to return focused, relevant data. Some clients support code execution, which helps agents filter and process data more efficiently. **Actionable error messages:** Error messages should guide the agent to a solution with concrete hints and next steps. #### 1.2 Study the MCP protocol documentation **Navigate the MCP specification:** Start with the sitemap to find relevant pages: `https://modelcontextprotocol.io/sitemap.xml` Then fetch specific pages with the `.md` suffix for markdown format (e.g. `https://modelcontextprotocol.io/specification/draft.md`). Key pages to review: - Specification overview and architecture - Transport mechanisms (streamable HTTP, stdio) - Tool, resource, and prompt definitions #### 1.3 Study the framework documentation **Recommended stack:** - **Language**: TypeScript (high-quality SDK support and good compatibility across many runtimes such as MCPB. AI models also generate TypeScript code well, benefiting from its wide adoption, static typing, and strong linters) - **Transport**: Streamable HTTP for remote servers using stateless JSON (easier to scale and operate than stateful sessions and streaming responses). stdio for local servers. **Load the framework documentation:** - **MCP Best Practices**: [Best practices](./reference/mcp_best_practices.md) — core recommendations **For TypeScript (recommended):** - **TypeScript SDK**: use WebFetch to load `https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md` - [TypeScript guide](./reference/node_mcp_server.md) — TypeScript patterns and examples **For Python:** - **Python SDK**: use WebFetch to load `https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md` - [Python guide](./reference/python_mcp_server.md) — Python patterns and examples #### 1.4 Plan the implementation **Understand the API:** Study the service's API documentation to identify key endpoints, authentication requirements, and data models. Use web search and WebFetch as needed. **Tool selection:** Prioritize full API coverage. List the endpoints to implement, starting with the most common operations. --- ### Phase 2: Implementation #### 2.1 Set up the project structure See language-specific guides for project setup: - [TypeScript guide](./reference/node_mcp_server.md) — project structure, package.json, tsconfig.json - [Python guide](./reference/python_mcp_server.md) — module organization, dependencies #### 2.2 Implement the base infrastructure Create shared utilities: - API client with authentication - Error-handling helpers - Response formatting (JSON/Markdown) - Pagination support #### 2.3 Implement the tools For each tool: **Input schema:** - Use Zod (TypeScript) or Pydantic (Python) - Include constraints and clear descriptions - Add examples in field descriptions **Output schema:** - Where possible, define `outputSchema` for structured data - Use `structuredContent` in tool responses (a TypeScript SDK capability) - Helps clients understand and process tool output **Tool description:** - Brief summary of functionality - Parameter descriptions - Return type schema **Implementation:** - Async/await for I/O operations - Proper error handling with actionable messages - Pagination support where applicable - Return both text content and structured data when using modern SDKs **Annotations:** - `readOnlyHint`: true/false - `destructiveHint`: true/false - `idempotentHint`: true/false - `openWorldHint`: true/false ---
From wachawo/claude-skills, MIT.
More from wachawo/claude-skills
- 0.479score
drilldown-analyzer
wachawo
Systematic investigation of metric changes and anomalies.
SkillCFreshness: CClaude Code +9 - 0.479score
playwright
wachawo
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, debugging user…
SkillCFreshness: CClaude Code +9 - 0.479score
diagnose
wachawo
Disciplined loop for diagnosing complex bugs and performance regressions.
SkillCFreshness: CClaude Code +9 - 0.476score
data-analyzer
wachawo
Systematic exploratory data analysis.
SkillCFreshness: CClaude Code +9 - 0.474score
qa
wachawo
Interactive QA session in which the user freely reports bugs or issues, and the agent files the corresponding GitHub issues.
SkillCFreshness: CClaude Code +9 - 0.474score
design-api
wachawo
Generate several radically different interface design options for a module via parallel sub-agents.
SkillCFreshness: CClaude Code +9 - 0.474score
grill-docs
wachawo
A "grilling" session that stress-tests your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) as…
SkillCFreshness: CClaude Code +9 - 0.474score
improve-arch
wachawo
Find opportunities to deepen modules in the codebase, drawing on the domain language from CONTEXT.md and decisions recorded in docs/adr/.
SkillCFreshness: CClaude Code +9 - 0.474score
python-fp
wachawo
Guide to functional-style Python — pure functions, immutability, HOFs, functools/itertools, typed functional patterns.
SkillCFreshness: CClaude Code +9 - 0.474score
python-pep8
wachawo
Detailed PEP 8 guide for Python code — layout, imports, names, whitespace, comments, programming recommendations (None comparisons, exceptions, return…
SkillCFreshness: CClaude Code +9 - 0.474score
claude-api
wachawo
Build, debug, and optimize Claude API / Anthropic SDK applications.
SkillCFreshness: CClaude Code +9 - 0.474score
python-code
wachawo
Improves Python library code quality through ruff linting, mypy type checking, Pythonic idioms, and refactoring.
SkillCFreshness: CClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- May 5, 2026 (5 months ago)
- Last release
- May 5, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/wachawo/claude-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from wachawo
- 0.479score
drilldown-analyzer
wachawo
Systematic investigation of metric changes and anomalies.
SkillCFreshness: CClaude Code +9 - 0.479score
playwright
wachawo
Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, debugging user…
SkillCFreshness: CClaude Code +9 - 0.479score
diagnose
wachawo
Disciplined loop for diagnosing complex bugs and performance regressions.
SkillCFreshness: CClaude Code +9 - 0.476score
data-analyzer
wachawo
Systematic exploratory data analysis.
SkillCFreshness: CClaude Code +9 - 0.474score
grill-docs
wachawo
A "grilling" session that stress-tests your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) as…
SkillCFreshness: CClaude Code +9 - 0.474score
design-api
wachawo
Generate several radically different interface design options for a module via parallel sub-agents.
SkillCFreshness: CClaude Code +9
Cite this page
mcp-builder skill. Agent Mart. https://agentmart.dev/skills/wachawo-mcp-builder (last updated 2026-10-24)