mcp-builder

Build MCP servers in TypeScript or Python with tool schemas, transports, and evaluations.

Updated Jan 15, 2026
One-click install
npx skills add https://github.com/bearded-giant/claude-code-config --skill mcp-builder-bearded-giant
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mcp-builder
Source: https://github.com/bearded-giant/claude-code-config/tree/main/skills/mcp-builder
Command: npx skills add https://github.com/bearded-giant/claude-code-config --skill mcp-builder-bearded-giant

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires anthropic, mcp, and includes scripts (resource) and references (resource) components.

What problem does it solve? Building a Model Context Protocol server from scratch involves many decisions—tool naming, schema validation, transport selection, error handling, and quality evaluation—that are easy to get wrong without a structured process. ## Core Features & Use Cases - Four-Phase Development Workflow: Guides research, implementation, review, and evaluation phases for MCP server projects. - Language-Specific References: Provides implementation guides for TypeScript (Zod, @modelcontextprotocol/sdk) and Python (FastMCP, Pydantic v2) with complete code patterns. - Evaluation Harness: Includes scripts to run LLM-based evaluations against a running MCP server over stdio, SSE, or streamable HTTP transports and generate accuracy reports. - Use Case: When asked to expose a service like GitHub or Slack as MCP tools, this Skill produces a properly named, annotated, paginated server and a 10-question evaluation suite to verify tool quality. ## Quick Start Ask the AI to build an MCP server that exposes your service's API as tools, for example: create a Python MCP server for the Slack API with search and message tools.

Frequently Asked Questions about mcp-builder

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an MCP server in Python?

Use the FastMCP class from the mcp package, define Pydantic v2 input models with Field constraints, and register tools with the @mcp.tool decorator including annotations like readOnlyHint. Run the server with mcp.run() for stdio or mcp.run(transport="streamable_http") for remote access.

How do I build an MCP server in TypeScript?

Use McpServer from @modelcontextprotocol/sdk with registerTool, defining input schemas with Zod and connecting via StdioServerTransport or StreamableHTTPServerTransport. The Skill recommends TypeScript for its stronger SDK support and includes full project structure and tsconfig templates.

What transport should an MCP server use, stdio or HTTP?

Use stdio for local, single-client integrations like command-line tools, and streamable HTTP for remote servers serving multiple clients. SSE is deprecated in favor of streamable HTTP, and stdio servers must log to stderr rather than stdout.

How do I test and evaluate an MCP server?

Create an XML evaluation file with 10 read-only, multi-step QA pairs, then run the included evaluation.py harness with your transport and command. It connects to the server, lets an LLM answer questions using your tools, and reports accuracy, duration, and tool-call counts.

What naming conventions should MCP tools follow?

Tools should use snake_case with a service prefix in the format {service}_{action}_{resource}, such as github_create_issue. Servers are named {service}_mcp in Python and {service}-mcp-server in TypeScript to avoid conflicts when multiple servers run together.

When should I not use this MCP development workflow?

Skip it for general API or SDK work unrelated to the Model Context Protocol. The Skill is scoped to MCP server construction and evaluation, not general-purpose REST client or backend service development.