使用说明

项目简介

Typescribe MCP服务器旨在解决大型语言模型 (LLM) 在使用新型或内部API时面临的“不可见”问题。该项目实现了Model Context Protocol (MCP),允许LLM通过标准化的协议,实时访问和理解API文档,特别是TypeScript定义。Typescribe 服务器解析TypeDoc生成的JSON文档,并通过一系列查询工具动态地向LLM提供API的上下文信息,从而使LLM能够更有效地使用和理解未知的TypeScript API。

主要功能点

  • TypeDoc 集成: 加载和索引 TypeDoc JSON 文档,实现高效的API信息查询。
  • 全面的查询能力: 提供多种工具,用于探索和理解 TypeScript API 的结构和细节。
  • 遵循 MCP 协议: 完全遵循 Model Context Protocol,确保与各种支持 MCP 协议的LLM客户端无缝集成。
  • 支持多种查询方式: 支持通过符号名称、ID、描述、返回类型等多种方式查询API信息。
  • LLM友好输出: 输出格式精简,去除了源代码路径等元数据,更适合LLM理解和使用。

安装步骤

  1. 克隆仓库

    git clone https://github.com/yWorks/mcp-typescribe
    cd mcp-typescribe
  2. 安装依赖

    npm install
  3. 生成 TypeDoc JSON 文档

    你需要为你自己的 TypeScript API 生成 TypeDoc JSON 文档。请根据你的项目路径替换 'path/to/your/typescript/files'。

    npx typedoc --json docs/api.json --entryPointStrategy expand path/to/your/typescript/files
  4. 构建项目

    npm run build

服务器配置

MCP客户端需要配置MCP服务器的启动命令和参数才能连接。以下是一个 'cline_mcp_settings.json' 的配置示例,适用于在 VSCode 中使用 Cline 客户端连接 Typescribe MCP 服务器。

{
  "mcpServers": {
    "typescribe": {
      "command": "node",  // 启动服务器的命令,这里使用 Node.js
      "disabled": false,   // 设置为 false 以启用该服务器
      "args":["path/to/typescript-mcp/dist/mcp-server/index.js", "docs/api.json"], // 启动命令的参数,指向服务器入口文件和 TypeDoc JSON 文档路径
      "autoApprove": []   // 可以设置自动批准的工具,避免每次调用工具都需要手动批准
    }
  }
}

配置参数说明:

  • 'server name': 'typescribe' (服务器名称,可以自定义)
  • 'command': 'node' (Node.js 运行时命令)
  • 'args':
    • '"path/to/typescript-mcp/dist/mcp-server/index.js"': Typescribe MCP 服务器的入口文件路径。你需要根据你的实际项目路径进行调整。
    • '"docs/api.json"': TypeDoc JSON 文档的路径。请确保此路径指向你生成的 'api.json' 文件。

请将上述 JSON 配置添加到你的 MCP 客户端配置文件中,并根据你的实际路径调整 'command' 和 'args' 中的路径信息。

基本使用方法

  1. 启动 MCP 服务器

    使用 MCP 客户端配置中设置的 'command' 和 'args' 来启动 Typescribe MCP 服务器。例如,在项目根目录下运行:

    node dist/mcp-server/index.js docs/api.json
  2. 连接 AI 客户端

    配置你的 AI 客户端 (如 Cline, Cursor, Windsurf 或其他自定义 MCP 客户端),使其连接到 Typescribe MCP 服务器。在客户端中指定服务器名称 "typescribe" (或你在配置中自定义的名称),客户端将使用配置的命令和参数与服务器建立连接。

  3. 使用查询工具

    在 AI 客户端中,指示 AI Agent 使用 "typescribe" 工具来查询你的 API 文档。Typescribe 服务器提供了一系列工具,例如:

    • 'search_symbols': 根据名称或部分名称搜索符号 (类、接口、函数等)。
    • 'get_symbol_details': 获取特定符号的详细信息。
    • 'list_members': 列出类或接口的所有方法和属性。
    • 'get_parameter_info': 获取函数的参数信息。
    • 'find_implementations': 查找接口的实现或类的子类。
    • 'search_by_return_type': 查找返回特定类型的方法或函数。
    • 'search_by_description': 在 JSDoc 注释中搜索关键词。
    • 'get_type_hierarchy': 展示类型的继承关系。
    • 'find_usages': 查找类型或函数在 API 中的使用位置。

    你可以通过自然语言指示 AI Agent 使用这些工具,例如:

    "使用 typescribe 工具搜索名为 'TaskStatus' 的符号" "使用 typescribe 工具获取 'TaskMaenaedscha' 类的成员列表"

    AI Agent 将根据你的指示调用相应的工具,并利用 Typescribe MCP 服务器提供的 API 文档信息来完成任务。

信息

分类

开发者工具