mcpField
M
MCP-Typescribe - an MCP Server providing LLMs API information

MCP-Typescribe - an MCP Server providing LLMs API information

ローカル
github.com/yWorks開発ツール4654 週間前に更新

MCP-Typescribe - an MCP Server providing LLMs API information について

MCP-Typescribe は、新規または社内の TypeScript API を LLM が扱えるようにする MCP サーバーです。TypeDoc が生成した JSON ドキュメントを読み込み、シンボル、メンバー、型の関係に関する問い合わせに応答します。エージェントが全ドキュメントをコンテキストに載せる必要はありません。プロジェクトでは公開開発が中断されていると明記されています。

主な機能

  1. 01TypeDoc JSON ドキュメントの読み込みとインデックス化
  2. 02名前と種類によるシンボル検索
  3. 03シンボルの詳細とクラスメンバーの一覧
  4. 04型の階層と実装の検索
  5. 05型や関数の使用箇所の検索

活用シーン

  1. 01新規または社内の TypeScript SDK を LLM アシスタントに学習させる
  2. 02Cline などのクライアントに API 照会用のコンテキストを提供する

MCP 対応

API 照会ツールを MCP サーバーとして提供し、エージェントが TypeScript API を必要に応じて探索できるようにします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"typescribe": {
"command": "npx",
"args": [
"-y",
"typedoc"
]
}
}
}
起動コマンドnpx -y typedoc

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmtypedoc

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

注意

コミュニティが形成されなかったため、現在、公開開発は停止しています。現在、特にyFiles API 向けの後続プロジェクトに取り組んでいます。詳細はこちらをご覧ください:yFiles MCP Server。yFiles の開発者は、代わりにこれらのツールを使用して、MCP 経由で API、開発ガイド、ソースコードのスニペット、レシピを検索できます。これらは、このリポジトリの実装よりもはるかに優れています。

npm version

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

問題点

大規模言語モデル(LLM)は、コード生成と開発者の生産性において目覚ましい進歩を遂げてきました。しかし、重要な制約があります。トレーニング中に学習した API やライブラリしか、確実に使用できないのです。そのため、新しいツール、SDK、社内 API の導入が滞ります。LLM は、それらを効果的に使う方法を知らないのです。

ソースコードにアクセスできるツール(ソースが公開されている API を扱う場合)や、ドキュメントファイル(TypeScript の型定義ファイルなど)にアクセスできるツールもありますが、大規模な API ではうまく拡張できません。LLM には、API についてより効率的に学ぶ方法が必要です。リクエストのたびにすべてのドキュメントをコンテキストに含めるのは非効率で実現困難であり、結果の質も低下します。

その結果:

規模の大きい新しい API や社内 API は、LLM から「見えない」ままです。

開発者は、LLM を手作業で誘導したり、使用例を提示したりする必要があります。

API のリリースから AI ツールに広く理解されるまでの遅れによって、イノベーションが遅れます。

アイデア

このプロジェクトは、LLM に情報へのコンテキスト付きのリアルタイムアクセスを提供するために設計されたプロトコル、Model Context Protocol(MCP)のオープンソース実装です。このプロジェクトでは 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 エージェントとシームレスに連携できるよう、Model Context Protocol に準拠しています

クエリー機能

サーバーは、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/cli.js run-server docs/api.json
    
  4. API に問い合わせるため、AI エージェントをサーバーに接続します

    たとえば、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 です。LLM が API を幻覚しないことをテストするため、API 名には奇妙なドイツ語風の方言が使われています
  • src/mcp-server/: MCP サーバーの実装
    • utils/: ユーティリティ関数
    • schemas/: MCP ツール用の JSON スキーマ
    • core/: 中核機能
    • server.ts: MCP サーバーの実装
    • index.ts: ライブラリのエクスポート用エントリーポイント
    • cli.ts: CLI/バイナリのエントリーポイント
  • tests/: API 機能のテスト

開発

テストの実行
npm test
ビルド
npm run build

ライセンス

MIT

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。