Deskaid

local-only server

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

Integrations

  • Uses Git version control to track changes made by Claude, ensuring all code modifications can be rolled back

  • Supports running tests with pytest-style test selectors through custom commands

codemcp

Convierte a Claude Desktop en un asistente de programación en pareja instalando codemcp. Con él, puedes pedirle directamente a Claude que implemente funciones, corrija errores y refactorice código en tu computadora. Claude editará archivos y ejecutará pruebas directamente. ¡Olvídate de copiar código dentro y fuera de la ventana de chat de Claude!

codemcp ofrece una funcionalidad similar a otro software de codificación de IA (Claude Code, Cursor, Cline, Aider), pero ocupa un punto único en el espacio de diseño:

  1. Está diseñado para usarse con Claude Pro, la suscripción de $20 al mes de Anthropic. Dile adiós a las enormes facturas de API . (Dile hola a los límites de tarifa por tiempo).
  2. Se basa en una IA de agencia segura, proporcionando un conjunto limitado de herramientas que es improbable que los LLM útiles, honestos e inofensivos utilicen indebidamente, e implementando las mejores prácticas, como el uso del control de versiones de Git, para garantizar que todos los cambios en el código se puedan revertir. Como resultado, puedes liberar la IA de forma segura y solo evaluar al final si aceptas los cambios o no.
  3. Es independiente del IDE : le pides a Claude que haga cambios, los hace y luego puedes usar tu configuración IDE favorita para revisar los cambios y hacer más modificaciones.

Empezando

Primero, instala uv e instala git , si aún no están instalados (en Windows, si instalaste Git, te recomiendo reiniciar).

Luego, en claude_desktop_config.json :

{ "mcpServers": { "codemcp": { "command": "/Users/<username>/.local/bin/uvx", "args": [ "--from", "git+https://github.com/ezyang/codemcp@prod", "codemcp" ] } } }

En Windows, se necesitan barras invertidas dobles para la ruta:

C:\\Users\\<username>\\.local\\bin\\uvx.exe

Reinicie la aplicación Claude Desktop después de modificar el JSON. Si el MCP se cargó correctamente, aparecerá un icono de martillo y, al hacer clic en él, se verá "codemcp".

Instalación global con pip

Si no desea usar uv, también puede instalar globalmente la última versión de codemcp mediante pip, siempre que su instalación global de Python sea lo suficientemente reciente (Python 3.12) y no tenga dependencias de Python que entren en conflicto con codemcp. Algunos usuarios informan que es más fácil hacerlo funcionar en Windows.

  1. pip install git+https://github.com/ezyang/codemcp@prod
  2. Agregue la siguiente configuración al archivo claude_desktop_config.json
{ "mcpServers": { "codemcp": { "command": "python", "args": ["-m", "codemcp"] } } }
  1. Reiniciar Claude Desktop

Necesitará actualizar manualmente codemcp para recibir actualizaciones usando pip install --upgrade git+https://github.com/ezyang/codemcp@prod

Otros consejos

Consejo: Si el servidor no carga, ve a Configuración > Desarrollador > codemcp > Registros para consultar los registros de MCP; son muy útiles para la depuración. En Windows, los registros deben cargarse C:\Users\<user_name>\AppData\Roaming\Claude\logs (reemplaza <user_name> con tu nombre de usuario).

Consejo profesional: si en Windows los registros indican "Ejecutable de Git no encontrado. Asegúrese de que Git esté instalado y disponible", y acaba de instalar Git, reinicie su máquina (la actualización de PATH no se ha propagado). Si esto aún no funciona, abra Propiedades del sistema > Variables de entorno > Variables del sistema > Ruta y asegúrese de que haya una entrada para Git.

Consejo: si te gusta vivir al límite, puedes cambiar prod a main . Si quieres anclar a una versión específica, reemplázala por 0.3.0 o similar.

Consejo profesional: se admite especificar solo uvx como comando, pero uvx debe estar en su RUTA global (no solo agregarse a través de un perfil de shell); en OS X, este normalmente no es el caso si utilizó el autoinstalador (a menos que lo haya instalado en una ubicación del sistema como /usr/local/bin ).

Uso

Primero, debes crear un archivo codemcp.toml en el repositorio de Git en el que quieres trabajar. Si quieres que el agente pueda ejecutar tareas como el formateador o las pruebas, añade los comandos para ejecutarlos en la sección de comandos (nota: estos comandos deben configurar correctamente el entorno virtual que necesiten).

format = ["./run_format.sh"] test = ["./run_test.sh"]

A continuación, en Claude Desktop, recomendamos crear un Proyecto y ponerlo en las Instrucciones del Proyecto:

Initialize codemcp with $PROJECT_DIR

Donde $PROJECT_DIR es la ruta al proyecto en el que desea trabajar.

Luego, habla con Claude sobre los cambios que quieres hacer en el proyecto. Cada vez que codemcp modifique tu código, se generará una confirmación.

Uso de la interfaz web de claude.ai

También puedes usar codemcp con la interfaz web de Claude en claude.ai ejecutando el servidor SSE:

codemcp serve

Esto iniciará un servidor SSE local en el puerto 8000, al que se puede conectar desde claude.ai. El servidor tiene CORS habilitado para claude.ai por defecto. Puedes personalizar el host, el puerto y los orígenes CORS permitidos:

codemcp serve --host 0.0.0.0 --port 8765 --cors-origin https://claude.ai --cors-origin https://example.com

Para ver algunos ejemplos de transcripciones utilizando esta herramienta, consulte:

codemcp generará una confirmación por chat y la modificará a medida que trabaje en su función.

Filosofía

  • Cuando tengas un límite de velocidad, tómate el tiempo para hacer otra cosa (revisar el código de Claude, revisar el código de otra persona, hacer planes, realizar algunas reuniones).
  • Este no es un agente autónomo. Como mínimo, debes intervenir después de cada chat para revisar los cambios y solicitar el siguiente. Aunque puedes solicitar una larga lista de tareas en un solo chat, es probable que alcances el límite de rendimiento de Claude Desktop y tengas que "continuar" el agente manualmente. Aprovéchalo y aprovecha las interrupciones para asegurarte de que Claude esté haciendo lo correcto.
  • Cuando Claude se descarrila, te cuesta tiempo en lugar de dinero. Actúa en consecuencia: si el tiempo es el cuello de botella, vigila atentamente el rendimiento incremental de Claude.

Configuración

Aquí están todas las opciones de configuración admitidas por codemcp.toml :

project_prompt = """ Before beginning work on this feature, write a short haiku. Do this only once. """ [commands] format = ["./run_format.sh"] test = ["./run_test.sh"]

El project_prompt se cargará cuando inicialice el proyecto en los chats.

La sección commands permite configurar comandos para herramientas específicas. Los nombres se le indican al LLM, quien decide cuándo ejecutarlos. Puede agregar instrucciones sobre el uso de las herramientas en el ` project_prompt ; también se admite una sintaxis más detallada que permite dar instrucciones específicas para cada herramienta:

[commands.test] command = ["./run_test.sh"] doc = "Accepts a pytest-style test selector as an argument to run a specific test."

Solución de problemas

Para ejecutar el servidor con el inspector, utilice:

PYTHONPATH=. mcp dev codemcp/__main__.py

Los registros se escriben en ~/.codemcp/codemcp.log . El nivel de registro se puede configurar en un archivo de configuración global en ~/.codemcprc :

[logger] verbosity = "INFO" # Can be DEBUG, INFO, WARNING, ERROR, or CRITICAL

El registro no se puede configurar por proyecto, pero esto no debería importar mucho porque de todos modos es difícil usar Claude Desktop en paralelo en varios proyectos.

Contribuyendo

Consulte CONTRIBUTING.md .

Comprobación de tipos

Este proyecto utiliza pyright para la comprobación de tipos con el modo estricto habilitado. La configuración de la comprobación de tipos se encuentra en pyproject.toml . Utilizamos algunas estrategias para mantener la seguridad de tipos:

  1. Tipos de stubs para bibliotecas externas:
    • Los stubs de tipo personalizado se encuentran en el directorio stubs/
    • La configuración de stubPackages en pyproject.toml asigna bibliotecas a sus paquetes stub
  2. Ignora archivos específicos para casos desafiantes:
    • Para algunos archivos con patrones de tipado dinámico complejos (en particular, código de prueba), utilizamos ignorancias específicas del archivo a través de tool.pyright.ignoreExtraErrors en pyproject.toml
    • Esto es preferible a las ignorancias en línea y nos permite mantener la seguridad de tipos en la mayor parte del código base.

Al realizar cambios, asegúrese de que la verificación de tipos pase correctamente ejecutando:

./run_typecheck.sh

You must be authenticated.

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

Tools

Un servidor MCP que proporciona herramientas para leer, escribir y editar archivos en el sistema de archivos local.

  1. Getting started
    1. Global install with pip
    2. Other tips
  2. Usage
    1. Using with claude.ai web interface
  3. Philosophy
    1. Configuration
      1. Troubleshooting
        1. Contributing
          1. Type Checking
            ID: vujkyr83by