使用说明
项目简介
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理解和使用。
安装步骤
-
克隆仓库
git clone https://github.com/yWorks/mcp-typescribe cd mcp-typescribe -
安装依赖
npm install -
生成 TypeDoc JSON 文档
你需要为你自己的 TypeScript API 生成 TypeDoc JSON 文档。请根据你的项目路径替换 'path/to/your/typescript/files'。
npx typedoc --json docs/api.json --entryPointStrategy expand path/to/your/typescript/files -
构建项目
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' 中的路径信息。
基本使用方法
-
启动 MCP 服务器
使用 MCP 客户端配置中设置的 'command' 和 'args' 来启动 Typescribe MCP 服务器。例如,在项目根目录下运行:
node dist/mcp-server/index.js docs/api.json -
连接 AI 客户端
配置你的 AI 客户端 (如 Cline, Cursor, Windsurf 或其他自定义 MCP 客户端),使其连接到 Typescribe MCP 服务器。在客户端中指定服务器名称 "typescribe" (或你在配置中自定义的名称),客户端将使用配置的命令和参数与服务器建立连接。
-
使用查询工具
在 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 文档信息来完成任务。
信息
分类
开发者工具