Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bilalmk avatar

Building Mcp Servers

  • 16 installs
  • 1 repo stars
  • Updated January 27, 2026
  • bilalmk/todo_correct

building-mcp-servers is a skill that guides creating MCP servers in Python or TypeScript so LLMs can interact with external services through well-designed tools.

About

building-mcp-servers is a skill that guides creating MCP (Model Context Protocol) servers so LLMs can interact with external services through well-designed tools. It walks a four-phase workflow of research and planning, implementation, review and testing, and evaluation creation, in Python (FastMCP) or Node/TypeScript. A developer uses it when building an MCP server to integrate an external API, covering tool naming, input/output schemas, annotations, Docker transport security, and health checks. It is not for consuming existing MCP servers.

  • Guides building high-quality MCP servers in Python (FastMCP) or Node/TypeScript
  • Covers tool design, auth, Docker deployment, and evaluation creation
  • Includes a four-phase workflow from research to evaluations

Building Mcp Servers by the numbers

  • 16 all-time installs (skills.sh)
  • Ranked #11,061 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
At a glance

building-mcp-servers capabilities & compatibility

free (open-source SDKs)

Capabilities
mcp server build · tool design · agent integration
Works with
docker
Use cases
api development · orchestration · testing
Pricing
Free
From the docs

What building-mcp-servers says it does

Create MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools.
SKILL.md
Create 10 evaluation questions to test LLM effectiveness with your server.
SKILL.md
**Transport**: Streamable HTTP for remote servers, stdio for local servers
SKILL.md
npx skills add https://github.com/bilalmk/todo_correct --skill building-mcp-servers

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs16
repo stars1
Last updatedJanuary 27, 2026
Repositorybilalmk/todo_correct

What it does

Build a high-quality MCP server that exposes external-service tools to LLMs, with tests, evals, and Docker deployment.

Who is it for?

Building a new MCP server to expose an external API to LLMs

Skip if: Consuming existing MCP servers

When should I use this skill?

Building MCP servers to integrate external APIs or services in Python or Node/TypeScript

What you get

A tested, evaluated MCP server exposing well-designed tools for LLMs.

  • MCP server implementation
  • Tool input/output schemas
  • 10 evaluation questions

By the numbers

  • Four-phase workflow
  • 10 evaluation questions required
  • Tool annotations: readOnlyHint, destructiveHint, idempotentHint, openWorldHint

Files

SKILL.mdMarkdownGitHub ↗

MCP Server Development Guide

Overview

Create MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. The quality of an MCP server is measured by how well it enables LLMs to accomplish real-world tasks.

---

High-Level Workflow

Creating a high-quality MCP server involves four main phases:

Phase 1: Deep Research and Planning

1.1 Understand Modern MCP Design

API Coverage vs. Workflow Tools: Balance comprehensive API endpoint coverage with specialized workflow tools. When uncertain, prioritize comprehensive API coverage.

Tool Naming and Discoverability: Use consistent prefixes (e.g., github_create_issue, github_list_repos) and action-oriented naming.

Context Management: Design tools that return focused, relevant data. Support filtering/pagination.

Actionable Error Messages: Error messages should guide agents toward solutions with specific suggestions.

1.2 Study MCP Protocol Documentation

Start with the sitemap: https://modelcontextprotocol.io/sitemap.xml

Fetch pages with .md suffix (e.g., https://modelcontextprotocol.io/specification/draft.md).

Key pages: Specification overview, transport mechanisms, tool/resource/prompt definitions.

1.3 Study Framework Documentation

Recommended stack:

  • Language: TypeScript (high-quality SDK, good AI code generation)
  • Transport: Streamable HTTP for remote servers, stdio for local servers

Load framework documentation:

  • MCP Best Practices - Core guidelines
  • TypeScript Guide - TypeScript patterns
  • Python Guide - Python/FastMCP patterns

SDK Documentation:

  • TypeScript: https://raw.githubusercontent.com/modelcontextprotocol/typescript-sdk/main/README.md
  • Python: https://raw.githubusercontent.com/modelcontextprotocol/python-sdk/main/README.md
1.4 Plan Your Implementation

Review the service's API documentation. List endpoints to implement, starting with most common operations.

---

Phase 2: Implementation

2.1 Set Up Project Structure

See language-specific guides:

  • TypeScript Guide - Project structure, package.json, tsconfig.json
  • Python Guide - Module organization, dependencies
2.2 Implement Core Infrastructure

Create shared utilities:

  • API client with authentication
  • Error handling helpers
  • Response formatting (JSON/Markdown)
  • Pagination support
2.3 Implement Tools

For each tool:

Input Schema:

  • Use Zod (TypeScript) or Pydantic (Python)
  • Include constraints and clear descriptions

Output Schema:

  • Define outputSchema where possible
  • Use structuredContent in responses

Tool Description:

  • Concise summary, parameter descriptions, return type

Annotations:

  • readOnlyHint, destructiveHint, idempotentHint, openWorldHint

---

Phase 3: Review and Test

3.1 Code Quality

Review for: DRY principle, consistent error handling, full type coverage, clear descriptions.

3.2 Build and Test

TypeScript:

npm run build
npx @modelcontextprotocol/inspector

Python:

python -m py_compile your_server.py
# Test with MCP Inspector

---

Phase 4: Create Evaluations

Create 10 evaluation questions to test LLM effectiveness with your server.

Requirements for each question:

  • Independent, read-only, complex, realistic, verifiable, stable

Output Format:

<evaluation>
  <qa_pair>
    <question>Your question here</question>
    <answer>Expected answer</answer>
  </qa_pair>
</evaluation>

See Evaluation Guide for complete guidelines.

---

Docker/Containerization

Transport Security (allowed_hosts)

FastMCP validates Host headers. For Docker, configure:

from mcp.server.fastmcp import FastMCP
from mcp.server.transport_security import TransportSecuritySettings

transport_security = TransportSecuritySettings(
    allowed_hosts=[
        "127.0.0.1:*", "localhost:*", "[::1]:*",
        "mcp-server:*",  # Docker container name
        "0.0.0.0:*",
    ],
)
mcp = FastMCP("my_server", transport_security=transport_security)

Health Check Endpoint

Add /health endpoint via middleware (see references for full example).

---

Verification

Run: python3 scripts/verify.py

Expected: ✓ building-mcp-servers skill ready

If Verification Fails

1. Run diagnostic: Check references/ folder exists 2. Check: All reference files present 3. Stop and report if still failing

References

  • MCP Best Practices - Universal guidelines
  • Python Guide - Python/FastMCP patterns
  • TypeScript Guide - TypeScript patterns
  • TaskFlow Patterns - Internal server patterns
  • Evaluation Guide - Creating evaluations

Related skills

FAQ

Which language does it recommend?

It recommends TypeScript for its high-quality SDK and good AI code generation, with Python/FastMCP also supported.

How many evaluations should I create?

Create 10 evaluation questions to test LLM effectiveness with your server.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.