🎯

building-mcp-servers

🎯Skill

from mjunaidca/mjs-agent-skills

VibeIndex|
What it does

Guides developers in creating robust MCP servers that enable LLMs to interact seamlessly with external services through well-designed, discoverable tools.

πŸ“¦

Part of

mjunaidca/mjs-agent-skills(17 items)

building-mcp-servers

Installation

npm runRun npm script
npm run build
npxRun with npx
npx @modelcontextprotocol/inspector
PythonRun Python server
python -m py_compile your_server.py
πŸ“– Extracted from docs: mjunaidca/mjs-agent-skills
1Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

|

Overview

# 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](references/mcp_best_practices.md) - Core guidelines
  • [TypeScript Guide](references/node_mcp_server.md) - TypeScript patterns
  • [Python Guide](references/python_mcp_server.md) - 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](references/node_mcp_server.md) - Project structure, package.json, tsconfig.json
  • [Python Guide](references/python_mcp_server.md) - 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:

```bash

npm run build

npx @modelcontextprotocol/inspector

```

Python:

```bash

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:

```xml

Your question here

Expected answer

```

See [Evaluation Guide](references/evaluation.md) for complete guidelines.

---

Docker/Containerization

Transport Security (allowed_hosts)

FastMCP validates Host headers. For Docker, configure:

```python

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](references/mcp_best_practices.md) - Universal guidelines
  • [Python Guide](references/python_mcp_server.md) - Python/FastMCP patterns
  • [TypeScript Guide](references/node_mcp_server.md) - TypeScript patterns
  • [TaskFlow Patterns](references/taskflow_patterns.md) - Internal server patterns
  • [Evaluation Guide](references/evaluation.md) - Creating evaluations

More from this repository10

🎯
working-with-spreadsheets🎯Skill

working-with-spreadsheets skill from mjunaidca/mjs-agent-skills

🎯
systematic-debugging🎯Skill

Systematically investigates technical issues by tracing root causes, analyzing patterns, testing hypotheses, and implementing precise fixes without random guesswork.

🎯
working-with-documents🎯Skill

working-with-documents skill from mjunaidca/mjs-agent-skills

🎯
tool-design🎯Skill

I apologize, but I cannot generate a description without seeing the actual content or context of the "tool-design" skill from the repository. Could you provide more details about what this specific...

🎯
browsing-with-playwright🎯Skill

Navigates websites, fills forms, clicks elements, takes screenshots, and extracts data using Playwright browser automation.

🎯
styling-with-shadcn🎯Skill

styling-with-shadcn skill from mjunaidca/mjs-agent-skills

🎯
building-chat-interfaces🎯Skill

Builds production-grade AI chat interfaces with custom backends, authentication, and contextual agent integration.

🎯
building-nextjs-apps🎯Skill

Guides developers in building Next.js 16 applications with correct patterns, handling breaking changes, and implementing modern React design practices.

🎯
docker🎯Skill

Generates production-grade Docker configurations by auto-detecting project structure, analyzing resources, and creating secure containerization templates.

🎯
fetching-library-docs🎯Skill

fetching-library-docs skill from mjunaidca/mjs-agent-skills