MCP-Typescribe

Official

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables loading and indexing of TypeDoc-generated JSON documentation for Node.js projects, allowing LLMs to efficiently explore and understand Node.js APIs through various query endpoints.

  • Parses TypeScript definitions into a machine-readable format, providing comprehensive query capabilities including symbol search, detailed type information, and relationship exploration for TypeScript APIs.

MCP-Typescribe - LLM API情報を提供するMCPサーバー

問題

大規模言語モデル(LLM)は、コード生成と開発者の生産性において驚異的な進歩を遂げてきました。しかし、LLMには重要な制約があります。それは、学習中に確認したAPIとライブラリしか確実に使用できないという点です。この制約により、新しいツール、SDK、または内部APIを導入する際のボトルネックが生じます。LLMは、それらを効果的に使用する方法を知らないのです。

ツールにはソースコードへのアクセス(ソースコードが公開されているAPIとやり取りする場合)やドキュメントファイルへのアクセス(TypeScriptの型定義ファイルなど)を付与できますが、大規模なAPIでは拡張性に欠けます。LLMには、APIについてより効率的に理解するための方法が必要です。すべてのリクエストに対してすべてのドキュメントをコンテキストに関連付けるのは非効率的で実現不可能であり、結果も芳しくありません。

結果として:

大規模な新規 API または内部 API は、LLM には「見えない」ままです。

開発者は LLM を手動でガイドするか、使用例を提供する必要があります。

API のリリースと AI ツールによる広範な理解の間に遅延があるため、イノベーションは鈍化します。

アイデア

このプロジェクトは、モデルコンテキストプロトコル(MCP)のオープンソース実装です。MCPは、LLMにコンテキストに基づいたリアルタイムの情報アクセスを提供するために設計されたプロトコルです。今回の場合はAPIドキュメント、特にこのプロジェクトではTypeScript定義を対象としています。

私たちの目標は次のとおりです。

TypeScript (およびその他の) 定義を機械が読み取り可能な形式に解析します。

Claude、Cline、Cursor、Windsurf などのツールやその他のカスタム インターフェースを通じて、このコンテキストを LLM に動的に提供します。

LLM が再トレーニングなしで未知の API に対してクエリ、計画、適応を実行できるようにすることで、エージェントの動作を有効にします。

これにより何が可能になるか

LLM ベースのコーディング アシスタントのプラグ アンド プレイ API サポート。

新しい SDK や独自の 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ファイル (のみ) がある場合は、次のように 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

ライセンス

マサチューセッツ工科大学

著作権 2025 yWorks GmbH - https://www.yworks.com

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

TypeScript 型定義とドキュメントへの構造化されたアクセスを提供することで、LLM がトレーニングを受けていない TypeScript API を理解して操作できるようにする MCP サーバー。

  1. The Problem
    1. As a result:
      1. The Idea
        1. Our goal is to:
          1. What This Enables
            1. Project Overview
              1. Current Features
                1. Query Capabilities
                  1. Getting Started
                    1. Prerequisites
                    2. Installation
                    3. Usage
                  2. Project Structure
                    1. Development
                      1. Running Tests
                      2. Building
                    2. License
                      ID: 8fjzcsyi8f