Babashka MCP Server

by bmorphism
Verified

local-only server

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

Integrations

  • The MCP server provides integration with Babashka, which is a native Clojure interpreter for scripting. It allows execution of Clojure code through the MCP protocol.

  • The README mentions GitHub Actions tools for Babashka, including setup-babashka and babashka-docker-action, which are recommended for using Babashka in GitHub Actions workflows.

Servidor MCP de Babashka

Un servidor de protocolo de contexto de modelo para interactuar con Babashka , un intérprete nativo de Clojure para scripts.

Características

  • Ejecutar código Babashka mediante herramientas MCP
  • Almacenar en caché los resultados de comandos recientes
  • Acceda al historial de comandos a través de los recursos de MCP
  • Tiempos de espera de comandos configurables

Prerrequisitos

Instalar Babashka

Babashka se puede instalar de varias maneras:

macOS

brew install borkdude/brew/babashka

Linux

bash < <(curl -s https://raw.githubusercontent.com/babashka/babashka/master/install)

Ventanas

# Using scoop scoop install babashka

Para otros métodos de instalación, consulte la guía de instalación oficial de Babashka .

Verificar la instalación

Después de la instalación, verifique que Babashka funcione:

# Check version bb --version # Try a simple expression bb -e '(+ 1 2 3)' # Run a script from string bb -e '(defn hello [x] (str "Hello, " x "!")) (hello "World")' # Use -i flag to process lines of input ls | bb -i '(take 2 *input*)'

Instalación

# Install dependencies npm install # Build the MCP server npm run build

Configuración

El servidor se puede configurar a través de variables de entorno:

  • BABASHKA_PATH : Ruta al ejecutable de Babashka (predeterminado: "bb")

Herramientas

ejecutar

Ejecutar código Babashka con tiempo de espera opcional:

{ name: "execute", arguments: { code: string; // Babashka code to execute timeout?: number; // Timeout in milliseconds (default: 30000) } }

Ejemplo:

{ name: "execute", arguments: { code: "(+ 1 2 3)", timeout: 5000 } }

Recursos

El servidor mantiene un caché de ejecuciones de comandos recientes accesible a través de:

  • babashka://commands/{index} - Acceder a resultados de comandos específicos por índice

Características del idioma babashka

Optimización de llamadas de cola (TCO)

Babashka admite la optimización explícita de llamadas finales mediante la forma especial recur , pero no implementa el TCO automático. Por ejemplo:

;; This will cause stack overflow (defn countdown [n] (if (zero? n) :done (countdown (dec n)))) ;; This works with TCO using recur (defn countdown [n] (if (zero? n) :done (recur (dec n))))

Recursos útiles

Recursos oficiales

Herramientas y bibliotecas comunitarias

Herramientas de desarrollo

Desarrollo

Este servidor está diseñado para ser autoalojado, lo que significa que se reescribirá en Babashka. La implementación actual de TypeScript sirve como referencia y punto de partida.

Hoja de ruta

  1. Implementación autoalojada
    • Reescribir el servidor MCP en Babashka
    • Aproveche las capacidades nativas de Babashka para un mejor rendimiento
    • Eliminar la dependencia de Node.js
    • Mantener la compatibilidad total con el protocolo MCP
    • Admite todas las funciones actuales:
      • Ejecución de comandos
      • Gestión de recursos
      • Historial de comandos
      • Manejo del tiempo de espera
  2. Funciones mejoradas
    • Añadir soporte para cápsulas Babashka
    • Implementar capacidades de vigilancia de archivos
    • Añadir integración REPL
    • Compatibilidad con múltiples instancias de Babashka
  3. Optimizaciones de rendimiento
    • Implementar estrategias de almacenamiento en caché
    • Optimizar el uso de recursos
    • Reducir el tiempo de inicio
  4. Pruebas y documentación
    • Conjunto completo de pruebas
    • Documentación de la API
    • Ejemplos de uso
    • Puntos de referencia de rendimiento

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Tools

Permite la ejecución y gestión de scripts de Babashka utilizando el Protocolo de contexto de modelo, ofreciendo características como almacenamiento en caché, acceso al historial de comandos y tiempos de espera configurables para flujos de trabajo de scripting mejorados.

  1. Features
    1. Prerequisites
      1. Install Babashka
      2. Verify Installation
    2. Installation
      1. Configuration
        1. Tools
          1. execute
        2. Resources
          1. Babashka Language Features
            1. Tail Call Optimization (TCO)
          2. Useful Resources
            1. Official Resources
            2. Community Tools & Libraries
            3. Development Tools
          3. Development
            1. Roadmap
              ID: 5x0u155x1h