Skip to main content
Glama

MCP Swagger Reader

MCP工具,用于读取和解析Swagger/OpenAPI规范,帮助你快速查看项目接口信息。

功能

  • 支持配置多个项目的Swagger地址(支持URL和本地文件)

  • 获取所有API接口列表

  • 获取指定接口的详细信息

  • 获取数据模型/Schemas

  • 搜索API接口

  • 根据接口路径和方法生成TypeScript类型(请求参数、Body、响应)

Related MCP server: Swagger MCP (Multi-API Edition)

安装

cd mcp-swagger-reader
npm install
npm run build

MCP配置

Cursor/Claude Desktop配置

~/.cursor/mcp.json~/Library/Application Support/Claude/mcp.json 中添加:

{
  "mcpServers": {
    "swagger-reader": {
      "command": "node",
      "args": [
        "/Users/momei/code/my_project/mcp-swagger-reader/dist/index.mjs"
      ],
      "env": {}
    }
  }
}

环境变量预置项目

可以通过 SWAGGER_PROJECTS 环境变量预置项目:

{
  "mcpServers": {
    "swagger-reader": {
      "command": "node",
      "args": ["/path/to/dist/index.mjs"],
      "env": {
        "SWAGGER_PROJECTS": "[{\"name\":\"my-api\",\"swaggerUrl\":\"http://example.com/swagger.json\"}]"
      }
    }
  }
}

支持多个项目:

"SWAGGER_PROJECTS": "[{\"name\":\"api1\",\"swaggerUrl\":\"http://...\"},{\"name\":\"api2\",\"swaggerUrl\":\"http://...\"}]"

数据存储

项目配置保存在 ~/.mcp-swagger-reader/projects.json,重启后自动加载。

工具列表

add_swagger_project

添加一个项目的Swagger配置。

参数:

  • name: 项目名称

  • swaggerUrl: Swagger/OpenAPI JSON文件的URL地址或本地文件路径

示例:

await add_swagger_project({
  name: "my-project",
  swaggerUrl: "https://api.example.com/v2/api-docs",
});

list_swagger_projects

列出所有已配置的Swagger项目。

get_api_endpoints

获取指定项目的所有API接口列表。

参数:

  • projectName: 项目名称

get_api_detail

获取指定接口的详细信息。

参数:

  • projectName: 项目名称

  • path: API路径,如 /users/{id}

  • method: HTTP方法,如 GET, POST

get_schemas

获取指定项目的所有数据模型/Schemas。

参数:

  • projectName: 项目名称

search_apis

根据关键词搜索API接口。

参数:

  • projectName: 项目名称

  • keyword: 搜索关键词

reload_swagger

重新加载项目的Swagger规范。

参数:

  • projectName: 项目名称

generate_ts_by_endpoint

根据 API 接口路径和方法生成 TypeScript 类型(请求参数、Body、响应)。

参数:

  • projectName: 项目名称

  • path: API路径,如 /access/packageUnit/queryList

  • method: HTTP方法,如 GET, POST, PUT, DELETE

返回:

  • T{Endpoint}Params - 请求参数接口

  • T{Endpoint}Response - 响应类型接口

使用示例

  1. 首先添加项目配置:

await add_swagger_project({
  name: "user-service",
  swaggerUrl: "https://petstore.swagger.io/v2/swagger.json",
});
  1. 查看所有接口:

await get_api_endpoints({ projectName: "user-service" });
  1. 获取某个接口详情:

await get_api_detail({
  projectName: "user-service",
  path: "/pet/{petId}",
  method: "GET",
});
  1. 搜索接口:

await search_apis({
  projectName: "user-service",
  keyword: "user",
});

Available Tools

9 tools
add_swagger_projectC

添加一个项目的Swagger/OpenAPI配置

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes项目名称
swaggerUrlYesSwagger/OpenAPI JSON文件的URL地址或本地文件路径

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral disclosure burden. It only restates the purpose without explaining side effects, whether an existing project is overwritten, whether the URL is fetched immediately, what success/failure looks like, or any access/permission requirements. The verb 'add' implies mutation, but no meaningful behavioral context is provided.

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

Conciseness3/5

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

The description is a single sentence with no wasted words, which is concise. However, it is under-specified: it front-loads the purpose but provides no structured context such as expected behavior, return value, or edge cases. It is not as informative as it could be for the same length.

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

Completeness3/5

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

For a simple two-parameter side-effecting tool, the schema covers parameter semantics and the description states the core operation. But there is no output schema and no annotations, and the description does not mention what happens after the call, whether the project must already exist, or how errors are surfaced. It is minimally viable but leaves clear gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully names and describes both required parameters (name and swaggerUrl). The description adds no extra meaning to either parameter beyond what the schema provides, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb ('添加' / add) and identifies the resource: a project's Swagger/OpenAPI configuration. This clearly separates it from sibling tools that get endpoints, list projects, reload, or clear caches. It is not a 5 because it doesn't clarify whether 'add' means registering a new project, persisting a config, or fetching from the URL.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool instead of alternatives such as reload_swagger or list_swagger_projects. There are no stated prerequisites, exclusions, or conditions selecting this tool over a sibling. Usage is only implicitly inferable from the tool name and the word 'add'.

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

clear_type_cacheA

清除指定项目的类型缓存,强制重新生成

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNameNo项目名称,不传则清除所有缓存

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does state the core side effect—clearing the cache and forcing regeneration—but it does not mention reversibility, impact on unrelated projects when projectName is omitted, or any other regeneration side effects.

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

Conciseness5/5

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

The description is a single short sentence with every part earning its place: the action, the resource, the scope, and the forced regeneration. It is front-loaded and contains no filler.

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

Completeness4/5

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

For a single-optional-parameter cache-action tool, the description plus schema provide enough information for an agent to select and invoke it correctly. It does not include fuller usage or side-effect context, which prevents a perfect score.

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

Parameters3/5

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

The input schema has 100% description coverage for projectName, including what happens when it is omitted. The tool description adds no additional parameter context, so the baseline score of 3 applies.

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?

The description gives a specific verb ('清除'/'clear'), a resource ('type cache'), and a scope ('specified project'), plus the outcome of forced regeneration. No sibling tool is described as clearing a type cache, so it is distinguishable from reload_swagger and the API listing/generation tools.

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

Usage Guidelines3/5

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

The intended use is implied: call this tool when the type cache needs clearing or regeneration. However, there is no explicit when-to-use or when-not-to-use guidance and no reference to sibling alternatives.

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

generate_ts_by_endpointC

根据 API 接口路径和方法生成 TypeScript 类型(请求参数、Body、响应),作为模型输入,可以进一步调整并输出

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAPI路径,如 /access/packageUnit/queryList
methodYesHTTP方法,如 GET, POST, PUT, DELETE
projectNameYes项目名称

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it generates types and can be further adjusted, but it does not disclose whether the operation is read-only, whether it requires network/cache access, how long it might take, or what the exact output format is. For an unannotated tool, this is a significant gap.

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?

The description is a single sentence with the main action front-loaded. The phrase '作为模型输入,可以进一步调整并输出' adds mild ambiguity but does not bloat the text meaningfully. Efficient and compact.

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

Completeness2/5

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

Without an output schema or annotations, the description must explain what the tool produces and under what conditions. It names 'TypeScript types' as the output but says nothing about structure, return behavior, error handling, or prerequisites such as an existing project. The three parameters are schema-documented, but the tool's operational context is under-specified.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description's reference to 'request parameters, Body, response' hints at the generated content but adds no meaning beyond the schema's parameter descriptions. Baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states a specific action ('generate TypeScript types') and the resource (API endpoint path + method). It distinguishes the tool from siblings like get_api_endpoints or get_schemas by focusing on type generation. It is slightly vague in the trailing 'as model input, can be adjusted and output' phrase, but the core purpose is unambiguous.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives such as get_schemas or get_api_detail. It does not mention prerequisites (e.g., the swagger project must already be loaded) or situations where a sibling would be more appropriate.

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

get_api_detailC

获取指定接口的详细信息

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAPI路径,如 /users/{id}
methodYesHTTP方法,如 GET, POST
projectNameYes项目名称

TDQS

C2.9/5.0
Behavior2/5

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

没有任何annotations,描述本身只说了获取信息,没有披露返回值结构、分页行为、权限要求、是否只读等。对于没有annotations的工具,描述的负担较重,而它只提供了最基本的信息。

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?

一句话,简洁明了,没有冗余。虽然简短,但在信息量有限的前提下,结构上能够直接传达核心用途。

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

Completeness2/5

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

没有输出schema,因此描述需要解释返回什么,但它没有。三个必需参数都已在schema中定义,但缺少返回值说明、使用示例、错误行为等信息。对于一个API详情查询工具来说,这些信息对于agent正确调用至关重要。

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

Parameters3/5

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

输入schema对三个参数的描述覆盖率是100%,每个参数都有明确的type和description。描述本身没有添加任何额外的参数语义,但schema已经做了足够的工作,因此给出基线3分。

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

Purpose4/5

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

描述包含明确动词“获取”和资源“指定接口的详细信息”,说明这是一个查询工具。虽然描述没有提及具体字段,但信息是清晰且无歧义的。它没有明确与sibling工具区分,但整体上可以让agent理解其用途。

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

Usage Guidelines2/5

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

没有提供任何使用场景、触发条件、前置条件或与其他工具的对比信息。描述仅说明工具做什么,完全没有说明什么时候使用或什么时候不使用。

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

get_api_endpointsA

获取指定项目的所有API接口列表

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNameYes项目名称

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It uses '获取' (fetch), clearly implying a read-only operation, and '所有' (all) indicates the full scope of results. However, it does not disclose output structure, pagination, potential errors, or any side effects, leaving behavioral detail thin.

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

Conciseness5/5

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

The description is one compact sentence that front-loads the core action and resource. Every word earns its place, with no filler or repetition of the tool name.

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

Completeness3/5

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

For a simple one-parameter read tool, the description is serviceable: it states what is returned (a list of API endpoints) and identifies the required input. But an output schema and annotations are absent, so details like item shape, error behavior, and dependency on an existing project are missing, leaving the description minimally complete.

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

Parameters3/5

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

The schema already documents the single required parameter projectName as '项目名称', and the description's '指定项目' reinforces its meaning. With 100% schema description coverage, the baseline of 3 applies, and the description adds no new format, source, or validation context.

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?

The description clearly states the action (获取/get) and the resource (指定项目的所有API接口/all API endpoints of a specified project). It is implicitly differentiated from siblings: get_api_detail targets a single endpoint, search_apis searches, and list_swagger_projects lists projects, while this tool lists all endpoints for one project.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool instead of alternatives such as search_apis or get_api_detail, and no mention of prerequisites like needing the project to already be managed by a swagger project. The only context is the tool name and sibling names, which are not referenced in the description.

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

get_schemasB

获取指定项目的所有数据模型/Schemas

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNameYes项目名称

TDQS

B3.3/5.0
Behavior2/5

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

There are no annotations, so the description carries the full behavioral disclosure burden, but it only restates the core function. It does not mention output format, pagination, error behavior, or whether any project validation occurs.

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

Conciseness5/5

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

The description is a single, compact sentence with no filler. It front-loads the action and resource and does not repeat information that is already in the schema.

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

Completeness3/5

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

For a one-parameter list tool the description is minimally viable, but it lacks usage context and return information, and there is no output schema to compensate. An agent can likely call it correctly, but needs to infer behavior and alternatives.

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

Parameters3/5

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

The only parameter, projectName, is already fully described in the schema with 100% coverage. The description's reference to '指定项目' adds no new semantic detail beyond the schema, so the baseline score of 3 applies.

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?

The description states a specific action ('get') and resource ('all data models/Schemas') scoped to a named project. This clearly differentiates it from siblings like get_api_endpoints and get_api_detail, which target different resource types.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool instead of the sibling tools, nor are any preconditions or exclusion cases mentioned. The description does not help the agent choose between get_schemas, get_api_detail, or search_apis beyond naming the resource.

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

list_swagger_projectsA

列出所有已配置的Swagger项目

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description carries the behavioral disclosure burden. The word 'list' implies a read-only, non-mutating operation and the scope is stated, but the description does not disclose output shape, ordering, pagination, or whether configuration state is refreshed. For a simple listing tool this is adequate but not rich.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler or redundant restatement of the tool name. Every word adds semantic content.

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

Completeness4/5

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

For a parameterless list operation, the description covers the essential operation and scope. It does not describe the returned fields, but the absence of an output schema makes this a minor gap rather than a blocker.

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?

The input schema has zero parameters, and the description reinforces this by saying 'all configured' projects are listed with no filtering or selection. The baseline of 4 for zero-parameter tools applies.

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?

The description states a direct action ('列出'/'list') and a concrete scope ('所有已配置的Swagger项目'/'all configured Swagger projects'). This clearly identifies the operation and separates it from sibling tools that fetch endpoints, schemas, or details.

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

Usage Guidelines3/5

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

The use case is implied: call this when you need an inventory of configured Swagger projects. However, the description gives no explicit when-to-use guidance, no mention of alternatives, and no exclusion criteria, so the agent must infer when this is appropriate.

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

reload_swaggerB

重新加载项目的Swagger规范,同时清除类型缓存

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNameYes项目名称

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It discloses two primary effects: reloading the Swagger spec and clearing the type cache, which is useful transparency for a mutation-like operation. However, it does not describe consequences, permissions, reversibility, or what happens if the project does not exist.

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

Conciseness5/5

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

The description is a single compact sentence that front-loads the main action and then adds the secondary effect. There is no redundant or extraneous content.

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

Completeness4/5

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

This is a low-complexity tool with one well-documented required parameter and no output schema. The description covers the purpose and a significant side effect, leaving only minor gaps such as preconditions (e.g., project must already exist) and detailed behavioral consequences.

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

Parameters3/5

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

Schema description coverage is 100%, so the projectName parameter is already documented as '项目名称'. The description reinforces the project context but does not add meaning beyond the schema, which is acceptable under the high-coverage baseline.

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

Purpose4/5

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

The description states a specific action ('重新加载' / reload) applied to a clear resource (the project's Swagger spec), and it also names the secondary effect of clearing the type cache. This is unambiguous, but it does not explicitly differentiate itself from the sibling clear_type_cache tool beyond the main reload purpose.

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

Usage Guidelines2/5

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

There is no guidance about when to use reload_swagger instead of related tools like clear_type_cache or add_swagger_project. Usage context is only implied by the verb 'reload' — e.g., after a Swagger spec changes — but no explicit conditions, exclusions, or alternatives are given.

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

search_apisB

根据关键词搜索API接口

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes搜索关键词,会在路径、摘要、描述中搜索
projectNameYes项目名称

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description carries full responsibility for behavioral disclosure. It only says 'search', which implies a read-only operation, but it does not explicitly state safety, side effects, or result behavior beyond the search.

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?

The one-sentence description is appropriately short and front-loaded for a simple search tool; there is no filler. It could add a little more useful detail without becoming verbose.

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

Completeness2/5

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

With no annotations and no output schema, the description does not disclose whether results are a list, snippets, or full endpoint data, nor does it mention the required projectName scoping. The minimal wording is adequate only for a very simple search operation.

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

Parameters3/5

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

Schema description coverage is 100% — both keyword (with the fields it searches) and projectName are documented in the schema. The tool description adds no extra semantics beyond the schema, so it is at baseline 3.

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

Purpose4/5

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

The description states a specific action (search) and resource (API interfaces) with the means (by keyword). It is not a tautology of the tool name because it adds the keyword-based search mechanism, and the sibling names (get_api_endpoints, get_api_detail) suggest search is distinct. However, it does not explicitly differentiate itself from siblings.

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

Usage Guidelines3/5

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

The description implies this tool is for keyword-driven lookup, but it does not state when to prefer it over get_api_endpoints or get_api_detail, nor does it provide any exclusion or alternative guidance.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.2
    • First observedadd_swagger_project
    • First observedclear_type_cache
    • First observedgenerate_ts_by_endpoint
    • First observedget_api_detail
    • First observedget_api_endpoints
    • First observedget_schemas
    • First observedlist_swagger_projects
    • First observedreload_swagger
    • First observedsearch_apis

TDQS

A3.5/5.0
Disambiguation4/5

Most tools target distinct resources and actions: endpoints, schemas, projects, and type generation are clearly separated. The only potential confusion is between reload_swagger and clear_type_cache, as reload also clears the type cache, but the descriptions clarify that reload additionally re-fetches the spec.

Naming Consistency4/5

Tool names consistently follow a snake_case verb_noun pattern (get_, list_, add_, search_, clear_, generate_). Minor inconsistencies exist, such as 'get_schemas' missing an 'api' prefix and 'list_swagger_projects' plural versus 'add_swagger_project' singular, but the overall pattern is predictable.

Tool Count5/5

With 9 tools, the server is well-scoped for its purpose. Each tool serves a distinct function within the Swagger/OpenAPI management and code generation workflow, without unnecessary redundancy or bloat.

Completeness4/5

Core workflows are well covered: project setup, listing, reloading, endpoint discovery, schema inspection, and TypeScript generation. The main gap is that projects can be added but not deleted or updated, which may be a minor limitation for full project lifecycle management.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI to interact with multiple Swagger/OpenAPI specifications by listing endpoints, exploring models, and generating TypeScript code. It centralizes the management of various APIs through a configuration file, allowing for seamless integration of documentation into AI workflows.
    214
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Loads and queries OpenAPI/Swagger documents, providing tools to list APIs, get details, search endpoints, and manage schemas for efficient API exploration.
    4
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Parses Swagger 2.0 and OpenAPI 3.x specifications, exposing API endpoints, schemas, and authentication through MCP tools with local caching to reduce token usage.
    11
    27
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/momei-LJM/mcp-swagger-reader'

If you have feedback or need assistance with the MCP directory API, please join our Discord server