【技术文档摘要】:
[!CAUTION] 公共开发目前暂停,因为没有活跃的社区形成。我们正在开展一个后续项目,特别是针对yFiles API。您可以在这里阅读更多内容:yFiles MCP Server。yFiles开发者可以使用MCP查询API、开发指南、源代码片段和使用这些工具的方法,而不是依赖于这个仓库中的实现。
大型语言模型(LLMs)在代码生成和开发生产力方面取得了巨大的进步。然而,它们面临一个关键限制:它们只能可靠地使用训练期间见过的API和库。这为采用新工具、SDK或内部API造成了瓶颈——LLMs简单地说不知道如何有效地使用它们。
虽然可以给工具提供源代码访问权限(当与可获得源代码的API交互时)或文档文件访问权限(例如,TypeScript类型定义文件),但这对于大型API来说扩展性不佳。LLMs需要一种更有效的方式来了解API。
较大的新API或内部API对LLMs来说仍然是“不可见”的。
开发者必须手动引导LLMs或提供示例用法。
创新因API发布与AI工具广泛理解之间的滞后而减缓。
这个项目是一个开源的Model Context Protocol(MCP)实现——该协议旨在为LLMs提供上下文实时信息访问。在这种情况下,它是API文档,特别是在这个项目中是TypeScript定义。
解析TypeScript(及其他)定义为机器可读格式。
通过Claude、Cline、Cursor或Windsurf和其他自定义接口动态地为LLMs提供这种上下文。
通过让LLMs查询、规划并适应不熟悉的API而不需重新训练来实现代理行为。
插件式API支持用于基于LLM的编码助手。
新或专有SDK的快速上手。
迈向更加自主、上下文感知的编码代理。

该项目提供了一种方式,使AI代理能够高效地探索和理解未知的TypeScript API。它加载了TypeDoc生成的JSON文档,并通过一组查询端点暴露出来,允许代理搜索符号、获取API特定部分的详细信息,并理解不同组件之间的关系。
服务器提供了以下工具来查询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:查找类型/函数的使用位置npm install
为您的TypeScript API生成TypeDoc JSON:
npx typedoc --json docs/api.json --entryPointStrategy expand 路径/到/你的/TypeScript/文件
如果您只有现有的.d.ts文件,可以创建一个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,指定cline_mcp_settings.json中的MCP服务器:
{
"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不会幻想出APIsrc/mcp-server/:MCP服务器实现
utils/:实用函数schemas/:MCP工具的JSON模式core/:核心功能server.ts:MCP服务器实现index.ts:库导出的入口点cli.ts:CLI/binary的入口点tests/:API功能的测试npm test
npm run build
MIT
版权所有 2025 yWorks GmbH - https://www.yworks.com