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.

바바쉬카 MCP 서버

스크립팅을 위한 네이티브 Clojure 인터프리터인 Babashka 와 상호작용하기 위한 모델 컨텍스트 프로토콜 서버입니다.

특징

  • MCP 도구를 통해 Babashka 코드 실행
  • 최근 명령 결과 캐시
  • MCP 리소스를 통해 명령 기록에 액세스
  • 구성 가능한 명령 시간 초과

필수 조건

바바쉬카 설치

바바쉬카는 여러 가지 방법으로 설치할 수 있습니다.

맥OS

지엑스피1

리눅스

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

윈도우

# Using scoop scoop install babashka

다른 설치 방법에 대해서는 공식 Babashka 설치 가이드를 참조하세요.

설치 확인

설치 후 Babashka가 작동하는지 확인하세요.

# 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*)'

설치

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

구성

서버는 환경 변수를 통해 구성할 수 있습니다.

  • BABASHKA_PATH : Babashka 실행 파일의 경로(기본값: "bb")

도구

실행하다

선택적 시간 초과를 사용하여 Babashka 코드를 실행합니다.

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

예:

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

자원

서버는 다음을 통해 액세스할 수 있는 최근 명령 실행 캐시를 유지 관리합니다.

  • babashka://commands/{index} - 인덱스로 특정 명령 결과에 액세스

바바슈카 언어의 특징

테일 콜 최적화(TCO)

Babashka는 recur 특수 형식을 통해 명시적인 테일 콜 최적화를 지원하지만, 자동 TCO는 구현하지 않습니다. 예:

;; 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))))

유용한 자료

공식 리소스

커뮤니티 도구 및 라이브러리

개발 도구

개발

이 서버는 궁극적으로 셀프 호스팅 방식으로 설계되었으며, 이는 Babashka 자체로 다시 작성될 것임을 의미합니다. 현재 TypeScript 구현은 참고 자료이자 시작점 역할을 합니다.

로드맵

  1. 셀프 호스팅 구현
    • Babashka에서 MCP 서버를 다시 작성하세요
    • 더 나은 성능을 위해 Babashka의 기본 기능을 활용하세요
    • Node.js 종속성 제거
    • MCP 프로토콜과 완벽한 호환성 유지
    • 현재 모든 기능 지원:
      • 명령 실행
      • 자원 관리
      • 명령 내역
      • 타임아웃 처리
  2. 향상된 기능
    • Babashka 포드에 대한 지원 추가
    • 파일 감시 기능 구현
    • REPL 통합 추가
    • 여러 Babashka 인스턴스 지원
  3. 성능 최적화
    • 캐싱 전략 구현
    • 리소스 사용 최적화
    • 시작 시간 단축
  4. 테스트 및 문서화
    • 포괄적인 테스트 모음
    • API 문서
    • 사용 예
    • 성능 벤치마크

You must be authenticated.

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

Tools

모델 컨텍스트 프로토콜을 사용하여 Babashka 스크립트를 실행하고 관리할 수 있도록 하여 캐싱, 명령 기록 액세스, 향상된 스크립팅 워크플로를 위한 구성 가능한 시간 초과와 같은 기능을 제공합니다.

  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