local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Agente de shell y codificación para Claude y Chatgpt
Permitiendo que las aplicaciones de chat se codifiquen, creen y ejecuten en su máquina local.
- Claude - Servidor MCP con herramientas de edición de código y shell estrechamente integradas.
- Chatgpt: permite que un gpt personalizado se comunique con su shell a través de un servidor de retransmisión. (Linux, Mac, Windows en WSL)
⚠️ Advertencia: no permita la herramienta BashCommand sin revisar el comando, puede resultar en pérdida de datos.
Manifestación
Actualizaciones
- [24 de marzo de 2025] Experiencia de escritura y edición mejorada para soneto 3.7, CLAUDE.md se carga automáticamente.
- [16 feb. 2025] Ahora puedes conectarte a la terminal de trabajo que usa la IA. Consulta la sección "Conectar a la terminal" a continuación.
- [15 de enero de 2025] Modos introducidos: arquitecto, escritor de código y el modo wcgw todopoderoso.
- [8 de enero de 2025] Herramienta de guardado de contexto para guardar rutas de archivos relevantes junto con una descripción en un solo archivo. Puede usarse como punto de control de tareas o para la transferencia de conocimiento.
- [29 dic. 2024] La comprobación de sintaxis al escribir y editar archivos ahora es estable. Se ha mejorado la utilidad de la llamada a la herramienta
initialize
; se envía la estructura del repositorio inteligente a Claude si se hace referencia a algún repositorio. También se ha mejorado la gestión de archivos grandes. - [9 de diciembre de 2024] Extensión de Vscode para pegar contexto en la aplicación Claude
🚀 Aspectos destacados
- ⚡ Crear, ejecutar, iterar : pídale a claude que siga ejecutando las comprobaciones del compilador hasta que se solucionen todos los errores, o pídale que siga comprobando el estado de un comando de ejecución prolongada hasta que finalice.
- ⚡ Edición de archivos grandes : Permite la edición incremental de archivos grandes para evitar problemas de límite de tokens. Selecciona inteligentemente cuándo realizar ediciones pequeñas o reescrituras grandes según el porcentaje de cambio necesario.
- ⚡ Comprobación de sintaxis en las ediciones : informa al LLM si sus ediciones tienen algún error de sintaxis, para que pueda rehacerlas.
- ⚡ Manejo de comandos interactivos : admite comandos interactivos mediante teclas de flecha, interrupciones y secuencias de escape ANSI.
- ⚡ Protecciones de archivos :
- La IA necesita leer un archivo al menos una vez antes de poder editarlo o reescribirlo. Esto evita sobrescrituras accidentales.
- Evita el relleno de contexto al leer archivos muy grandes. Los archivos se fragmentan según la longitud del token.
- Durante la inicialización, se devuelve la estructura del directorio del espacio de trabajo proporcionado después de seleccionar archivos importantes (basado en .gitignore y también en un enfoque estadístico)
- La edición de archivos basada en búsqueda y reemplazo intenta encontrar el bloque de búsqueda correcto si tiene varias coincidencias con bloques de búsqueda anteriores. Falla en caso contrario (para corregir).
- La edición de archivos permite la coincidencia con tolerancia de espaciado, con advertencias sobre problemas como la discrepancia de sangría. Si no hay coincidencia, se devuelve la coincidencia más cercana a la IA para corregir los errores.
- Utilizando una función de búsqueda y reemplazo similar a la de Aider, que tiene un mejor rendimiento que la función de búsqueda y reemplazo basada en llamadas de herramientas.
- ⚡ Optimizaciones de Shell :
- Solo se permite ejecutar un comando a la vez, lo que simplifica la administración y evita procesos no autorizados. Solo hay una instancia de shell en todo momento.
- El directorio de trabajo actual siempre se devuelve después de cualquier comando de shell para evitar que AI se pierda.
- El sondeo de comandos finaliza tras un breve tiempo de espera para evitar una respuesta lenta. Sin embargo, la comprobación de estado tiene tolerancia de espera basada en la transmisión de salida actualizada de un comando. La combinación de ambos enfoques proporciona una buena experiencia de interacción con el shell.
- ⚡ Guardar el contexto del repositorio en un solo archivo : La creación de puntos de control de tareas con la herramienta "Guardar contexto" guarda el contexto detallado en un solo archivo. Las tareas se pueden reanudar posteriormente en un nuevo chat preguntando "Reanudar
task id
". El archivo guardado se puede usar para realizar otros tipos de transferencia de conocimiento, como solicitar ayuda de otra IA. - ⚡ Cambia fácilmente entre varios modos :
- Pídele que se ejecute en modo "arquitecto" para planificar. Inspirado en el modo arquitecto de Adier, colabora con Claude para crear un plan primero. Esto mejora la precisión y evita la edición prematura de archivos.
- Pídele que se ejecute en modo "escritor de código" para editar código y crear proyectos. Puedes proporcionar rutas específicas con compatibilidad con comodines para evitar que se editen otros archivos.
- De forma predeterminada, se ejecuta en modo 'wcgw' que no tiene restricciones y autorización completa.
- Más detalles en la sección Modos
- ⚡ Se ejecuta en una terminal multiplex. Ejecuta
screen -x
para conectarse a la terminal donde la IA ejecuta comandos. Consulta el historial, interrumpe el proceso o interactúa con la misma terminal que usa la IA.
Ejemplos de casos de uso principales
- Resuelva el problema X con Python, cree y ejecute casos de prueba y corrija cualquier problema. Hágalo en un directorio temporal.
- Encuentre instancias de código con comportamiento X en mi repositorio
- Git clone https://github.com/my/repo en mi directorio de inicio, luego comprenda el proyecto, configure el entorno y compile
- Cree una aplicación web golang htmx tailwind y luego abra el navegador para ver si funciona (úselo con puppeteer mcp)
- Editar o actualizar un archivo grande
- En una rama separada, cree la función Y, luego use la CLI de Github para crear un PR a la rama original
- El comando X está fallando en el directorio Y, ejecútelo y solucione los problemas
- Usando el entorno virtual X ejecute el comando Y
- Usando herramientas CLI, creé, compilé y probé una aplicación Android. Finalmente, la ejecuté con un emulador.
- Solucione todos los problemas de mypy en mi repositorio en la ruta X.
- Usando "screen", ejecute mi servidor en segundo plano, luego ejecute otro servidor API en bg y, finalmente, ejecute la compilación del frontend. Revise los registros para detectar cualquier problema en los tres.
- Cree casos de prueba unitaria para todo el repositorio. Siga iterando por los archivos y creando casos. Además, siga ejecutando las pruebas después de cada actualización. No modifique el código original.
Configuración de Claude (usando mcp)
Mac y Linux
Primera instalación de uv
usando homebrew brew install uv
( Importante: use homebrew para instalar uv. De lo contrario, asegúrese de que uv
esté presente en una ubicación global como /usr/bin/)
Luego, cree o actualice claude_desktop_config.json
(~/Library/Application Support/Claude/claude_desktop_config.json) con el siguiente json.
Luego reinicia la aplicación Claude.
Si hay un error en la configuración
- Si aparece un error como "uv ENOENT", asegúrese de que
uv
esté instalado. Luego, ejecute "which uv" en la terminal y use su salida en lugar de "uv" en la configuración. - Si el problema persiste, comprueba que
uv tool run --from wcgw@latest --python 3.12 wcgw_mcp
se esté ejecutando en tu terminal. No debería mostrar ninguna salida ni cerrarse. - Intente eliminar la carpeta ~/.cache/uv
- Intente utilizar la versión
0.6.0``uv
para la que se probó esta herramienta. - Depurar el servidor mcp usando
npx @modelcontextprotocol/inspector@0.1.7 uv tool run --from wcgw@latest --python 3.12 wcgw_mcp
Ventanas en wsl
Este servidor mcp solo funciona en wsl en windows.
Para configurarlo, instale uv
Luego agregue o actualice el archivo de configuración de Claude %APPDATA%\Claude\claude_desktop_config.json
con lo siguiente
Uso
Espera unos segundos. Deberías poder ver este ícono si todo va bien.
por aquí
Luego pídale a Claude que ejecute comandos de shell, lea archivos, edite archivos, ejecute su código, etc.
Punto de control de tareas o transferencia de conocimiento
- Puede realizar un punto de control de tarea o una transferencia de conocimiento adjuntando el mensaje "Transferencia de conocimiento" mediante el botón "Adjuntar desde MCP".
- Al ejecutar el comando "Transferencia de Conocimiento", se llamará a la herramienta "Guardar Contexto", que guardará la descripción de la tarea y todo el contenido del archivo en un solo archivo. Se generará un ID para la tarea.
- Puedes decir "Reanudar" en un nuevo chat, luego la IA debería llamar a "Inicializar" con el ID de la tarea y cargar el contexto desde allí.
- O puede abrir directamente el archivo generado y compartirlo con otra IA para obtener ayuda.
Modos
Hay tres modos integrados. Puedes pedirle a Claude que ejecute uno de ellos, como "Usar modo 'arquitecto'".
Modo | Descripción | Permite | Niega | Invocar aviso |
---|---|---|---|---|
Arquitecto | Diseñado para que trabajes con Claude para investigar y comprender tu repositorio. | Comandos de solo lectura | Herramienta de edición y escritura de archivos | Ejecutar en modo='arquitecto' |
Escritor de código | Para escritura y desarrollo de código | Globs de ruta especificados para editar o escribir, comandos especificados | FileEdit para rutas que no coinciden con el glob especificado, Write para rutas que no coinciden con el glob especificado | Ejecutar en modo de escritor de código, solo se permiten 'tests/**', solo se permite el comando uv |
**wcgw** | Modo predeterminado con todo permitido | Todo | Nada | No aparece ningún mensaje ni se muestra "Ejecutar en modo wcgw" |
Nota: En el modo de escritura de código, se permiten todos los comandos o ninguno por el momento. Si proporciona una lista de comandos permitidos, Claude recibe instrucciones para ejecutar solo esos comandos, pero no se realiza ninguna verificación. (En proceso)
Conéctese a la terminal de trabajo para investigar
Si tiene instalado el comando screen
, wcgw se ejecuta automáticamente en una instancia de screen. Si ha iniciado el servidor mcp de wcgw, puede listar las sesiones de screen:
screen -ls
Y anote el nombre de pantalla de wcgw, que será algo como 93358.wcgw.235521
donde el último número estará en formato hora-minuto-segundo.
Luego puedes adjuntarlo a la sesión usando screen -x 93358.wcgw.235521
Puede interrumpir cualquier comando en ejecución de forma segura.
Puedes interactuar con la terminal, pero ten en cuenta que la IA podría estar funcionando en paralelo y podría entrar en conflicto con lo que estás haciendo. Se recomienda minimizar las interacciones.
No debe salir de la sesión usando exit
o Ctrl-d, en su lugar debe usar ctrl+a+d
para separarse de manera segura sin destruir la sesión de pantalla.
[Opcional] Extensión de código Vs
https://marketplace.visualstudio.com/items?itemName=AmanRusia.wcgw
Comandos:
- Selecciona un texto y pulsa
cmd+'
e introduce las instrucciones. Esto cambiará la aplicación a Claude y pegará un texto con tus instrucciones, la ruta del archivo, el directorio del espacio de trabajo y el texto seleccionado.
Configuración de Chatgpt
Leer aquí: https://github.com/rusiaaman/wcgw/blob/main/openai.md
Ejemplos
Usando el servidor mcp a través de Docker
Primero construye la imagen de Docker docker build -t wcgw https://github.com/rusiaaman/wcgw.git
Luego puede actualizar /Users/username/Library/Application Support/Claude/claude_desktop_config.json
para tener
[Opcional] Acceso al shell local con clave API de Openai o clave API antrópica
Openai
Agregue las variables de entorno OPENAI_API_KEY
y OPENAI_ORG_ID
.
Entonces corre
uvx --from wcgw@latest wcgw_local --limit 0.1
# Límite de costo $0.1
Ahora puede escribir mensajes directamente o presionar la tecla Enter para abrir vim para pegar mensajes de varias líneas y texto.
Antrópico
Agregue la variable de entorno ANTHROPIC_API_KEY
.
Entonces corre
uvx --from wcgw@latest wcgw_local --claude
Ahora puede escribir mensajes directamente o presionar la tecla Enter para abrir vim para pegar mensajes de varias líneas y texto.
Herramientas
El servidor proporciona las siguientes herramientas MCP:
Operaciones de Shell:
Initialize
: restablecer el shell y configurar el entorno del espacio de trabajo- Parámetros:
any_workspace_path
(cadena),initial_files_to_read
(cadena[]),mode_name
("wcgw"|"architect"|"code_writer"),task_id_to_resume
(cadena)
- Parámetros:
BashCommand
: Ejecuta comandos de shell con control de tiempo de espera- Parámetros:
command
(cadena),wait_for_seconds
(int, opcional) - Parámetros:
send_text
(cadena) osend_specials
(["Intro"|"Tecla arriba"|...]) osend_ascii
(int[]),wait_for_seconds
(int, opcional)
- Parámetros:
Operaciones de archivo:
ReadFiles
: lee el contenido de uno o más archivos- Parámetros:
file_paths
(cadena[])
- Parámetros:
WriteIfEmpty
: Crea nuevos archivos o escribe en archivos vacíos- Parámetros:
file_path
(cadena),file_content
(cadena)
- Parámetros:
FileEdit
: edita archivos existentes usando bloques de búsqueda y reemplazo- Parámetros:
file_path
(cadena),file_edit_using_search_replace_blocks
(cadena)
- Parámetros:
ReadImage
: lee archivos de imagen para visualizarlos o procesarlos- Parámetros:
file_path
(cadena)
- Parámetros:
Gestión de proyectos:
ContextSave
: guarda el contexto del proyecto y los archivos para la transferencia de conocimiento o para guardar puntos de control de tareas para reanudarlos más tarde- Parámetros:
id
(cadena),project_root_path
(cadena),description
(cadena),relevant_file_globs
(cadena[])
- Parámetros:
Todas las herramientas admiten rutas absolutas e incluyen protecciones integradas contra errores comunes. Consulte la especificación MCP para obtener información detallada sobre el protocolo.
This server cannot be installed
Capacidades de edición de archivos y shell estrechamente acopladas para brindar una poderosa experiencia de codificación.
Puede trabajar con diferentes modos: arquitecto y escritor de código para fases de planificación e implementación separadas.
Puede hacer que invoque cualquier comando cli, por ejemplo, compilación, verificación de tipos, linting, github cli, python
- Demo
- Updates
- 🚀 Highlights
- Top use cases examples
- Claude setup (using mcp)
- Chatgpt Setup
- Examples
- Using mcp server over docker
- [Optional] Local shell access with openai API key or anthropic API key
- Tools