跳到主要内容

MCP Server

@keq-request/cli 内置了一个 Model Context Protocol (MCP) 服务器,可以将项目的 API 目录暴露为 AI 助手(Claude、Cursor 等)可调用的工具。

启动​

keq mcp [options]
选项描述
-c --config <config_file_path>配置文件的地址
--tolerant容错模式:忽略无效的 Swagger/OpenAPI 文档结构
--debug打印调试信息

MCP Server 通过 stdio 传输协议通信,适合作为 AI 编辑器的子进程启动。

配置 AI 编辑器​

提示

建议将 MCP Server 配置在项目目录中而非全局配置,这样每个项目可以独立管理自己的 API 上下文。

Claude Code​

在项目根目录的 .mcp.json 中添加:

{
  "mcpServers": {
    "keq": {
      "command": "npx",
      "args": ["@keq-request/cli", "mcp"]
    }
  }
}

Cursor​

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

{
  "mcpServers": {
    "keq": {
      "command": "npx",
      "args": ["keq", "mcp"]
    }
  }
}

VS Code​

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

{
  "servers": {
    "keq": {
      "command": "npx",
      "args": ["keq", "mcp"]
    }
  }
}

提供的工具​

MCP Server 注册了以下工具供 AI 助手调用:

search_apis​

使用自然语言语义搜索 API 接口,支持中英文跨语言匹配。

参数类型必填描述
querystring是自然语言搜索查询
modulestring[]否按模块名称过滤
limitnumber否最大返回结果数量(默认:10)

get_api_detail​

获取指定 API 的完整定义,包括请求参数、请求体和响应体的 JSON Schema。

参数类型必填描述
modulestring是模块名称
methodstring是HTTP 方法(GET、POST、PUT、DELETE 等)
pathnamestring是API 路径(如 /api/v1/users)

list_modules​

列出 .keqrc 中配置的所有 API 模块。

无需参数。

list_apis​

列出所有 API 接口的结构化信息(模块、方法、路径、operationId、summary)。

参数类型必填描述
modulestring[]否按模块名称过滤
methodstring否按 HTTP 方法过滤
pathnamestring否按路径过滤(支持 glob 通配符)
includesstring[]否包含内容,可选值:operations、components(默认:['operations'])

build_apis​

为指定的 API 接口生成类型安全的 TypeScript 客户端代码。文件将写入 .keqrc 中配置的输出目录。

参数类型必填描述
modulestring[]否要生成代码的模块
methodstring否按 HTTP 方法过滤
pathnamestring否按路径过滤(支持 glob 通配符,如 /api/v1/users/**)
freshboolean否构建前清空输出目录(默认:false)

list_generated_files​

列出已生成的 TypeScript 客户端文件。可选择仅列出无效/过期的文件。

参数类型必填描述
invalidboolean否设为 true 时仅列出不在当前构建产物中的过期文件(默认:false)

get_filter_rules​

查看当前 .keqfilter 文件的内容。过滤规则控制哪些 API 会生成代码。

无需参数。

add_filter_rule​

向 .keqfilter 添加过滤规则。deny 规则排除 API 的代码生成,allow 规则包含 API 的代码生成。

参数类型必填描述
modestring是规则模式:deny 或 allow
modulestring否模块名称模式(支持 glob,默认:*)
methodstring否HTTP 方法模式(默认:*)
pathnamestring是路径模式(支持 glob)
buildboolean否添加规则后是否自动重新构建(默认:false)

remove_filter_rule​

从 .keqfilter 中移除指定的过滤规则。

参数类型必填描述
modestring是规则所在的区块:deny 或 allow
modulestring是精确匹配的模块名称模式
methodstring是精确匹配的方法模式
pathnamestring是精确匹配的路径模式
buildboolean否移除规则后是否自动重新构建(默认:false)

自动重载​

MCP Server 会监控 .keqrc 和 .keqfilter 文件的变更。当这些文件被修改时,服务器会自动重新编译 API 索引,无需手动重启。

进程生命周期​

MCP Server 以 stdio 子进程方式运行,由 AI 编辑器按需启动。为避免多个编辑器窗口累积常驻进程、耗尽系统内存,服务器会在以下任一情况下自动退出:

  • 客户端断开连接(编辑器关闭或断开 MCP 连接)
  • 父进程退出(编辑器进程消失)
  • 收到终止信号(SIGINT / SIGTERM / SIGHUP)
  • 空闲超过 30 分钟无任何工具调用

退出后无需手动干预,下次使用时 AI 编辑器会自动重新启动服务。

提示

语义搜索模型(用于 search_apis)采用惰性加载,仅在首次调用 search_apis 时才载入。只使用 list_apis、list_modules、get_api_detail 等工具不会占用模型内存。因此进程重启后,只有首次语义搜索会有一次模型加载延迟。