API信息查询服务

MCP-Typescribe是一个为大型语言模型(LLM)提供API信息的服务器,通过解析和索引TypeScript定义文件,使LLM能够高效查询和理解未知API。

  • by yWorks
  • TypeScript
  • 本地部署
  • 46 星标
  • 更新于
在 GitHub 查看 yWorks/mcp-typescribe

使用说明

[!小心] 由于没有形成活跃的社区,公共开发目前暂停。我们正在进行一个后续项目,专门针对 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

安装

  1. 克隆仓库
  2. 安装依赖项:
    npm install
    

用法

  1. 为您的TypeScript API生成TypeDoc JSON:

    npx typedoc --json docs/api.json --entryPointStrategy expand path/to/your/typescript/files
    

    如果您(仅)拥有现有.d.ts file,你可以创建一个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
    
  2. 构建项目:

    npm run build
    
  3. 探索MCP服务器:

    npx @modelcontextprotocol/inspector node ./dist/mcp-server/cli.js run-server docs/api.json
    
  4. 将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": {}
        }
      }
    }
    
  5. 启用服务器,并可能自动批准各种工具。告诉代理使用“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