CtrlK
BlogDocsLog inGet started
Tessl Logo

openapi-to-mcp

Build and deploy an MCP server from an OpenAPI / Swagger spec using the mcp-use TypeScript SDK. Use this skill whenever the user wants to "turn this OpenAPI spec into an MCP server", "make this API usable from Claude/ChatGPT", "wrap this Swagger doc as MCP tools", "expose this REST API to an LLM", "generate MCP tools from a spec", or pastes/attaches an `openapi.yaml`, `openapi.json`, or `swagger.json` and asks for a Claude-compatible version. Trigger even if the user doesn't say "MCP" — if they describe an existing HTTP API (REST endpoints, an internal service, a third-party API they have a key for) and want an LLM to call it, this is the right skill. Covers spec ingestion (file path, URL, or pasted), operation-to-tool mapping, auth wiring (apiKey, bearer, basic, OAuth bearer), scaffolding with `create-mcp-use-app`, tool generation with proper zod schemas, live testing in the mcp-use inspector, and deploying to Manufact / mcp-use cloud.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

85%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A highly actionable, well-sequenced skill body with strong validation checkpoints and clean progressive disclosure into real reference files. The main weakness is conciseness: the philosophy framing, the stdio-transport justification, and the duplicated trigger/anti-trigger sections could be trimmed without losing meaning.

Suggestions

Trim the 'Core philosophy: the spec is the contract' section to one line — the 'prefer mechanical fidelity' guidance already conveys it, and the bullet rationale (LLM trusts descriptions, zod mirrors schemas) restates facts Claude knows.

Compress the stdio-transport paragraph in step 8: one sentence ('Cloud deployment, the online inspector, and ChatGPT/Claude custom connectors all need an HTTP endpoint — use streamable HTTP, not stdio.') replaces the four 'can't' clauses.

Drop or shorten the '## Trigger words and aliases' and '## When NOT to use this skill' sections, which restate content already covered in the frontmatter description and the step-1 widget guidance.

DimensionReasoningScore

Conciseness

Mostly efficient with concrete code, but padded in places: the 'Core philosophy' section explains why the LLM trusts descriptions and how zod mirrors schemas, and the stdio-transport paragraph stacks four 'can't' justifications; the 'Trigger words' and 'When NOT to use' sections also duplicate the frontmatter description.

3 / 5

Actionability

Copy-paste ready commands and code throughout — swagger-parser dereference script, create-mcp-use-app scaffold commands, the full index.ts registration loop, mcp-use client CLI invocations, and deploy commands — covering the common cases.

5 / 5

Workflow Clarity

A clear 11-step sequence with explicit validation checkpoints (step 2 $ref sanity-check, step 9 two-layer testing with failure paths and 'Don't claim done until both pass', step 11 ship checklist) and feedback loops for the batch-generation and deploy operations.

5 / 5

Progressive Disclosure

SKILL.md is a well-signaled overview with one-level-deep references to five focused reference files (mapping-rules, code-templates, auth, testing, deploy), all of which exist; each is introduced at the relevant step with a clear description of its contents.

5 / 5

Total

18

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, third-person description that concretely lists capabilities, provides rich natural trigger phrases with synonyms and file extensions, and explicitly covers both what the skill does and when to use it. Voice and distinctiveness are clean with no over-claims.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Build and deploy an MCP server', spec ingestion, 'operation-to-tool mapping', 'auth wiring (apiKey, bearer, basic, OAuth bearer)', 'scaffolding with create-mcp-use-app', 'tool generation with proper zod schemas', testing, and deploying — giving comprehensive coverage.

5 / 5

Completeness

Explicitly answers both 'what' (the full build/deploy pipeline) and 'when' ('Use this skill whenever the user wants to...', 'Trigger even if the user doesn't say "MCP"') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Comprehensive natural terms including synonyms ('OpenAPI / Swagger spec', 'REST API', 'HTTP API', 'internal service', 'third-party API') and file extensions ('openapi.yaml', 'openapi.json', 'swagger.json'), plus quoted user phrases.

5 / 5

Distinctiveness Conflict Risk

Clear niche (OpenAPI/Swagger → MCP server via the mcp-use SDK) with distinct triggers and an explicit hand-off to mcp-apps-builder for widget-driven apps, minimizing overlap risk.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 2 missing

Warning

Total

15

/

16

Passed

Repository
mcp-use/mcp-use
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.