Babashka MCP Server
启用使用模型上下文协议执行和管理 Babashka 脚本,提供诸如缓存、命令历史记录访问和可配置超时等功能,以增强脚本工作流程。
Tools
execute
Execute Babashka (bb) code
README
Babashka MCP 服务器
一个用于与 Babashka 交互的模型上下文协议 (Model Context Protocol, MCP) 服务器,Babashka 是一个用于脚本编写的原生 Clojure 解释器。
特性
- 通过 MCP 工具执行 Babashka 代码
- 缓存最近的命令结果
- 通过 MCP 资源访问命令历史记录
- 可配置的命令超时
前提条件
安装 Babashka
Babashka 可以通过多种方式安装:
macOS
brew install borkdude/brew/babashka
Linux
bash < <(curl -s https://raw.githubusercontent.com/babashka/babashka/master/install)
Windows
# 使用 scoop
scoop install babashka
对于其他安装方法,请参阅 官方 Babashka 安装指南。
验证安装
安装后,验证 Babashka 是否正常工作:
# 检查版本
bb --version
# 尝试一个简单的表达式
bb -e '(+ 1 2 3)'
# 从字符串运行脚本
bb -e '(defn hello [x] (str "Hello, " x "!")) (hello "World")'
# 使用 -i 标志处理输入行
ls | bb -i '(take 2 *input*)'
安装
# 安装依赖
npm install
# 构建 MCP 服务器
npm run build
配置
服务器可以通过环境变量进行配置:
BABASHKA_PATH
: Babashka 可执行文件的路径(默认值:"bb")
工具
execute
执行 Babashka 代码,可选择超时时间:
{
name: "execute",
arguments: {
code: string; // 要执行的 Babashka 代码
timeout?: number; // 超时时间,以毫秒为单位(默认值:30000)
}
}
示例:
{
name: "execute",
arguments: {
code: "(+ 1 2 3)",
timeout: 5000
}
}
资源
服务器维护一个最近命令执行的缓存,可以通过以下方式访问:
babashka://commands/{index}
- 通过索引访问特定的命令结果
Babashka 语言特性
尾调用优化 (TCO)
Babashka 通过 recur
特殊形式支持显式尾调用优化,但不实现自动 TCO。 例如:
;; 这将导致堆栈溢出
(defn countdown [n]
(if (zero? n)
:done
(countdown (dec n))))
;; 这可以通过使用 recur 的 TCO 工作
(defn countdown [n]
(if (zero? n)
:done
(recur (dec n))))
实用资源
官方资源
- Babashka GitHub 仓库 - 主要的 Babashka 项目
- Babashka Book - 官方文档
- Babashka 示例 - 示例脚本集合
社区工具 & 库
- pod-babashka-buddy - Babashka 的加密 API
- bb-clis - 有用的 Babashka CLI 脚本集合
- bb-scripts - Babashka 的各种实用脚本
开发工具
- setup-babashka - 用于安装 Babashka 的 GitHub Actions
- babashka-docker-action - 在 GitHub Actions 中运行 Babashka 脚本
开发
此服务器旨在最终实现自托管,这意味着它将用 Babashka 本身重写。 当前的 TypeScript 实现用作参考和起点。
路线图
-
自托管实现
- 用 Babashka 重写 MCP 服务器
- 利用 Babashka 的原生功能以获得更好的性能
- 移除 Node.js 依赖
- 保持与 MCP 协议的完全兼容性
- 支持所有当前功能:
- 命令执行
- 资源管理
- 命令历史记录
- 超时处理
-
增强功能
- 增加对 Babashka pods 的支持
- 实现文件监视功能
- 增加 REPL 集成
- 支持多个 Babashka 实例
-
性能优化
- 实现缓存策略
- 优化资源使用
- 减少启动时间
-
测试 & 文档
- 完善的测试套件
- API 文档
- 使用示例
- 性能基准
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。