clawhub install mcp-server-builderπ About This Skill
name: "mcp-server-builder" description: "MCP Server Builder"
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
When to Use
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
4. Auth & Safety Design
code, message, details) for agent recovery.5. Versioning Strategy
Script Interfaces
python3 scripts/openapi_to_mcp.py --help--input
- Produces manifest + server scaffold
- Emits JSON summary or text report
python3 scripts/mcp_validator.py --helpCommon 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.
Reference Material
Architecture Decisions
Choose the server approach per constraint:
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.
Testing Strategy
tool_manifest.json and review diffs in PR.Deployment Practices
Security Controls
β‘ When to Use
π Tips & 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.