mcp-builder
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
How do I install this agent skill?
npx skills add https://github.com/moizibnyousaf/ai-agent-skills --skill mcp-builderIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill is a development guide for creating Model Context Protocol (MCP) servers. It provides architectural guidance, best practices, and code snippets for TypeScript and Python implementations. It references official documentation and standard testing tools from the MCP ecosystem. No security risks were identified.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
MCP Server Development Guide
Create MCP servers that enable LLMs to interact with external services through well-designed tools.
High-Level Workflow
Phase 1: Research and Planning
Understand Modern MCP Design:
- Balance comprehensive API coverage with specialized workflow tools
- Use clear, descriptive tool names with consistent prefixes (e.g.,
github_create_issue) - Design tools that return focused, relevant data
- Provide actionable error messages
Study MCP Protocol:
- Start with sitemap:
https://modelcontextprotocol.io/sitemap.xml - Key pages: specification, transport mechanisms, tool definitions
Phase 2: Implementation
Recommended Stack:
- Language: TypeScript (best SDK support)
- Transport: Streamable HTTP for remote, stdio for local
Project Structure:
my-mcp-server/
├── src/
│ ├── index.ts # Server entry point
│ ├── tools/ # Tool implementations
│ └── utils/ # Shared utilities
├── package.json
└── tsconfig.json
Tool Implementation Pattern:
server.registerTool({
name: "github_create_issue",
description: "Create a new GitHub issue",
inputSchema: z.object({
repo: z.string().describe("Repository name (owner/repo)"),
title: z.string().describe("Issue title"),
body: z.string().optional().describe("Issue body")
}),
outputSchema: z.object({
id: z.number(),
url: z.string()
}),
annotations: {
readOnlyHint: false,
destructiveHint: false,
idempotentHint: false
},
handler: async (input) => {
// Implementation
return { id: 123, url: "https://..." };
}
});
Phase 3: Test
# TypeScript
npm run build
npx @modelcontextprotocol/inspector
# Python
python -m py_compile your_server.py
Phase 4: Create Evaluations
Create 10 complex, realistic questions to test your MCP server:
<evaluation>
<qa_pair>
<question>Find all open issues labeled 'bug' in the repo</question>
<answer>5</answer>
</qa_pair>
</evaluation>
Tool Design Best Practices
- Use Zod (TS) or Pydantic (Python) for schemas
- Include constraints and examples in field descriptions
- Define
outputSchemafor structured data - Support pagination where applicable
- Add tool annotations (readOnly, destructive, idempotent)
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/moizibnyousaf/ai-agent-skills/mcp-builder">View mcp-builder on skillZs</a>