nREPL MCP Server

Inter

Documentación

nREPL MCP Server

Un servidor de Model Context Protocol (MCP) diseñado para clientes MCP, como Claude Desktop o CLine en VSCode. Este servidor puede utilizarse con cualquier LLM cuando se usa con CLine. Este servidor permite la interacción con una instancia de nREPL de Clojure en ejecución, permitiendo la evaluación de código Clojure, inspección de namespaces y otras utilidades a través de MCP.


Características

  • Conectar a un servidor nREPL en ejecución especificando host y puerto.
  • Evaluar código Clojure en un namespace dado o en el actual.
  • Listar namespaces del proyecto usando tools.namespace.
  • Obtener el estado de la conexión nREPL, incluyendo host, puerto y detalles de la sesión.
  • Inspeccionar vars públicas en cualquier namespace de Clojure, mostrando metadatos como docstrings y valores.

Instalación y Configuración

Instalación en CLine (VSCode) o Claude Desktop

Para usar este servidor con CLine o Claude Desktop, sigue estos pasos:

  1. Abre CLine en VSCode o Claude Desktop.
  2. Navega a la Configuración de MCP.
  3. Añade un nuevo servidor MCP con la siguiente configuración:
    {
      "mcpServers": {
        "nrepl-mcp-server": {
          "command": "npx",
          "args": [
            "nrepl-mcp-server"
          ],
          "disabled": false,
          "autoApprove": []
        }
      }
    }
    
  4. Guarda y reinicia el cliente para aplicar los cambios.

Esto permitirá que el cliente se comunique con el servidor nREPL MCP a través de la entrada/salida estándar.

Instalación mediante npx

Para ejecutar rápidamente el servidor sin clonar el repositorio:

npx nrepl-mcp-server

Instalación Manual

  1. Clonar el repositorio
  2. Instalar dependencias
    npm install
    
  3. Compilar el proyecto (transpila TypeScript a JavaScript)
    npm run build
    
  4. Ejecutar el servidor
    • Modo Producción: Se ejecuta desde la salida compilada.
      npm start
      
      • Modo Desarrollo: Usa ts-node para cambios en vivo.
      npm run dev
      

Esto inicia el servidor, escuchando en STDIO para solicitudes MCP. El cliente MCP iniciará el servidor por ti.


Acciones

Conectar a nREPL

Permite establecer una conexión con un servidor nREPL especificando un host y puerto.

Evaluar Código Clojure

Ejecuta expresiones arbitrarias de Clojure en el namespace predeterminado o en un namespace especificado.

Obtener Información del Namespace

Lista todos los namespaces en el directorio del proyecto actual usando tools.namespace.

Inspeccionar Vars Públicas

Obtiene metadatos y valores actuales de todas las vars públicas en un namespace especificado.

Obtener Estado de la Conexión nREPL

Proporciona detalles sobre la conexión nREPL actual, incluyendo host, puerto, ID de sesión y último error (si lo hay).


Recursos

nrepl://status

Proporciona información sobre la conexión nREPL actual, incluyendo:

  • Host y puerto
  • Estado de la conexión
  • ID de sesión activa

nrepl://namespaces

Lista todos los namespaces detectados en el directorio del proyecto.


Contribuciones

¡Las contribuciones son bienvenidas! Si tienes sugerencias de funciones o informes de errores, por favor abre un issue o pull request.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Siéntete libre de modificarlo y distribuirlo según sus términos.