TypeScript Definition Finder MCP Server について
TypeScript Definition Finder MCP Serverは、AIコードエディターがコードベース内のTypeScriptシンボルの元の定義を探すためのサーバーです。外部パッケージからのインポートにも対応し、定義位置とコードスニペットを返します。
主な機能
- 01TypeScriptシンボルの定義を検索
- 02外部パッケージからのインポートに対応
- 03定義位置とコードスニペットを返却
- 04stdioでAIコードエディターに接続
活用シーン
- 01インポートしたクラスや関数の定義を追跡
- 02インターフェースやクラスの宣言元を特定
- 03Cursorでシンボル検索を明示的に実行
MCP 対応
MCPサーバーはstdio経由でAIコードエディターに`find_typescript_definition`ツールを提供し、シンボル定義の検索結果と関連するコードスニペットを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
TypeScript 定義検索 MCP サーバー
AI コードエディターがコードベース内の TypeScript シンボルの定義を見つけるのを支援する Model Context Protocol(MCP)サーバーです。このツールは、TypeScript プロジェクトでインポートされたシンボル、クラス、インターフェース、関数の元の定義を見つける必要がある場合に特に役立ちます。
機能
- TypeScript シンボルの元の定義を検索します
- 外部パッケージからインポートされたシンボルにも対応します
- 定義の場所とコードスニペットの両方を返します
- AI コードエディターとシームレスに連携できる stdio インターフェースに対応します
前提条件
- Bun v1.2.2 以降
- コンパイル済みサーバーの実行に必要な Node.js
インストール
Smithery 経由でのインストール
Smithery 経由で、TypeScript Definition Finder を Claude Desktop に自動インストールするには:
npx -y @smithery/cli install @runninghare/ts-def-mcp --client claude
手動インストール
- 依存関係をインストールします:
bun install
- プロジェクトをビルドします:
bun run build
使用方法
stdio サーバーを起動します:
node dist/run.js
ツールの説明
このサーバーは、次の機能を持つ find_typescript_definition ツールを提供します:
- ツール名:
find_typescript_definition - トリガーコマンド:
/ts-def(参照先シンボルの定義を AI エディターに強制的に検索させたい場合、Cursorで便利です) - 目的:コードベース内の TypeScript シンボルの元の定義を特定します
入力パラメーター
このツールには、次の 3 つのパラメーターが必要です:
-
file_path(文字列):- 現在の TypeScript ファイルの絶対パス
- 例:
/path/to/your/project/src/index.ts
-
line_content(文字列):- 定義を検索するシンボルを含む行全体
- ファイル内の正しい行を特定するために使用します
- ファイルに記載されている行と完全に一致する必要があります
-
column_number(数値):- シンボルの開始位置を示す、1 を起点とする列番号
- シンボルの最初の文字の列位置と正確に一致する必要があります
例
- インポートされたシンボルの定義を検索する
次の import 文がある場合:
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
10 列目から始まる StdioServerTransport の定義を検索するには、次のように指定します:
{
"file_path": "~/my-mcp-project/src/index.ts",
"line_content": "import { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";",
"column_number": 10
}
このツールの出力は次のようになります:
[
{
"file": "~/my-mcp-project/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts",
"type": "Definition",
"location": "Line 9, Column 22",
"codeSnippet": " 8 */\n 9 > export declare class StdioServerTransport implements Transport {\n 10 + private _stdin;\n 11 + private _stdout;\n 12 + private _readBuffer;\n 13 + private _started;\n 14 + constructor(_stdin?: Readable, _stdout?: Writable);\n 15 + onclose?: () => void;\n 16 + onerror?: (error: Error) => void;\n 17 + onmessage?: (message: JSONRPCMessage) => void;\n 18 + _ondata: (chunk: Buffer) => void;\n 19 + _onerror: (error: Error) => void;\n 20 + /**\n 21 + * Starts listening for messages on stdin.\n 22 + */\n 23 + start(): Promise<void>;\n 24 + private processReadBuffer;\n 25 + close(): Promise<void>;\n 26 + send(message: JSONRPCMessage): Promise<void>;\n 27 }\n"
}
]
- ローカルシンボルの定義を検索する
ローカルクラスを使用する場合:
class MyService {
private transport: StdioServerTransport;
}
20 列目から始まる StdioServerTransport の定義を検索するには、次のように指定します:
{
"file_path": "/path/to/project/src/service.ts",
"line_content": " private transport: StdioServerTransport;",
"column_number": 20
}
レスポンス形式
このツールは、次の情報を含む JSON レスポンスを返します:
- 定義が見つかったファイルパス
- 定義の行番号
- 定義の実際のコードスニペット
Claude Desktop の例
開発
このプロジェクトは、bun v1.2.2 で bun init を使用して作成されました。Bun は、高速なオールインワンの JavaScript ランタイムです。
開発モードでの実行
開発時は、Bun を使用してサーバーを直接実行できます:
bun run index.ts
ライセンス
[ライセンス情報をここに追加してください]
貢献
[貢献ガイドラインをここに追加してください]
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。