TypeScript Definition Finder

Integrations

  • Locates original definitions of TypeScript symbols in codebases, including imported symbols from external packages, returning both definition locations and code snippets

Buscador de definiciones de TypeScript MCP Server

Un servidor de Protocolo de Contexto de Modelo (MCP) que ayuda a los editores de código de IA a encontrar definiciones de símbolos de TypeScript en su código base. Esta herramienta es especialmente útil cuando se necesita localizar la definición original de símbolos, clases, interfaces o funciones importadas en un proyecto de TypeScript.

Características

  • Encuentra definiciones originales de símbolos de TypeScript
  • Funciona con símbolos importados de paquetes externos
  • Devuelve tanto la ubicación de la definición como el fragmento de código.
  • Admite la interfaz stdio para una integración perfecta con los editores de código de IA

Prerrequisitos

  • Bun v1.2.2 o posterior
  • Node.js para ejecutar el servidor compilado

Instalación

Instalación mediante herrería

Para instalar TypeScript Definition Finder para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @runninghare/ts-def-mcp --client claude

Instalación manual

  1. Instalar dependencias:
bun install
  1. Construir el proyecto:
bun run build

Uso

Inicie el servidor stdio:

node dist/run.js

Descripción de la herramienta

El servidor proporciona una herramienta find_typescript_definition con las siguientes capacidades:

  • Nombre de la herramienta : find_typescript_definition
  • Comando de activación : /ts-def (útil en Cursor si desea forzar al editor de IA a encontrar la definición del símbolo referenciado)
  • Propósito : Localiza la definición original de los símbolos de TypeScript en su base de código

Parámetros de entrada

La herramienta requiere tres parámetros:

  1. file_path (cadena):
    • La ruta absoluta al archivo TypeScript actual
    • Ejemplo: /path/to/your/project/src/index.ts
  2. line_content (cadena):
    • La línea completa que contiene el símbolo cuya definición desea encontrar
    • Se utiliza para localizar la línea correcta en el archivo.
    • Debe coincidir con la línea exactamente como aparece en el archivo
  3. column_number (número):
    • El número de columna basado en 1 donde comienza el símbolo
    • Debe ser la posición exacta de la columna del primer carácter del símbolo

Ejemplos

  1. Encontrar una definición de símbolo importado

Dada esta declaración de importación:

import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";

Para encontrar la definición de StdioServerTransport , que comienza en la columna 10, deberá utilizar:

{ "file_path": "~/my-mcp-project/src/index.ts", "line_content": "import { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";", "column_number": 10 }

La salida de esta herramienta será:

[ { "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" } ]
  1. Encontrar una definición de símbolo local

Para un uso de clase local:

class MyService { private transport: StdioServerTransport; }

Para encontrar la definición de StdioServerTransport , que comienza en la columna 20, utilice:

{ "file_path": "/path/to/project/src/service.ts", "line_content": " private transport: StdioServerTransport;", "column_number": 20 }

Formato de respuesta

La herramienta devuelve una respuesta JSON que contiene:

  • La ruta del archivo donde se encontró la definición
  • El número de línea de la definición
  • El fragmento de código real de la definición

Ejemplo de escritorio de Claude

Desarrollo

Este proyecto se creó con bun init en bun v1.2.2. Bun es un entorno de ejecución de JavaScript rápido y completo.

Ejecutando en modo de desarrollo

Para el desarrollo, puedes ejecutar el servidor directamente usando Bun:

bun run index.ts

Licencia

[Agregue la información de su licencia aquí]

Contribuyendo

[Agregue pautas de contribución aquí]

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de protocolo de contexto de modelo que ayuda a los editores de código de IA a localizar definiciones de símbolos TypeScript en bases de código, particularmente útil para encontrar definiciones originales de símbolos y clases importados.

  1. Features
    1. Prerequisites
      1. Installation
        1. Installing via Smithery
        2. Manual Installation
      2. Usage
        1. Tool Description
        2. Input Parameters
        3. Examples
        4. Response Format
        5. Claude Desktop Example
      3. Development
        1. Running in Development Mode
      4. License
        1. Contributing
          ID: axtdomofwg