Claude Code MCP

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides capabilities for code review and project exploration, which likely involves Git integration

  • Server can be run using Node.js and provides environment information including Node.js version

  • Provides environment information including npm version

Código Claude MCP

Claude Code MCP es una implementación de Claude Code como servidor de Protocolo de Contexto de Modelo (MCP) . Este proyecto permite utilizar las potentes capacidades de ingeniería de software de Claude Code a través de la interfaz estandarizada de MCP.

⚠️ DESCARGO DE RESPONSABILIDAD ⚠️

Claude Code MCP es un proyecto generado automáticamente por DevinAI, a quien se le pidió que analizara la base de código de Claude Code y generara un servidor MCP.

Esta es una prueba de concepto que no recomiendo a nadie utilizar.

¿Qué es el Código Claude?

Claude Code es la herramienta CLI de Anthropic para tareas de ingeniería de software, desarrollada por Claude. Ofrece un conjunto de herramientas y funcionalidades que ayudan a los desarrolladores con:

  • Generación y edición de código
  • Revisión y análisis de código
  • Depuración y resolución de problemas
  • Operaciones del sistema de archivos
  • Ejecución de comandos de shell
  • Exploración y comprensión del proyecto

La implementación original está disponible como un módulo de JavaScript que define indicaciones y herramientas para interactuar con la API de Claude.

¿Qué es MCP?

El Protocolo de Contexto de Modelo (MCP) es una interfaz estandarizada para modelos de IA que permite patrones de interacción consistentes entre diferentes modelos y proveedores. MCP define:

  • Herramientas : Funciones que los modelos pueden llamar para realizar acciones
  • Recursos : Datos externos a los que pueden acceder los modelos
  • Indicaciones : Plantillas de conversación predefinidas

Al implementar Claude Code como servidor MCP, ponemos sus capacidades a disposición de cualquier cliente compatible con MCP, lo que permite una mayor interoperabilidad y flexibilidad.

Características

  • Implementación completa de la funcionalidad de Claude Code como servidor MCP
  • Proporciona herramientas para operaciones con archivos, comandos de shell y análisis de código.
  • Expone recursos para acceder a la información del sistema de archivos y del entorno.
  • Incluye indicaciones para la interacción general de la CLI y la revisión del código.
  • Compatible con cualquier cliente MCP
  • Implementación de TypeScript con seguridad de tipos completa

Instalación

# Clone the repository git clone https://github.com/auchenberg/claude-code-mcp.git cd claude-code-mcp # Install dependencies npm install # Build the project npm run build

Uso

Ejecutándose como un servidor independiente

# Start the server npm start

Uso con clientes MCP

Claude Code MCP se puede usar con cualquier cliente MCP. Aquí tienes un ejemplo de cómo conectarte con el SDK de TypeScript de MCP:

import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js"; const transport = new StdioClientTransport({ command: "node", args: ["dist/index.js"] }); const client = new Client( { name: "example-client", version: "1.0.0" }, { capabilities: { prompts: {}, resources: {}, tools: {} } } ); await client.connect(transport); // Use Claude Code through MCP const result = await client.callTool({ name: "bash", arguments: { command: "ls -la" } }); console.log(result);

Herramientas disponibles

Claude Code MCP proporciona las siguientes herramientas:

  • bash : Ejecuta comandos de shell con restricciones de seguridad y opciones de tiempo de espera
  • readFile : lee archivos del sistema de archivos con opciones para desplazamientos de línea y límites
  • listFiles : lista archivos y directorios con metadatos detallados
  • searchGlob : busca archivos que coincidan con un patrón glob
  • grep : busca texto en archivos compatibles con patrones de expresiones regulares
  • Think : una herramienta sin operaciones para pensar en problemas complejos.
  • codeReview : Analizar y revisar el código en busca de errores, problemas de seguridad y mejores prácticas.
  • editFile : Crea o edita archivos con contenido específico

Detalles de la herramienta

intento

{ command: string; // The shell command to execute timeout?: number; // Optional timeout in milliseconds (max 600000) }

La herramienta bash incluye restricciones de seguridad que impiden la ejecución de comandos potencialmente peligrosos como curl , wget y otros.

leerArchivo

{ file_path: string; // The absolute path to the file to read offset?: number; // The line number to start reading from limit?: number; // The number of lines to read }

búsquedaGlob

{ pattern: string; // The glob pattern to match files against path?: string; // The directory to search in (defaults to current working directory) }

grep

{ pattern: string; // The regular expression pattern to search for path?: string; // The directory to search in (defaults to current working directory) include?: string; // File pattern to include in the search (e.g. "*.js", "*.{ts,tsx}") }

Recursos disponibles

  • archivo : Acceder al contenido del archivo ( file://{path} )
    • Proporciona acceso directo al contenido del archivo con un manejo adecuado de errores.
    • Devuelve el contenido de texto completo del archivo especificado
  • directorio : Lista el contenido del directorio ( dir://{path} )
    • Devuelve una matriz JSON de objetos de información de archivo
    • Cada objeto incluye nombre, ruta, isDirectory, tamaño y fecha de modificación.
  • entorno : obtener información del entorno del sistema ( env://info )
    • Devuelve información sobre el entorno del sistema.
    • Incluye la versión de Node.js, la versión de npm, información del sistema operativo y variables de entorno.

Indicaciones disponibles

  • generalCLI : Indicador de CLI general para Claude Code
    • Proporciona un aviso del sistema completo para que Claude actúe como una herramienta CLI
    • Incluye pautas sobre tono, estilo, proactividad y seguimiento de convenciones.
    • Incluye automáticamente detalles del entorno
  • codeReview : Solicitud para revisar el código
    • Aviso especializado para tareas de revisión de código
    • Analiza el código en busca de errores, vulnerabilidades de seguridad, problemas de rendimiento y mejores prácticas.
  • prReview : Solicitud para revisar solicitudes de extracción
    • Aviso especializado para tareas de revisión de relaciones públicas
    • Analiza los cambios de relaciones públicas y proporciona comentarios completos.
  • initCodebase : Inicializa un nuevo archivo CLAUDE.md con la documentación del código base
    • Crea documentación para comandos de compilación/lint/prueba y pautas de estilo de código
    • Útil para configurar un nuevo proyecto con Claude Code

Desarrollo

# Run in development mode with auto-reload npm run dev

Arquitectura

Claude Code MCP está construido con una arquitectura modular:

claude-code-mcp/ ├── src/ │ ├── server/ │ │ ├── claude-code-server.ts # Main server setup │ │ ├── tools.ts # Tool implementations │ │ ├── prompts.ts # Prompt definitions │ │ └── resources.ts # Resource implementations │ ├── utils/ │ │ ├── bash.ts # Shell command utilities │ │ └── file.ts # File system utilities │ └── index.ts # Entry point ├── package.json ├── tsconfig.json └── README.md

La implementación sigue estos principios clave:

  1. Modularidad : cada componente (herramientas, indicaciones, recursos) se implementa en un módulo separado
  2. Seguridad de tipos : definiciones de tipos de TypeScript completas para todos los componentes
  3. Manejo de errores : Manejo integral de errores para todas las operaciones
  4. Seguridad : Restricciones de seguridad para operaciones potencialmente peligrosas

Detalles de implementación

Configuración del servidor MCP

El servidor principal está configurado en claude-code-server.ts :

export async function setupClaudeCodeServer(server: McpServer): Promise<void> { // Set up Claude Code tools setupTools(server); // Set up Claude Code prompts setupPrompts(server); // Set up Claude Code resources setupResources(server); }

Implementación de herramientas

Las herramientas se implementan utilizando el método de registro de herramientas del SDK de MCP:

server.tool( "toolName", "Tool description", { // Zod schema for tool arguments param1: z.string().describe("Parameter description"), param2: z.number().optional().describe("Optional parameter description") }, async ({ param1, param2 }) => { // Tool implementation return { content: [{ type: "text", text: "Result" }] }; } );

Implementación de recursos

Los recursos se implementan utilizando el método de registro de recursos del SDK de MCP:

server.resource( "resourceName", new ResourceTemplate("resource://{variable}", { list: undefined }), async (uri, variables) => { // Resource implementation return { contents: [{ uri: uri.href, text: "Resource content" }] }; } );

Licencia

Instituto Tecnológico de Massachusetts (MIT)

Expresiones de gratitud

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Descargo de responsabilidad

Este proyecto no está afiliado oficialmente a Anthropic. Claude Code es un producto de Anthropic, y este proyecto es una implementación independiente de Claude Code como servidor MCP.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Una implementación de Claude Code como un servidor de Protocolo de Contexto Modelo que permite utilizar las capacidades de ingeniería de software de Claude (generación de código, edición, revisión y operaciones de archivos) a través de la interfaz MCP estandarizada.

  1. ⚠️ DISCLAIMER ⚠️
    1. What is Claude Code?
    2. What is MCP?
    3. Features
    4. Installation
    5. Usage
    6. Available Tools
    7. Available Resources
    8. Available Prompts
    9. Development
    10. Architecture
    11. Implementation Details
    12. License
    13. Acknowledgements
    14. Contributing
    15. Disclaimer
ID: nqo1hvazke