MCP-Typescribe - LLM API情報を提供するMCPサーバー
問題
大規模言語モデル(LLM)は、コード生成と開発者の生産性において驚異的な進歩を遂げてきました。しかし、LLMには重要な制約があります。それは、学習中に確認したAPIとライブラリしか確実に使用できないという点です。この制約により、新しいツール、SDK、または内部APIを導入する際のボトルネックが生じます。LLMは、それらを効果的に使用する方法を知らないのです。
ツールにはソースコードへのアクセス(ソースコードが公開されているAPIとやり取りする場合)やドキュメントファイルへのアクセス(TypeScriptの型定義ファイルなど)を付与できますが、大規模なAPIでは拡張性に欠けます。LLMには、APIについてより効率的に理解するための方法が必要です。すべてのリクエストに対してすべてのドキュメントをコンテキストに関連付けるのは非効率的で実現不可能であり、結果も芳しくありません。
Related MCP server: my-server MCP Server
結果として:
大規模な新規 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
インストール
リポジトリをクローンする
依存関係をインストールします:
npm install
使用法
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プロジェクトをビルドします。
npm run buildMCP サーバーを探索します。
npx @modelcontextprotocol/inspector node ./dist/mcp-server/cli.js run-server docs/api.jsonAIエージェントをサーバーに接続して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": {} } } }サーバーを有効にすると、さまざまなツールが自動承認される可能性があります。エージェントに「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/バイナリのエントリポイント
tests/: API機能のテスト
発達
テストの実行
建物
ライセンス
マサチューセッツ工科大学
著作権 2025 yWorks GmbH - https://www.yworks.com