跳到正文
cccskills
免费在 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.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane星标 3(GitHub 3 + cccskills 0)

实测评分 未实测

查看安装方法

包含的文件(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(原文)

安装前可以查看交给 AI 代理的指令内容。

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

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

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.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

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

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

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.

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

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

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

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

中文简介正在准备中。当前显示原文说明。

SebastianLuser/claude-code-arcane32026年10月27日 更新

查看 SebastianLuser 的全部技能

报告此技能的问题