使用说明
[!小心] 由于没有形成活跃的社区,公共开发目前暂停。我们正在进行一个后续项目,专门针对 y文件 API你可以在这里阅读更多: y文件MCP服务器.yFiles开发人员可以使用MCP来查询API、开发指南、源代码片段和使用这些工具的配方。它们比这个存储库中的实现要好得多。
MCP-Typescribe-提供LLM API信息的MCP服务器
问题
大型语言模型(LLM)在代码生成和开发人员生产力方面取得了令人难以置信的进步。然而,他们面临着一个关键的限制:他们只能可靠地使用他们在培训期间看到的API和库。这为采用新工具、SDK或内部API造成了瓶颈——LLM根本不知道如何有效地使用它们。
虽然工具可以被授予源代码访问权限(当与可用源代码的API交互时)或文档文件访问权限(例如typescript类型定义文件),但对于大型API来说,这并不能很好地扩展。LLM需要一种更有效的方法来了解更多关于API的信息。将每个请求的所有文档放在上下文中是低效、不可行的,并且会导致糟糕的结果。
因此:
更大的新API或内部API对LLM仍然“不可见”。
开发人员必须手动指导LLM或提供示例用法。
API的发布与其人工智能工具的广泛理解之间的滞后,阻碍了创新。
想法
该项目是模型上下文协议(MCP)的开源实现,MCP是一种旨在为LLM提供上下文实时信息访问的协议。在这种情况下,它是API文档,特别是现在在这个项目中的TypeScript定义。
我们的目标是:
将TypeScript(和其他)定义解析为机器可读格式。
通过Claude、Cline、Cursor或Windsurf等工具和其他自定义界面将此上下文动态地提供给LLM。
通过让LLM查询、计划和适应不熟悉的API而无需重新培训,实现代理行为。
这能带来什么
即插即用API支持基于LLM的编码助手。
更快地为新的或专有的SDK上线。
迈向更自主、上下文感知的编码代理的一步。
项目概述
该项目为AI代理提供了一种有效探索和理解未知TypeScript API的方法。它加载TypeDoc生成的JSON文档,并通过一组查询端点将其公开,这些查询端点允许代理搜索符号,获取有关API特定部分的详细信息,并了解不同组件之间的关系。
特点
- TypeDoc集成:加载和索引TypeDoc JSON文档以实现高效查询
- 全面的查询功能:提供广泛的工具来探索TypeScript API
- MCP协议:遵循模型上下文协议,与AI代理无缝集成
查询功能
服务器提供以下用于查询API的工具:
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:查找类型/函数的使用位置
入门指南
先决条件
- Node.js
- npm
安装
- 克隆仓库
- 安装依赖项:
npm install
用法
-
为您的TypeScript API生成TypeDoc JSON:
npx typedoc --json docs/api.json --entryPointStrategy expand path/to/your/typescript/files如果您(仅)拥有现有
.d.tsfile,你可以创建一个api json文件,如下所示:创建一个单独的
tsconfig.docs.json:{ "extends": "./tsconfig.json", "files": ["existing.d.ts"], "typedocOptions": { "entryPoints": ["existing.d.ts"], "json": "docs/api.json", "pretty": false } }那就去吧
npx typedoc --tsconfig tsconfig.docs.json -
构建项目:
npm run build -
探索MCP服务器:
npx @modelcontextprotocol/inspector node ./dist/mcp-server/cli.js run-server docs/api.json -
将AI代理连接到服务器以查询API
例如,在VSCode中使用cline,在中指定以下MCP服务器
cline_mcp_settings.json:{ "mcpServers": { "typescribe": { "command": "npx", "args": [ "-y", "mcp-typescribe@latest", "run-server", "<PATH_TO_API_DOT_JSON>" ], "env": {} } } } -
启用服务器,并可能自动批准各种工具。告诉代理使用“typescribe”工具来了解您的API。
项目结构
src/sample-api/:用于测试的示例TypeScript API-它对API名称使用了一种奇怪的德国方言,以测试LLM不会对API产生幻觉src/mcp-server/:MCP服务器实现utils/:实用功能schemas/:MCP工具的JSON模式core/:核心功能server.ts:MCP服务器实现index.ts:库导出的入口点cli.ts:CLI/二进制文件的入口点
tests/:API功能测试
发展
运行测试
npm test
建筑
npm run build
许可证
麻省理工学院
版权所有2025 yWorks GmbH-https://www.yworks.com
