Skip to main content
Glama

npm-версия

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

Проблема

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

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

Related MCP server: my-server MCP Server

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

Более крупные новые или внутренние 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

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yWorks/mcp-typescribe'

If you have feedback or need assistance with the MCP directory API, please join our Discord server