vscode-mcp-server

Servidor MCP de VS Code

Una extensión de Visual Studio Code (disponible en Marketplace ) que permite a Claude y a otros clientes de MCP programar directamente en VS Code. Inspirada en Serena , pero con las funciones integradas de VS Code. Actualmente es mucho más sencilla que Serena, ¡pero funciona! Ten en cuenta que esta extensión usa la API HTTP de transmisión, no la API SSE.

Esta extensión permite la ejecución de comandos de shell. Esto implica un posible riesgo de seguridad, por lo que debe usarse con precaución y asegurarse de confiar en el cliente MCP que se utiliza y de que el puerto no esté expuesto a ningún tipo de vulnerabilidad. La autenticación sería útil, pero como la especificación de autenticación de MCP aún está en desarrollo, no se ha implementado por ahora.

¡Las relaciones públicas son bienvenidas!

Vídeo de demostración

https://github.com/user-attachments/assets/20b87dfb-fc39-4710-a910-b9481dde1e90

Instalación

  1. Instale la extensión desde Marketplace o clone este repositorio y ejecute npm install y npm run compile para compilarlo.

Configuración del escritorio de Claude

Claude Desktop se puede configurar para usar esta extensión como servidor MCP. Para ello, el archivo claude_desktop_config.json debería tener este aspecto:

{ "mcpServers": { "vscode-mcp-server": { "command": "npx", "args": ["mcp-remote@next", "http://localhost:3000/mcp"] } } }

También me gusta usar esta extensión en un proyecto de Claude, ya que me permite especificar instrucciones adicionales para Claude. El siguiente mensaje funciona bien:

You are working on an existing codebase, which you can access using your tools. These code tools interact with a VS Code workspace. Before running code tools that will make any modification to code, always present a comprehensive and detailed plan to the user, including your confidence level (out of 10). When planning, use your tools to explore the codebase so that you understand the context of the project. If you are not confident in your plan because you require more information, use your tools, such as web search, to look for this information or ask the user. IMPORTANT: Only run code tools that will modify code after presenting such a plan to the user, and receiving explicit approval. Approval must be given each time; prior approval for a change does not imply that subsequent changes are approved.

Esta extensión funciona como un servidor de Protocolo de Contexto de Modelo (MCP), exponiendo el sistema de archivos y las capacidades de edición de VS Code a los clientes MCP.

Características

La extensión VS Code MCP Server implementa un servidor compatible con MCP que permite a los modelos de IA y otros clientes MCP:

  • Enumere archivos y directorios en su espacio de trabajo de VS Code
  • Leer contenido de archivos con soporte de codificación y límites de tamaño
  • Busque símbolos en su espacio de trabajo
  • Obtenga definiciones de símbolos e información al pasar el mouse por línea y nombre de símbolo
  • Cree nuevos archivos utilizando la API WorkspaceEdit de VS Code
  • Realizar reemplazos de líneas en archivos
  • Busque diagnósticos (errores y advertencias) en su espacio de trabajo
  • Ejecutar comandos de shell en la terminal integrada con integración de shell
  • Activar y desactivar el servidor mediante un elemento de la barra de estado

Esta extensión permite que los asistentes de IA y otras herramientas interactúen con su espacio de trabajo de VS Code a través del protocolo MCP estandarizado.

Cómo funciona

La extensión crea un servidor MCP que:

  1. Se ejecuta localmente en un puerto configurable (cuando está habilitado)
  2. Maneja solicitudes de protocolo MCP a través de HTTP
  3. Expone la funcionalidad de VS Code como herramientas MCP
  4. Proporciona un indicador de barra de estado que muestra el estado del servidor, en el que se puede hacer clic para activar o desactivar el servidor.

Herramientas MCP compatibles

Herramientas de archivo

  • list_files_code : enumera archivos y directorios en su espacio de trabajo
    • Parámetros:
      • path : La ruta para listar los archivos
      • recursive (opcional): si desea enumerar los archivos de forma recursiva
  • read_file_code : lee el contenido del archivo
    • Parámetros:
      • path : La ruta al archivo a leer
      • encoding (opcional): codificación de archivo (predeterminado: utf-8)
      • maxCharacters (opcional): Cantidad máxima de caracteres (predeterminado: 100 000)

Herramientas de edición

  • create_file_code : crea un nuevo archivo usando la API WorkspaceEdit de VS Code
    • Parámetros:
      • path : La ruta al archivo a crear
      • content : El contenido que se escribirá en el archivo
      • overwrite (opcional): si se debe sobrescribir si el archivo existe (predeterminado: falso)
      • ignoreIfExists (opcional): si se debe ignorar si el archivo existe (predeterminado: falso)
  • replace_lines_code : reemplaza líneas específicas en un archivo
    • Parámetros:
      • path : La ruta al archivo a modificar
      • startLine : El número de la línea de inicio (basado en 0, inclusive)
      • endLine : El número de línea final (basado en 0, inclusive)
      • content : El nuevo contenido para reemplazar las líneas con
      • originalCode : El código original para la validación

Herramientas de diagnóstico

  • get_diagnostics_code : Comprueba si hay advertencias y errores en su espacio de trabajo
    • Parámetros:
      • path (opcional): Ruta del archivo a verificar (si no se proporciona, verifica todo el espacio de trabajo)
      • severities (opcional): Matriz de niveles de gravedad a incluir (0=Error, 1=Advertencia, 2=Información, 3=Pista). Valor predeterminado: [0, 1]
      • format (opcional): Formato de salida ('texto' o 'json'). Predeterminado: 'texto'
      • includeSource (opcional): Si se incluye la fuente de diagnóstico. Valor predeterminado: verdadero

    Esta herramienta es particularmente útil para:

    • Comprobaciones de calidad del código antes de confirmar cambios
    • La verificación de correcciones resolvió todos los problemas informados.
    • Identificar problemas en archivos específicos o en todo el espacio de trabajo

Herramientas de símbolos

  • search_symbols_code : busca símbolos en todo el espacio de trabajo
    • Parámetros:
      • query : La consulta de búsqueda de nombres de símbolos
      • maxResults (opcional): Número máximo de resultados a devolver (predeterminado: 10) Esta herramienta es útil para:
    • Encontrar definiciones de símbolos (funciones, clases, variables, etc.) en todo el código base
    • Explorando la estructura y organización del proyecto
    • Localizar elementos específicos por nombre
  • get_symbol_definition_code : obtiene información de definición de un símbolo en un archivo
    • Parámetros:
      • path : La ruta al archivo que contiene el símbolo
      • line : El número de línea del símbolo (basado en 0)
      • symbol : el nombre del símbolo que se buscará en la línea especificada. Esta herramienta proporciona:
    • Información de tipo, documentación y detalles de origen de los símbolos
    • Contexto del código que muestra la línea donde aparece el símbolo
    • Información sobre el rango de símbolos Es particularmente útil para:
    • Entender lo que representa un símbolo sin alejarse de la navegación
    • Comprobación de firmas de funciones, definiciones de tipos o documentación
    • Referencia rápida para API o funciones de biblioteca

Herramientas de Shell

  • execute_shell_command_code : ejecuta un comando de shell en la terminal integrada de VS Code con integración de shell
    • Parámetros:
      • command : El comando de shell a ejecutar
      • cwd (opcional): Directorio de trabajo opcional para el comando (predeterminado: '.')

    Esta herramienta es útil para:

    • Ejecución de comandos CLI y operaciones de compilación
    • Ejecutando comandos git
    • Realizar cualquier operación de shell que requiera acceso a la terminal
    • Obtener la salida del comando para su análisis y posterior procesamiento

Advertencias/TODO

Actualmente, solo se admite un espacio de trabajo. La extensión también funciona únicamente localmente para evitar exponer su instancia de VS Code a cualquier red a la que pueda estar conectado.

Configuración de la extensión

Esta extensión aporta las siguientes configuraciones:

  • vscode-mcp-server.port : el número de puerto para el servidor MCP (predeterminado: 3000)

Uso con clientes MCP

Para conectar clientes MCP a este servidor, configúrelos para que utilicen:

http://localhost:3000/mcp

¡Recuerde que primero debe habilitar el servidor haciendo clic en el elemento de la barra de estado!

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar incidencias o solicitudes de incorporación de cambios.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    An MCP server that connects to your Notion knowledge base, allowing you to query and retrieve information directly from VSCode using the Cline extension.
    Last updated 4 months ago
    Python
    • Apple
  • A
    security
    A
    license
    A
    quality
    MCP Server for the Peacock extension for VS Code (https://peacockcode.dev), coloring your world, one Code editor at a time. The main goal of the project is to show how an MCP server can be used to interact with APIs.
    Last updated a month ago
    1
    1,817
    1
    TypeScript
    MIT License
    • Linux
    • Apple

View all related MCP servers

ID: ohvq7n4onu