agentleFS
DROOdotFOODROOdotFOO/agent-skills/skills/mcp-server-builder/SKILL.md

mcp-server-builder

Skill1 starsChanged 2 months agoMITView on GitHub

Scaffold MCP servers from OpenAPI specs. TRIGGER when: user asks to build an MCP server, convert an OpenAPI/Swagger spec to MCP tools, generate MCP tool definitions, or scaffold a FastMCP/TypeScript MCP project. DO NOT TRIGGER when: user is configuring an existing MCP server, writing MCP clients, or working with Claude API directly (use claude-api skill).

Files
SKILL.md

MCP Server Builder

Generate Model Context Protocol servers from OpenAPI specifications. Supports Python (FastMCP) and TypeScript targets.

What You Get

  • Working MCP server directory scaffolded from an OpenAPI spec
  • Typed tool definitions, auth wrappers, confirmation gates, and test stubs

Workflow

  1. Parse -- Read the OpenAPI spec (JSON or YAML), extract paths, operations, schemas, and auth requirements.
  2. Generate -- Map each operation to an MCP tool definition with typed input schemas. Apply naming conventions (verb_noun, snake_case).
  3. Secure -- Add auth wrappers, host allowlists, confirmation gates for destructive operations, and structured error payloads.
  4. Validate -- Run the manifest through lint checks: duplicate names, missing descriptions, invalid schemas, naming hygiene.
  5. Test -- Unit tests for schema transforms, contract tests for manifest snapshots, integration tests against a staging API.

Quality Gates (before publishing)

  • Every tool has a non-empty description
  • No duplicate tool names
  • All destructive operations require confirmation input
  • Secrets sourced from env vars only (none in schemas or defaults)
  • Host allowlist is explicit (no wildcards unless justified)
  • Manifest passes strict validation (validation.md)
  • Unit + contract tests pass
  • Integration test against at least one live endpoint

Top Pitfalls

MistakeFix
Leaking API keys in tool schemasUse env vars; never put secrets in inputSchema defaults
Generic tool names (get_data)Use API-specific prefixes (github_list_repos)
Missing error structureReturn {error: string, code: number}, not raw strings
Huge parameter objectsFlatten or split; MCP tools work best with focused inputs
No confirmation on DELETEAdd confirm: true input for destructive operations

Reading Guide

TopicFile
OpenAPI-to-MCP mapping, scaffold templatesscaffolding.md
Auth patterns, safety, error designauth-and-safety.md
Manifest validation and CI checksvalidation.md
Testing strategy (unit/contract/integration)testing.md

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.