Skip to main content
Glama

npm-версия

MCP-Typescribe — сервер MCP, предоставляющий информацию API LLM

Проблема

Большие языковые модели (LLM) достигли невероятных успехов в генерации кода и производительности разработчиков. Однако они сталкиваются с ключевым ограничением: они могут надежно использовать только API и библиотеки, которые они видели во время обучения. Это создает узкое место для принятия новых инструментов, SDK или внутренних API — LLM просто не знают, как использовать их эффективно.

Хотя инструментам можно предоставить доступ к исходному коду (при взаимодействии с API, для которых доступны исходники) или доступ к файлам документации (например, файлам определения типов TypeScript), это не очень хорошо масштабируется для больших API. LLM-специалистам нужен более эффективный способ узнать больше об API. Помещение всей документации в контекст для каждого запроса неэффективно, неосуществимо и приводит к плохим результатам.

Related MCP server: Swagger MCP Adapter

Как результат:

Более крупные новые или внутренние API остаются «невидимыми» для LLM.

Разработчики должны вручную направлять студентов LLM или предоставлять примеры использования.

Инновации замедляются из-за задержки между выпуском API и его широким пониманием инструментами ИИ.

Идея

Этот проект представляет собой реализацию Model Context Protocol (MCP) с открытым исходным кодом — протокола, разработанного для предоставления LLM контекстного доступа к информации в реальном времени. В данном случае это документация API, и в частности, на данный момент в этом проекте — определения TypeScript.

Наша цель:

Преобразовывать определения TypeScript (и другие) в машиночитаемый формат.

Предоставляйте этот контекст динамически студентам LLM с помощью таких инструментов, как Claude, Cline, Cursor или Windsurf, а также других пользовательских интерфейсов.

Обеспечьте агентное поведение, позволив LLM запрашивать, планировать и адаптироваться к незнакомым API без переобучения.

Что это дает

Поддержка API Plug-and-play для помощников по кодированию на базе LLM.

Более быстрая интеграция новых или фирменных SDK.

Шаг к более автономным, контекстно-зависимым агентам кодирования.

Обзор проекта

Изображение

Этот проект предоставляет агентам ИИ возможность эффективно исследовать и понимать неизвестные API TypeScript. Он загружает документацию JSON, сгенерированную TypeDoc, и предоставляет ее через набор конечных точек запросов, которые позволяют агентам искать символы, получать подробную информацию о конкретных частях API и понимать отношения между различными компонентами.

Текущие возможности

  • Интеграция TypeDoc : загружает и индексирует документацию TypeDoc JSON для эффективного выполнения запросов.

  • Расширенные возможности запросов : предоставляет широкий спектр инструментов для исследования API TypeScript.

  • Протокол MCP : следует протоколу контекста модели для бесшовной интеграции с агентами ИИ.

Возможности запроса

Сервер предоставляет следующие инструменты для запросов к 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

  • нпм

Установка

  1. Клонировать репозиторий

  2. Установите зависимости:

    npm install

Использование

  1. Сгенерируйте TypeDoc JSON для вашего API TypeScript:

    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/cli.js run-server docs/api.json
  4. Подключите агента ИИ к серверу для запроса API

    Например, для cline в VSCode укажите следующий сервер 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/ : пример API TypeScript для тестирования — он использует странный диалект, похожий на немецкий, для имен API, чтобы проверить, что LLM не галлюцинирует API

  • src/mcp-server/ : Реализация сервера MCP

    • utils/ : Вспомогательные функции

    • schemas/ : Схемы JSON для инструментов MCP

    • core/ : Основная функциональность

    • server.ts : Реализация сервера MCP

    • index.ts : Точка входа для экспорта библиотеки

    • cli.ts : точка входа для CLI/бинарного файла

  • tests/ : Тесты функциональности API

Разработка

Проведение тестов

npm test

Здание

npm run build

Лицензия

Массачусетский технологический институт

Авторские права 2025 yWorks GmbH - https://www.yworks.com

Related MCP Connectors

Related MCP Servers