Skip to main content
Glama

Read an OpenAPI/Swagger spec

ingest_openapi
Read-onlyIdempotent

Summarize API documentation from a URL, file, or text into servers, security, and operation details, enabling endpoint and schema inspection for MCP server generation.

Instructions

Summarise API documentation given as a URL, a local file path or text: OpenAPI 3.x / Swagger 2 (JSON or YAML, multi-file specs with external $refs fetched), Postman collections (v2.x) and environments, API Blueprint (text or an Apiary-hosted page), RAML, WSDL (SOAP), a GraphQL endpoint (introspection) or saved introspection result, RSS/Atom/XML answers. Returns servers, security, and an operation list: method, path, parameters with location/type/enum/default, request body keys, the 200 response shape (which path holds the list, record keys, nested objects, maps keyed by id) with the documented example, paging parameters and rate limits. A spec over 60 operations without filter returns a one-line index with tag counts: call again with filter (a path, tag or word) for details. A Redoc HTML page is read from the spec it embeds; other HTML pages are not_openapi with the spec links found on them; AsyncAPI (event streams) is explained as not servable; specs over 25 MB are too_large.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
filterNo
sourceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds substantial behavior beyond them: the 60-operation index cutoff, the 25 MB size limit, external $ref fetching, Redoc embedding extraction, HTML/AsyncAPI failure modes with the exact error tokens returned. This is unusually rich disclosure of edge-case behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and source formats, then return shape, then edge cases. It is dense and reads as a single sprawling paragraph, but nearly every clause conveys actionable behavior rather than filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description fully characterizes the return value (servers, security, per-operation method/path/params with location/type/enum/default, request body keys, 200 response shape, paging, rate limits). Combined with the documented failure modes, an agent has everything needed to call and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the burden. It explains `filter` well (a path, tag or word, and when it becomes mandatory) and `source` extensively via the format list, but the `limit` parameter (default 200) is never mentioned, leaving one of three parameters undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Summarise API documentation') and enumerates the exact source formats accepted (OpenAPI 3.x/Swagger 2, Postman, API Blueprint, RAML, WSDL, GraphQL, RSS/Atom). An agent can distinguish this immediately from siblings like read_docs or catalog_get.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States concrete usage conditions: specs over 60 operations return a one-line index and require a second call with `filter`; over 25 MB yields too_large; HTML pages other than Redoc yield not_openapi; AsyncAPI is not servable. It does not name a sibling alternative (e.g. read_docs), so it stops short of full when/when-not routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.