Token导航 LogoToken导航

MCP Server · 开发工具

Swagger Ts Gen

从Swagger/OpenAPI文档自动为前端接口文件生成TypeScript类型定义,支持命令行和AI IDE集成调用。

stdio官方级别未说明来源级核验工具 1
开发工具代码生成TypeScriptCursorAPI文档

快速开始

作者 / 组织
lhbDesign
提供方
lhbDesign
运行时
Node.js

工具数量

1

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Swagger Ts Gen 属于开发工具类 MCP Server,公开资料标注 1 个工具,通过stdio 本地进程接入,适配 Cursor,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

npx --no-install swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html

客户端配置示例

{
  "mcpServers": {
    "swagger-ts-gen": {
      "command": "npx",
      "args": [
        "--no-install",
        "swagger-ts-mcp",
        "--file",
        "src/api/user.ts",
        "--swagger",
        "https://your-api/doc.html"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 1 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

swagger-ts-mcp

中文 | English

从 Swagger/OpenAPI 文档自动为前端接口文件生成 TypeScript 类型定义。

支持两种调用方式:命令行(CLI) 和 MCP Server(AI IDE 集成)。


目录


安装与执行方式

方式一:全局安装(适合经常使用)

npm install -g swagger-ts-mcp

执行:

swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html

注意:--file 路径是相对于当前命令行所在目录的,需要在项目根目录下执行,或使用绝对路径。


方式二:安装到项目依赖(推荐团队协作)

安装后会固定版本,团队成员执行行为一致。

npm:

npm i -D swagger-ts-mcp
npx --no-install swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html

pnpm:

pnpm add -D swagger-ts-mcp
pnpm exec swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html

yarn:

yarn add -D swagger-ts-mcp
yarn swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html

方式三:npx 临时使用(不安装)

npx swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html
npx 在本地没安装时会尝试从 npm 拉取。 如果你只想用“本地已安装版本”,请使用 npx --no-install swagger-ts-mcp。

快速开始

第一步:在项目根目录创建配置文件 swagger-ts-gen.config.json:

{
  "swaggerUrl": "https://your-api/doc.html",
  "defaultFiles": ["src/api/user.ts"]
}

第二步:运行命令(按你的安装方式选择其一):

# A. 全局安装后可直接用
swagger-ts-mcp

# B. 安装到项目依赖(npm)
npx --no-install swagger-ts-mcp

# C. 安装到项目依赖(pnpm)
pnpm exec swagger-ts-mcp

工具会自动:

  1. 解析接口文件,找出参数类型为 any 或未定义的函数
  2. 从 Swagger 文档获取对应接口的 Schema
  3. 生成 TypeScript interface/type,插入到函数定义上方
  4. 将函数参数的 any 替换为生成的具体类型名

示例:

处理前:

// 取消发布
export async function cancelPublishApi(params?: any) {
  return requestClient.get("/model/publish/cancel", { params });
}

处理后:

/** 取消发布请求参数 */
export interface CancelPublishParams {
  /** 模型ID */
  modelId?: number;
}

// 取消发布
export async function cancelPublishApi(params?: CancelPublishParams) {
  return requestClient.get("/model/publish/cancel", { params });
}

配置文件

在项目根目录创建 swagger-ts-gen.config.json:

{
  "swaggerUrl": "https://your-api/doc.html",
  "defaultFiles": ["src/api/user.ts", "src/api/order.ts"],
  "endpointPrefix": "/algo",
  "clientName": "requestClient",
  "outputStyle": "interface"
}
配置项类型默认值说明
swaggerUrlstring—Swagger 文档地址,支持 doc.html、/v3/api-docs、/v2/api-docs
defaultFilesstring[]—默认处理的接口文件路径列表
endpointPrefixstring""接口路径前缀。代码里路径是 /algo/user/list,但 Swagger 里是 /user/list,则设为 /algo
clientNamestring"requestClient"HTTP 客户端对象名称,如 axios、http、request
outputStyle`"interface" \"type"`"interface"生成类型的风格

配置读取规则与优先级

  • 工具读取:{当前工作目录}/swagger-ts-gen.config.json
  • 也就是:你从哪个目录执行命令,就从哪个目录找配置文件
  • --file 相对路径也是相对于当前工作目录
  • CLI 参数优先级高于配置文件(会覆盖配置):

- --swagger - --endpoint-prefix - --client-name

示例:

npx --no-install swagger-ts-mcp \
  --file src/api/algo/scheme.ts \
  --swagger https://optimos.dev.d2d.ai/api/algo/doc.html \
  --endpoint-prefix /algo

命令行使用

说明:#1 ~ #3 适用于“全局安装”;如果是“安装到项目依赖”,请使用 #4 / #5。
# 1) 使用配置文件(推荐,需全局安装)
swagger-ts-mcp

# 2) 指定文件和文档地址(需全局安装)
swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html

# 3) 预览模式,不修改文件(需全局安装)
swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html --dry-run

# 4) 项目本地安装后执行(npm)
npx --no-install swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html

# 5) 项目本地安装后执行(pnpm)
pnpm exec swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html

所有参数

参数是否必填默认处理(未传时)说明示例
--file是未传则读取配置文件 defaultFiles;若仍为空则报错退出目标接口文件路径--file src/api/user.ts
--swagger是未传则读取配置文件 swaggerUrl;若仍为空则报错退出Swagger 文档地址或本地 JSON 文件路径--swagger https://api.example.com/doc.html
--dry-run否默认 false预览模式,不修改文件--dry-run
--functions否不传则处理目标文件内所有待处理函数只处理指定函数(支持逗号分隔或重复传参)--functions getUserApi,createUserApi
--json否默认 false成功场景输出结构化 JSON--json
--silent否默认 false静默成功日志(失败错误仍输出)--silent
--mcp否默认 false以 MCP Server 模式启动--mcp
--endpoint-prefix否未传则读取配置文件 endpointPrefix;再没有则按空字符串处理接口路径前缀(覆盖配置文件)--endpoint-prefix /algo
--client-name否未传则读取配置文件 clientName;再没有则默认 requestClientHTTP 客户端名称(覆盖配置文件)--client-name axios

MCP Server 使用

MCP(Model Context Protocol)模式允许 AI IDE 直接调用本工具生成类型,无需手动运行命令。

配置 MCP Server — Kiro

在项目的 .kiro/settings/mcp.json 中添加:

{
  "mcpServers": {
    "swagger-ts-mcp": {
      "command": "npx",
      "args": ["swagger-ts-mcp", "--mcp"],
      "disabled": false,
      "autoApprove": ["generate_types"]
    }
  }
}

配置 MCP Server — Cursor

在 .cursor/mcp.json 或对应 IDE 配置中添加:

{
  "mcpServers": {
    "swagger-ts-mcp": {
      "command": "npx",
      "args": ["swagger-ts-mcp", "--mcp"]
    }
  }
}

配置完成后,在 Cursor 中按 Cmd+Shift+P 搜索 MCP,点击 Reload MCP Servers 使配置生效。

因为版本或配置不同,如果提示 MCP 文件无法读取,按照提示创建文件并输入上面的 JSON 即可。

在 AI IDE 中使用

Kiro:直接在聊天框中说:

帮我给 cancelPublishApi 生成 TypeScript 类型(调用 generate_types 工具)

Cursor:在 Composer(Cmd+I)或 Chat 中说:

使用 swagger-ts-mcp 工具,帮我给 cancelPublishApi 生成 TypeScript 类型,文件路径是 src/api/user.ts

MCP 工具参数

工具名:generate_types

参数类型必填说明
filePathstring✅目标接口文件路径
swaggerUrlstring—Swagger 文档地址(优先于配置文件)
functionNamesstring[]—只处理指定函数,不传则处理所有 any 类型函数
dryRunboolean—预览模式,不修改文件

针对不同 API 工具的使用方式

Swagger / SpringDoc(默认支持)

直接传 doc.html 地址,工具自动转换为 /v3/api-docs 或 /v2/api-docs:

swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html

本地 Swagger/OpenAPI JSON 文件格式要求

当 --swagger 传本地文件(如 ./openapi.json)时,文件需满足:

  • 必须是合法 JSON(建议 UTF-8 编码,扩展名通常为 .json)
  • 顶层需是 Swagger/OpenAPI 文档对象
  • 必须包含 paths 字段(对象)
  • openapi(OpenAPI3)或 swagger(Swagger2)建议保留
  • 引用模型建议放在 components.schemas(OpenAPI3)或 definitions(Swagger2)

最小示例:

{
  "openapi": "3.0.0",
  "paths": {
    "/user/get": {
      "get": {
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  }
}

swagger 中 离线文档-导出 openAPI 其他工具同理。将导出的 json 文件放入到项目中或任何为止, --swagger 后的路径改为此文档的路径地址 如 /Users/code/Desktop/work/2025/apps/algo/default_OpenAPI.json

使用 YApi 导出接口:

https://your-yapi.com/api/plugin/export?type=swagger&pid=&token=
swagger-ts-mcp --file src/api/user.ts --swagger "https://your-yapi.com/api/plugin/export?type=swagger&pid=123&token=abc123"

Apifox

在 Apifox 中导出 OpenAPI 3.0 在线 URL 后直接使用。


工作原理

接口文件 (*.ts)
    ↓ 解析 AST,找出 requestClient.xxx() 调用
    ↓ 过滤参数类型为 any 或未定义的函数
    ↓
Swagger 文档
    ↓ 根据 endpoint + method 查找接口定义
    ↓ 提取 request schema 和 response schema
    ↓
TypeScript 类型生成
    ↓ Schema → interface/type 定义
    ↓ 处理 $ref 递归引用、oneOf/anyOf/allOf
    ↓
写入文件
    ↓ 插入类型定义到函数上方
    ↓ 将 any 替换为具体类型名

命名规范

类型命名规则示例
请求参数类型{BaseName}ParamsGetUserListParams
响应体类型{BaseName}ResultGetUserListResult
响应 data 字段类型{BaseName}DataGetUserListData

函数名转换规则:getUserListApi → 去掉 Api 后缀 → 首字母大写 → GetUserList


常见问题

Q:npx swagger-ts-mcp 为什么会提示去远程下载?

A:因为当前项目没有本地安装该包。npx 默认会尝试从 npm 拉取。 如果你只希望使用本地版本,请用:

npx --no-install swagger-ts-mcp

Q:我已经安装到项目里了,推荐怎么执行?

A:

  • npm 项目:npx --no-install swagger-ts-mcp ...
  • pnpm 项目:pnpm exec swagger-ts-mcp ...
  • yarn 项目:yarn swagger-ts-mcp ...

Q:下载到项目里后,还会读取 swagger-ts-gen.config.json 吗?

A:会。无论全局安装、本地安装还是 npx 执行,都会读取“当前工作目录”下的配置文件。

Q:路径报 ENOENT 怎么办?

A:检查 --file 路径是否相对“当前执行目录”。 例如你在项目根目录执行,通常应写 src/...,而不是重复加项目前缀路径。

Q:接口路径在代码里有前缀,但 Swagger 里没有,怎么处理?

A:使用 --endpoint-prefix 或配置 endpointPrefix。 Q:项目用的是 axios 而不是 requestClient,怎么办?

{ "clientName": "axios" }

Q:想先预览生成结果,不修改文件怎么做?

加上 --dry-run 参数。

Q:只想处理某几个函数?

CLI 可通过 --functions 指定(支持逗号分隔或重复传参)。 例如:--functions getUserApi,createUserApi 或 --functions getUserApi --functions createUserApi。

MCP 模式下传 functionNames 参数。 Q:Swagger 文档需要登录认证怎么办?

目前不支持带认证头的请求。可以在浏览器中打开 /v3/api-docs,将 JSON 内容保存为本地文件后使用。 CLI 示例:swagger-ts-mcp --file src/api/user.ts --swagger ./openapi.json。 Q:npx tsx packages/swagger-ts-gen/bin/index.ts 报错?

包下载以后

npx tsx packages/swagger-ts-gen/bin/index.ts \
  --file 路径 \
  --swagger swagger地址

执行命令如图

报错 sh: tsx: command not found

tsx 没有全局安装,npx tsx 找不到。改成从 packages/swagger-ts-gen 的本地 node_modules 里调用:

npx --prefix packages/swagger-ts-gen tsx packages/swagger-ts-gen/bin/index.ts \
  --file 路径 \
  --swagger 地址

或者直接用 node_modules/.bin/tsx:

packages/swagger-ts-gen/node_modules/.bin/tsx packages/swagger-ts-gen/bin/index.ts \
  --file 路径 \
  --swagger 地址

或者全局装一下 tsx,以后就不用每次这样了:

npm install -g tsx

装完之后原来的命令就能用了。

工具与能力

工具数量

1

资源数量

0

提示词数量

0

能力标签

前端开发TypeScript本地部署API文档自动化工具代码生成

支持客户端

Cursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 1 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Cursor 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Swagger Ts Gen

MCP World · 本页

1stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Swagger Ts Gen 怎么安装?

公开资料给出的安装命令是 npx --no-install swagger-ts-mcp --file src/api/user.ts --swagger https://your-api/doc.html,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Swagger Ts Gen 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Swagger Ts Gen 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Swagger Ts Gen 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Swagger Ts Gen 支持哪些客户端?

公开资料标注支持 Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP