MCP server builder

Design and ship production-ready MCP (Model Context Protocol) servers from OpenAPI contracts instead of hand-written tool wrappers.

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/mcp-server-builder, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit alirezarezvani/claude-skills/engineering/skills/mcp-server-builder#main ~/.claude/skills/mcp-server-builder

For one project only, change the path to .claude/skills/mcp-server-builder. This skill also uses openapi.json — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of MCP server builder

Show the full text101 lines
namedescription
mcp-server-builderDesign and ship production-ready MCP (Model Context Protocol) servers from OpenAPI contracts instead of hand-written tool wrappers. Python and TypeScript support, schema validation, safe evolution. Use when exposing an existing API as an MCP server, building tool integrations for Claude or Codex or Cursor, or scaffolding an MCP project from scratch.

MCP Server Builder

Tier: POWERFUL · Category: Engineering · Domain: AI / API Integration

Overview

Use this skill to design and ship production-ready MCP servers from API contracts instead of hand-written one-off tool wrappers. It focuses on fast scaffolding, schema quality, validation, and safe evolution.

The workflow supports both Python and TypeScript MCP implementations and treats OpenAPI as the source of truth.

Core Capabilities

  • Convert OpenAPI paths/operations into MCP tool definitions
  • Generate starter server scaffolds (Python or TypeScript)
  • Enforce naming, descriptions, and schema consistency
  • Validate MCP tool manifests for common production failures
  • Apply versioning and backward-compatibility checks
  • Separate transport/runtime decisions from tool contract design

When to Use

  • You need to expose an internal/external REST API to an LLM agent
  • You are replacing brittle browser automation with typed tools
  • You want one MCP server shared across teams and assistants
  • You need repeatable quality checks before publishing MCP tools
  • You want to bootstrap an MCP server from existing OpenAPI specs

Key Workflows

1. OpenAPI to MCP Scaffold
  1. Start from a valid OpenAPI spec.
  2. Generate tool manifest + starter server code.
  3. Review naming and auth strategy.
  4. Add endpoint-specific runtime logic.
python3 scripts/openapi_to_mcp.py \
  --input openapi.json \
  --server-name billing-mcp \
  --language python \
  --output-dir ./out \
  --format text

Supports stdin as well:

cat openapi.json | python3 scripts/openapi_to_mcp.py --server-name billing-mcp --language typescript
2. Validate MCP Tool Definitions

Run validator before integration tests:

python3 scripts/mcp_validator.py --input out/tool_manifest.json --strict --format text

Checks include duplicate names, invalid schema shape, missing descriptions, empty required fields, and naming hygiene.

3. Runtime Selection
  • Choose Python for fast iteration and data-heavy backends.
  • Choose TypeScript for unified JS stacks and tighter frontend/backend contract reuse.
  • Keep tool contracts stable even if transport/runtime changes.
4. Harden for Production

Key items before publishing:

  • Keep secrets in env vars, not tool schemas
  • Prefer outbound host allowlists over open proxies
  • Use additive-only changes; never rename tool names in-place

Full hardening guidance: references/production-hardening-guide.md.

Script Interfaces

  • python3 scripts/openapi_to_mcp.py --help
    • Reads OpenAPI from stdin or --input
    • Produces manifest + server scaffold
    • Emits JSON summary or text report
  • python3 scripts/mcp_validator.py --help
    • Validates manifests and optional runtime config
    • Returns non-zero exit in strict mode when errors exist

Reference Material

1---
2name: "mcp-server-builder"
3description: "Design and ship production-ready MCP (Model Context Protocol) servers from OpenAPI contracts instead of hand-written tool wrappers. Python and TypeScript support, schema validation, safe evolution. Use when exposing an existing API as an MCP server, building tool integrations for Claude or Codex or Cursor, or scaffolding an MCP project from scratch."
4---
5 
6# MCP Server Builder
7 
8**Tier:** POWERFUL · **Category:** Engineering · **Domain:** AI / API Integration
9 
10## Overview
11 
12Use this skill to design and ship production-ready MCP servers from API contracts instead of hand-written one-off tool wrappers. It focuses on fast scaffolding, schema quality, validation, and safe evolution.
13 
14The workflow supports both Python and TypeScript MCP implementations and treats OpenAPI as the source of truth.
15 
16## Core Capabilities
17 
18- Convert OpenAPI paths/operations into MCP tool definitions
19- Generate starter server scaffolds (Python or TypeScript)
20- Enforce naming, descriptions, and schema consistency
21- Validate MCP tool manifests for common production failures
22- Apply versioning and backward-compatibility checks
23- Separate transport/runtime decisions from tool contract design
24 
25## When to Use
26 
27- You need to expose an internal/external REST API to an LLM agent
28- You are replacing brittle browser automation with typed tools
29- You want one MCP server shared across teams and assistants
30- You need repeatable quality checks before publishing MCP tools
31- You want to bootstrap an MCP server from existing OpenAPI specs
32 
33## Key Workflows
34 
35### 1. OpenAPI to MCP Scaffold
36 
371. Start from a valid OpenAPI spec.
382. Generate tool manifest + starter server code.
393. Review naming and auth strategy.
404. Add endpoint-specific runtime logic.
41 
42```bash
43python3 scripts/openapi_to_mcp.py \
44 --input openapi.json \
45 --server-name billing-mcp \
46 --language python \
47 --output-dir ./out \
48 --format text
49```
50 
51Supports stdin as well:
52 
53```bash
54cat openapi.json | python3 scripts/openapi_to_mcp.py --server-name billing-mcp --language typescript
55```
56 
57### 2. Validate MCP Tool Definitions
58 
59Run validator before integration tests:
60 
61```bash
62python3 scripts/mcp_validator.py --input out/tool_manifest.json --strict --format text
63```
64 
65Checks include duplicate names, invalid schema shape, missing descriptions, empty required fields, and naming hygiene.
66 
67### 3. Runtime Selection
68 
69- Choose **Python** for fast iteration and data-heavy backends.
70- Choose **TypeScript** for unified JS stacks and tighter frontend/backend contract reuse.
71- Keep tool contracts stable even if transport/runtime changes.
72 
73### 4. Harden for Production
74 
75Key items before publishing:
76 
77- Keep secrets in env vars, not tool schemas
78- Prefer outbound host allowlists over open proxies
79- Use additive-only changes; never rename tool names in-place
80 
81Full hardening guidance: [references/production-hardening-guide.md](references/production-hardening-guide.md).
82 
83## Script Interfaces
84 
85- `python3 scripts/openapi_to_mcp.py --help`
86 - Reads OpenAPI from stdin or `--input`
87 - Produces manifest + server scaffold
88 - Emits JSON summary or text report
89- `python3 scripts/mcp_validator.py --help`
90 - Validates manifests and optional runtime config
91 - Returns non-zero exit in strict mode when errors exist
92 
93## Reference Material
94 
95- [references/production-hardening-guide.md](references/production-hardening-guide.md) — auth & safety design, versioning strategy, common pitfalls, best practices, architecture decisions, contract quality gates, testing strategy, deployment practices, security controls
96- [references/openapi-extraction-guide.md](references/openapi-extraction-guide.md)
97- [references/python-server-template.md](references/python-server-template.md)
98- [references/typescript-server-template.md](references/typescript-server-template.md)
99- [references/validation-checklist.md](references/validation-checklist.md)
100- [README.md](README.md)
101 

Discussion

Alternatives

Also in Agents & MCPSee all 533 in Development →