TypeScript Definition Finder
TypeScript 定義ファインダー MCP サーバー
AIコードエディターがコードベース内のTypeScriptシンボル定義を見つけるのに役立つ、モデルコンテキストプロトコル(MCP)サーバーです。このツールは、TypeScriptプロジェクトでインポートされたシンボル、クラス、インターフェース、または関数の元の定義を見つける必要がある場合に特に便利です。
特徴
TypeScriptシンボルの元の定義を検索します
外部パッケージからインポートされたシンボルで動作します
定義場所とコードスニペットの両方を返します
AIコードエディタとのシームレスな統合のためのstdioインターフェースをサポート
Related MCP server: agent-workspace-mcp
前提条件
Bun v1.2.2以降
コンパイルされたサーバーを実行するためのNode.js
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の TypeScript Definition Finder を自動的にインストールするには:
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 { 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 応答を返します。
定義が見つかったファイルパス
定義の行番号
定義の実際のコードスニペット
クロードデスクトップの例
発達
このプロジェクトは、bun v1.2.2 のbun initを使用して作成されました。Bunは高速なオールインワン JavaScript ランタイムです。
開発モードで実行
開発の場合、Bun を使用してサーバーを直接実行できます。
bun run index.tsライセンス
[ここにライセンス情報を追加してください]
貢献
[ここに投稿ガイドラインを追加]
Available Tools
1 toolfind_typescript_definitionB
Use /ts-def to trigger this tool. This tool can find the definition of a TypeScript symbol in your codebase. When you encounter an imported symbol (e.g., 'import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"'), this tool will locate its original definition file and code. Simply provide the current file path, the symbol you want to find (e.g., 'StdioServerTransport'), and the line content containing that symbol.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | The absolute path to the current typescript file (e.g., '/remote/.../src/index.ts') | |
| symbol | Yes | The TypeScript symbol (variable, class name, interface, type, etc.) you want to find the definition of. This symbol must be present in the line_content. | |
| line_content | Yes | The entire line containing the symbol you want to find the definition of. The line content will be used to find both the line number in the file and the exact position of the symbol. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it explains what the tool does (finds definitions) and provides usage examples, it doesn't disclose important behavioral traits like error conditions, performance characteristics, rate limits, authentication needs, or what happens when symbols aren't found. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the triggering mechanism and core purpose. Each sentence adds value: the first explains triggering, the second states the purpose, the third provides usage context, and the fourth explains parameter usage. There's minimal redundancy, though the final sentence could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there's no output schema and no annotations, the description provides adequate basic information about what the tool does and how to use it. However, for a tool that performs code analysis (potentially complex), it lacks information about return format, error handling, and limitations. The description is complete enough for basic understanding but leaves important contextual gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already fully documents all three parameters. The description adds some context about how parameters relate ('symbol must be present in the line_content') and provides examples, but doesn't add significant semantic meaning beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'find the definition of a TypeScript symbol in your codebase' with specific examples. It uses the verb 'find' and identifies the resource 'TypeScript symbol definition'. However, since there are no sibling tools mentioned, it cannot demonstrate differentiation from alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: 'When you encounter an imported symbol... this tool will locate its original definition file and code.' It gives specific examples and explains the triggering mechanism ('/ts-def'). However, it doesn't explicitly state when NOT to use it or mention any alternatives since no siblings exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
find_typescript_definition
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly defined and distinct.
The single tool name 'find_typescript_definition' follows a clear verb_noun pattern, and with only one tool, consistency is inherently perfect.
A single tool is too few for a server named 'TypeScript Definition Finder', as it suggests a limited scope that might not cover related operations like searching multiple symbols or handling different import types. Typically, such a domain would benefit from additional tools for broader functionality.
The tool surface is severely incomplete for the domain. While it can find definitions, there are obvious gaps such as listing available symbols, handling bulk searches, or providing context about dependencies, which limits agent effectiveness in TypeScript code exploration.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
Coding agents in multi-service codebases routinely rebuild existing helpers, trust stale type definitions, and modify API contracts without knowing who consumes them. Carrick solves this by indexing your entire TypeScript ecosystem across service and repository boundaries. By integrating deeply with the TypeScript compiler, Carrick traces every route, type, and cross-service call while recording function behaviour so agents search by intent rather than name. Delivered via MCP for AI agents and LSP for IDEs, Carrick ensures models see existing endpoints and utilities before generating new code. The scanner is source-available and runs from your CLI or CI pipeline.
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
AlicenseNot gradedqualityAmaintenanceA Model Context Protocol server that enhances AI agents by providing deep semantic understanding of codebases, enabling more intelligent interactions through advanced code search and contextual awareness.91MIT- AlicenseAqualityDmaintenanceA TypeScript-aware MCP server that provides coding agents with repository discovery, code intelligence, and web project context for local codebases. It enables deep symbol navigation, diagnostic reporting, and structural analysis of monorepos without requiring full IDE integration.715 npm1MIT
- AlicenseNot gradedqualityAmaintenanceA self-hosted MCP and HTTP server for TypeScript code intelligence, providing AI agents with fast semantic code navigation tools like finding definitions, references, implementations, file outlines, dependency graphs, and search.344 npmAGPL 3.0
- AlicenseNot gradedqualityCmaintenanceA local MCP server that gives AI coding agents symbol definitions, dependency graphs, and a live architecture vocabulary for TypeScript/JavaScript repos, with no network or embeddings.16 npmMIT