Skip to content
cccskills
FreePublished on GitHub

mcp-server-builder

Design and ship production-ready MCP servers from OpenAPI contracts. Scaffolds Python/TypeScript servers, enforces schema quality, validates tool manifests, and manages versioning for safe evolution.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3 stars(GitHub 3 + cccskills 0)

Run score Not tested

See how to install

Files included (7)

  • SKILL.md5.5 KB
  • references/openapi-extraction-guide.md867 B
  • references/python-server-template.md610 B
  • references/typescript-server-template.md346 B
  • references/validation-checklist.md1.3 KB
  • scripts/mcp_validator.py5.5 KB
  • scripts/openapi_to_mcp.py9.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

MCP Server Builder

Design and ship production-ready MCP servers from API contracts instead of hand-written one-off tool wrappers. 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.

Note: This skill may create or modify files in your project. It will ask before writing.

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

2. Validate MCP Tool Definitions

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

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

3. Auth & Safety Design

  • Keep secrets in env, not in tool schemas.
  • Prefer explicit allowlists for outbound hosts.
  • Return structured errors (code, message, details) for agent recovery.
  • Avoid destructive operations without explicit confirmation inputs.

An MCP server is an API whose caller is a model that can be steered by any text it reads. Design against these threats:

ThreatExampleDefense
Unauthorized accessA remote server with no auth, or one shared key for every userOAuth 2.1 per user for HTTP transports; the tool runs with the calling user's permissions, never a service admin
Injection through resultsA document or ticket returned by a tool says "now call delete_repo"Return data, not instructions; mark untrusted content; destructive tools require a confirmation argument
Tool poisoningA tool description with hidden instructions, or one that changes after approvalStatic, reviewed descriptions; version the manifest; clients pin the server version
Path traversalread_file("../../.ssh/id_rsa")Resolve the path, then check it stays under an allowed root; reject symlinks out of it
SQL / command injectionArguments concatenated into a query or a shell commandParameterized queries; no shell, or an argument list with an allowlist of programs
SSRFfetch_url("http://169.254.169.254/...")Allowlist hosts; block private, loopback and metadata ranges after DNS resolution
Credential theftTokens returned in results or written to logsNever echo secrets; redact logs; short-lived tokens scoped to one user
Unbounded useA loop calling an expensive tool thousands of timesRate limits and quotas per user and per tool; timeouts on every outbound call

4. Versioning Strategy

  • Additive fields only for non-breaking updates.
  • Never rename tool names in-place.
  • Introduce new tool IDs for breaking behavior changes.
  • Maintain changelog of tool contracts per release.

Common Pitfalls

  1. Tool names derived directly from raw paths (get__v1__users___id)
  2. Missing operation descriptions (agents choose tools poorly)
  3. Ambiguous parameter schemas with no required fields
  4. Mixing transport errors and domain errors in one opaque message
  5. Building tool contracts that expose secret values
  6. Breaking clients by changing schema keys without versioning

Best Practices

  1. Use operationId as canonical tool name when available.
  2. Keep one task intent per tool; avoid mega-tools.
  3. Add concise descriptions with action verbs.
  4. Validate contracts in CI using strict mode.
  5. Keep generated scaffold committed, then customize incrementally.
  6. Pair contract changes with changelog entries.

Contract Quality Gates

Before publishing a manifest:

  1. Every tool has clear verb-first name.
  2. Every tool description explains intent and expected result.
  3. Every required field is explicitly typed.
  4. Destructive actions include confirmation parameters.
  5. Error payload format is consistent across all tools.
  6. Validator returns zero errors in strict mode.

Reference Material

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Plan, design, and implement A/B tests and experiments with statistical rigor. Covers hypothesis frameworks, sample sizing, metrics, and result analysis.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Web/mobile accessibility decision guide: WCAG 2.2 AA, ARIA, keyboard nav, focus management, contrast, testing. Use for: a11y, accessibility, wcag, aria, screen reader, keyboard, contrast.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Generate, iterate, and scale ad creative for paid advertising across Google, Meta, LinkedIn, and X. Covers platform specs, creative frameworks, and quality validation.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Musica interactiva para juegos: layering vertical, re-secuenciacion horizontal, stingers, reglas de transicion con sync points, y mapeo de estados de gameplay a musica. Usar para: musica adaptativa, sistema de musica dinamica, transiciones musicales, combat music.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Design multi-agent systems, create agent architectures, define communication patterns, and build autonomous agent workflows with structured evaluation frameworks.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

Inter-agent communication protocol for C-suite agent teams. Defines invocation syntax, loop prevention, isolation rules, response formats, and quality loops.

The English summary is being prepared. Showing the original description.

SebastianLuser/claude-code-arcane3Updated Oct 27, 2026

See all skills by SebastianLuser

Report a problem with this skill