MCP-Typescribe

MCP-Typescribe

一个 MCP 服务器,它通过提供对 TypeScript 类型定义和文档的结构化访问,使 LLM 能够理解和使用它们未经过训练的 TypeScript API。

Category
访问服务器

README

npm 版本

MCP-Typescribe - 提供 LLM API 信息的 MCP 服务器

问题

大型语言模型 (LLM) 在代码生成和开发者生产力方面取得了令人难以置信的进步。然而,它们面临一个关键限制:它们只能可靠地使用在训练期间见过的 API 和库。这为采用新工具、SDK 或内部 API 造成了瓶颈——LLM 根本不知道如何有效地使用它们。

虽然可以向工具提供源代码访问权限(在与可以获得源代码的 API 交互时)或访问文档文件(例如 TypeScript 类型定义文件),但这对于大型 API 来说扩展性不好。 LLM 需要一种更有效的方式来了解更多关于 API 的信息。将所有文档放入每个请求的上下文中效率低下、不可行,并且会导致不良结果。

因此:

更大的新的或内部 API 对 LLM 仍然“不可见”。

开发人员必须手动指导 LLM 或提供示例用法。

API 发布与其被 AI 工具广泛理解之间存在滞后,从而减缓了创新。

想法

本项目是模型上下文协议 (MCP) 的开源实现——该协议旨在为 LLM 提供对信息的上下文、实时访问。 在这种情况下,它是 API 文档,特别是目前本项目中的 TypeScript 定义。

我们的目标是:

将 TypeScript(和其他)定义解析为机器可读的格式。

通过 Claude、Cline、Cursor 或 Windsurf 等工具和其他自定义界面,将此上下文动态地提供给 LLM。

通过让 LLM 查询、计划和适应不熟悉的 API 而无需重新训练,从而实现代理行为。

这实现了什么

即插即用的 API 支持基于 LLM 的编码助手。

更快地加入新的或专有的 SDK。

朝着更自主、上下文感知的编码代理迈出一步。

项目概览

Image

该项目提供了一种让 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 文件,您可以像这样创建一个 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/index.js run-server docs/api.json
    
  4. 将 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": {}
        }
      }
    }
    
  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: 入口点
  • tests/: API 功能的测试

开发

运行测试

npm test

构建

npm run build

许可证

MIT

版权所有 2025 yWorks GmbH - https://www.yworks.com

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选