Skip to main content
Glama

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

Related MCP server: Akash MCP Server

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

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

Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bmorphism/babashka-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server