Nash MCP Server

local-only server

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

Integrations

  • Nash MCP uses .env files to specify data file paths for configuration

  • Nash MCP provides command execution capabilities that can run git commands with proper error handling and output capture

  • Nash MCP enables execution of Python code snippets with full access to installed packages and provides information about available Python packages

Servidor MCP de Nash

Nash MCP (un servidor de Protocolo de Contexto de Modelo (MCP)) permite la ejecución sin inconvenientes de comandos, código Python, obtención de contenido web y gestión de tareas reutilizables.

Requisitos

  • Python 3.11+
  • Gestor de paquetes de poesía (recomendado)

Instalación

git clone https://github.com/nash-run/nash-mcp.git cd nash-mcp poetry install

Características

  • Ejecución de comandos : ejecutar comandos de shell con manejo de errores
  • Ejecución de Python : Ejecutar código Python con manejo de errores
  • Credenciales seguras : almacene y acceda a claves API sin exponer datos confidenciales al LLM
  • Acceso a contenido web : obtenga y analice el contenido de páginas web para su análisis
  • Repositorio de tareas : guarde y organice flujos de trabajo y scripts reutilizables

Herramientas

Módulo de ejecución

  • execute_command : ejecuta comandos de shell con manejo de errores y captura de salida adecuados
  • list_session_files : enumera todos los archivos de Python en la sesión actual (SIEMPRE UTILICE ESTO PRIMERO antes de crear nuevos archivos)
  • get_file_content : recupera el contenido del archivo para revisar y editar el código existente
  • edit_python_file : Realiza ediciones específicas a archivos Python existentes utilizando coincidencia exacta de patrones de cadenas (MÉTODO PREFERIDO)
  • execute_python : ejecuta fragmentos de código Python con acceso completo a los paquetes instalados (úselo solo para archivos nuevos)
  • list_installed_packages : Obtener información sobre los paquetes de Python disponibles

Interacción web

  • fetch_webpage : recupera y convierte el contenido de la página web a formato de texto legible

Gestión de secretos

  • nash_secrets : Acceda de forma segura a las claves API y credenciales almacenadas. Accesible mediante variables de entorno en scripts.

Gestión de tareas

  • save_nash_task : Crea tareas reutilizables con scripts integrados
  • list_nash_tasks : Ver todas las tareas guardadas disponibles
  • run_nash_task : Recuperar y mostrar una tarea previamente guardada
  • execute_task_script : Ejecutar un script específico desde una tarea guardada
  • view_task_details : Ver detalles completos de una tarea, incluido el código del script
  • delete_nash_task : Eliminar tareas que ya no son necesarias

Correr

Este es el comando a utilizar para los archivos de configuración de MCP

/path/to/this/repo/.venv/bin/mcp run /path/to/this/repo/src/nash_mcp/server.py

A modo de ejemplo, si quisiera utilizar este MCP con Claude Desktop, cambiaría su ~/Library/Application Support/Claude/claude_desktop_config.json a:

{ "mcpServers": { "Nash": { "command": "/Users/john-nash/code/nash-mcp/.venv/bin/mcp", "args": ["run", "/Users/john-nash/code/nash-mcp/src/nash_mcp/server.py"] } } }

Variables de entorno

Nash MCP requiere variables de entorno para especificar todas las rutas de los archivos de datos. Cree un archivo .env en el directorio raíz con las siguientes variables:

# Required environment variables NASH_SECRETS_PATH=/path/to/secrets.json NASH_TASKS_PATH=/path/to/tasks.json NASH_LOGS_PATH=/path/to/logs/directory NASH_SESSIONS_PATH=/path/to/sessions/directory

No hay valores predeterminados: todas las rutas deben configurarse explícitamente.

Gestión de sesiones

El servidor Nash MCP crea un directorio de sesión único para cada instancia del servidor. Este directorio de sesión almacena:

  • Scripts de Python ejecutados durante la sesión
  • Archivos de respaldo de scripts editados
  • Registros de errores e información de excepciones

Este almacenamiento persistente permite flujos de trabajo potentes:

  1. Los scripts se guardan con nombres descriptivos para facilitar su consulta.
  2. Los scripts anteriores se pueden ver y modificar en lugar de reescribirlos
  3. Los errores se capturan en archivos complementarios para su depuración.

Flujo de trabajo obligatorio

⚠️ LISTA DE VERIFICACIÓN OBLIGATORIA DE PRECODIFICACIÓN: COMPLETE ANTES DE ESCRIBIR CUALQUIER CÓDIGO: ⚠️

1. Check available packages: list_installed_packages() - Know what libraries you can use - Avoid importing unavailable packages 2. Check available secrets: nash_secrets() - See what API keys and credentials are available - Don't write code requiring credentials you don't have 3. Check existing files: list_session_files() - See what code already exists - Avoid duplicating existing functionality 4. Review relevant file contents: get_file_content("filename.py") - Understand existing implementations - Decide whether to edit or create new

Mejores prácticas para la edición de archivos

Al trabajar con Nash MCP, equilibre la eficiencia y la preservación del contexto:

  1. Siempre verifique si existen archivos antes de crear nuevos usando list_session_files()
  2. Priorice la edición con edit_python_file() para cambios menores a moderados
  3. Considere crear nuevos archivos cuando:
    • Sería más eficiente en términos de tokens que explicar ediciones complejas.
    • Necesitarías reemplazar casi todo el archivo
    • La tarea implica una funcionalidad completamente nueva.
    • Crear un nuevo archivo daría como resultado una respuesta más limpia y más pequeña.

La regla de oro es minimizar el uso de tokens manteniendo el contexto y el historial del código.

Este enfoque preserva el historial del script, mantiene el contexto y optimiza el desarrollo incremental. El flujo de trabajo de edición sigue este patrón:

  1. Primero, verifique los recursos disponibles → list_installed_packages() y nash_secrets()
  2. Listar todos los archivos existentes → list_session_files()
  3. Verificar el contenido de los archivos relevantes → get_file_content("file_name.py")
  4. Realizar cambios en el archivo existente → edit_python_file("file_name.py", old_content, new_content)
  5. Ejecutar el archivo modificado → execute_python("", "file_name.py") (cadena de código vacía para ejecutar sin modificar)
  6. Solo crea nuevos archivos cuando no exista nada similar → execute_python(new_code, "new_file.py")

Errores comunes que se deben evitar

  1. Crear un nuevo archivo cuando una pequeña edición sería más eficiente
  2. Realizar ediciones complejas al crear un nuevo archivo sería más eficiente en términos de tokens.
  3. Intentando utilizar paquetes que no están instalados
  4. Escribir código que requiere claves API que no tienes
  5. Reescritura de la funcionalidad que ya existe
  6. No considerar la eficiencia del token en su enfoque

Pautas de eficiencia de tokens

Al decidir si editar o crear un nuevo archivo, considere qué enfoque utilizará menos tokens:

  • Editar cuando : Los cambios son pequeños a moderados, localizados en secciones específicas y fáciles de describir.
  • Crear nuevo cuando : los cambios reemplazarían la mayor parte del archivo, las ediciones serían complejas de explicar o se necesita un enfoque completamente nuevo

Intente siempre producir el resultado más pequeño y eficiente que logre realizar la tarea manteniendo la claridad y el contexto.

Consideraciones de seguridad

  • Los comandos y scripts se ejecutan con los mismos permisos que el servidor MCP
  • Las claves API y las credenciales se almacenan localmente y se cargan como variables de entorno
  • Revise siempre los scripts antes de ejecutarlos, especialmente cuando trabaje con datos confidenciales.

Desarrollo

Registros

El servidor genera registros detallados con marca de tiempo de todas las operaciones y ejecuciones de herramientas. Estos registros se almacenan en el directorio especificado por la variable de entorno NASH_LOGS_PATH .

Pruebas

poetry run pytest

Con cobertura

poetry run pytest --cov=nash_mcp

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite la ejecución sin inconvenientes de comandos, código Python, obtención de contenido web y gestión de tareas reutilizables con manejo seguro de credenciales.

  1. Requirements
    1. Installation
      1. Features
        1. Tools
          1. Execute Module
          2. Web Interaction
          3. Secrets Management
          4. Task Management
        2. Running
          1. Environment Variables
          2. Session Management
          3. Mandatory Workflow
          4. File Editing Best Practices
          5. Common Mistakes to Avoid
          6. Token Efficiency Guidelines
        3. Security Considerations
          1. Development
            1. Logs
            2. Testing
          2. License
            ID: 6p8z2xek5c