Claude Code MCP
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.
Related MCP server: Gemini MCP
¿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 buildUso
Ejecutándose como un servidor independiente
# Start the server
npm startUso 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 devArquitectura
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.mdLa implementación sigue estos principios clave:
Modularidad : cada componente (herramientas, indicaciones, recursos) se implementa en un módulo separado
Seguridad de tipos : definiciones de tipos de TypeScript completas para todos los componentes
Manejo de errores : Manejo integral de errores para todas las operaciones
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.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/auchenberg/claude-code-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server