返回市场
MCP类型书写服务器

MCP类型书写服务器

作者:yWorks46 星标更新:2025-10-17

项目介绍

【技术文档摘要】:

[!CAUTION] 公共开发目前暂停,因为没有活跃的社区形成。我们正在开展一个后续项目,特别是针对yFiles API。您可以在这里阅读更多内容:yFiles MCP Server。yFiles开发者可以使用MCP查询API、开发指南、源代码片段和使用这些工具的方法,而不是依赖于这个仓库中的实现。

npm 版本

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

遇到的问题

大型语言模型(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特定部分的详细信息,并理解不同组件之间的关系。

当前功能

  • TypeDoc集成:加载并索引TypeDoc JSON文档以进行高效查询
  • 全面查询能力:提供了广泛的工具来探索TypeScript API
  • MCP协议:遵循Model Context Protocol以无缝集成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 路径/到/你的/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
    
  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,指定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:库导出的入口点
    • cli.ts:CLI/binary的入口点
  • tests/:API功能的测试

开发

运行测试

npm test

构建

npm run build

许可证

MIT

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