Token导航 LogoToken导航

MCP Server · 开发工具

Clojure MCP Light

为Clojure开发者提供的LLM编程辅助工具集,包含自动修复括号错误和nREPL评估功能,优化与AI编程助手的协作流程。

未说明官方级别未说明来源级核验工具 0
AI协作Claude开发工具

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
bhauman
提供方
bhauman

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

166

仓库热度

收录来源

1 个

MCP World

选型结论

Clojure MCP Light 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前要先准备 会话凭据。

分类

开发工具

传输方式

未说明

认证方式

会话凭据

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

clojure mcp灯

这不是MCP。

用于使用Clojure的LLM编码助手的简单CLI工具。

太长,读不下去了 使用LLM编码助手进行Clojure开发的三个CLI工具:

问题

LLM在编辑Clojure代码时会产生分隔符错误——括号、方括号和大括号不匹配。这导致了 “Paren编辑死亡循环” 其中AI反复无法修复分隔符错误,浪费令牌并阻碍进度。

次要问题:LLM编码助手需要连接到有状态的Clojure REPL进行评估。

这些工具解决了这两个问题。

快速参考

工具用例
clj-nrepl-eval任何法学硕士的REPL评估
clj-paren-repair-claude-hookClaude Code(或任何支持Claude钩子的LLM)
clj-paren-repairGemini CLI、Codex CLI、任何带shell的LLM

快速安装

安装挂钩工具:

bbin install https://github.com/bhauman/clojure-mcp-light.git --tag v0.2.2

注: 除非进行配置,否则挂钩将无法工作 ~/.claude/settings.json -请参阅下面的配置部分。

安装nREPL评估工具:

bbin install https://github.com/bhauman/clojure-mcp-light.git --tag v0.2.2 --as clj-nrepl-eval --main-opts '["-m" "clojure-mcp-light.nrepl-eval"]'

安装按需维修工具:

bbin install https://github.com/bhauman/clojure-mcp-light.git --tag v0.2.2 --as clj-paren-repair --main-opts '["-m" "clojure-mcp-light.paren-repair"]'

有关重要的配置和使用细节,请参阅下面的各个工具部分。

需求

- 注: 使用Codex和其他沙盒bash执行工具时,需要1.12.212或更高版本

可选:

______________________________________________________________________

clj-nrepl-eval 无MCP的LLM nREPL连接

nREPL客户端,用于从命令行评估Clojure代码。

这为编码助手提供了通过shell访问REPL eval的权限 电话。它专为LLM交互而设计,并允许 LLM可以发现和管理其REPL会话,而无需 以配置MCP服务器。

它有什么帮助

  • 让LLM评估正在运行的REPL中的代码
  • 为每个目标维护持久会话
  • 自动发现nREPL端口
  • 评估前自动修复分隔符
  • 指导LLM的有用输出

安装

安装分为两个步骤,安装命令行工具和 然后告诉编码助手 clj-nrepl-eval.

bbin install https://github.com/bhauman/clojure-mcp-light.git --tag v0.2.2 --as clj-nrepl-eval --main-opts '["-m" "clojure-mcp-light.nrepl-eval"]'

或者从本地结账:

bbin install . --as clj-nrepl-eval --main-opts '["-m" "clojure-mcp-light.nrepl-eval"]'

通过启动nREPL并执行测试评估来验证它是否已安装并正常工作。

# this missing paren is there to demonstrate that delimiters are repaired automatically
clj-nrepl-eval -p 7888 "(+ 1 2 3" 
# => 6

告诉LLM clj-nrepl-eval

选择其中一种或多种方法。每种都有权衡:

方法可用性何时使用信息最适合
自定义说明所有LLM客户端始终处于上下文中最简单、最有效
Slash命令大多数编码助手当你调用它时按需感知
技能仅限Claude CodeLLM在需要时拉取自动、上下文感知

每个都可以安装 本地 (每个项目)或 全球范围内 (所有项目)。

自定义说明

最简单,也许也是最有效的方法。与所有LLM编码助理一起工作。

添加到您的自定义说明文件中:

  • 全球: ~/.claude/CLAUDE.md, ~/.gemini/GEMINI.md, ~/.codex/AGENTS.md
  • 本地: ./CLAUDE.md, ./GEMINI.md, ./AGENTS.md 在项目根中
# Clojure REPL Evaluation

The command `clj-nrepl-eval` is installed on your path for evaluating Clojure code via nREPL.

**Discover nREPL servers:**

`clj-nrepl-eval --discover-ports`

**Evaluate code:**

`clj-nrepl-eval -p 
 ""`

With timeout (milliseconds)

`clj-nrepl-eval -p 
 --timeout 5000 ""`

The REPL session persists between evaluations - namespaces and state are maintained.
Always use `:reload` when requiring namespaces to pick up changes.
斜杠命令

允许您在需要时将REPL意识插入到对话中。大多数编码助手都提供此功能(安装方式因客户而异)。

  • /启动nrepl -在后台启动nREPL服务器并报告端口
  • /clojure nrepl -提供详细的使用信息 clj-nrepl-eval

克劳德代码 -用途 .md 文件在 commands/ 目录:

# Global: ~/.claude/commands/
# Local: .claude/commands/
mkdir -p ~/.claude/commands
cp commands/*.md ~/.claude/commands/

双子星命令行工具 -用途 .toml 文件(文档):

# Global: ~/.gemini/commands/
# Local: .gemini/commands/

Codex 命令行界面 -用途 .md 文件(文档):

# Global: ~/.codex/prompts/
技能

允许LLM在实际需要时提取REPL信息。目前只有克劳德代码。

# Global (all projects)
mkdir -p ~/.claude/skills
cp -r skills/clojure-eval ~/.claude/skills/

# Local (this project only)
mkdir -p .claude/skills
cp -r skills/clojure-eval .claude/skills/

使用提示

最简单的策略: 在编码会话之前启动nREPL

在要求LLM使用nREPL之前,先启动nREPL。这样就可以了 只需在当前项目中查找服务器的端口 随着 --discover-ports开始与REPL互动的最低仪式。

高级: 让LLM开始并管理您的nREPL会话

Claude和其他LLM完全有能力启动你的nREPL 服务器处于后台,并从输出中读取端口。他们 如果服务器挂在错误的eval上,也可以杀死服务器。

根据您的工作流程进行自定义

一旦你开始与 clj-nrepl-eval 在编码助手内部, 很快就会清楚如何调整上述提示以适应 您的特定项目和工作流程。

______________________________________________________________________

clj-paren修复克劳德钩

克劳德代码挂钩 让你跑 在Claude的工具调用之前或之后执行shell命令。这个钩子 拦截写入/编辑操作并自动修复分隔符 在它们到达文件系统之前发生错误。

在我的使用中,这些钩子已经修复了100%检测到的错误。

注: 其目的是在其他LLM客户端添加钩子支持时,创建和发布特定于客户端的钩子工具。例如,当Gemini CLI添加钩子时 clj-paren-repair-gemini-hook 工具将可用。

为什么使用钩子而不是MCP工具?

使用基于MCP的编辑工具,您将失去Claude Code的原生UI 集成——工具调用的格式很差,很难 阅读。Hooks使Claude Code能够正常运行其原生代码 编辑/写入工具,保留您习惯的干净差异UI,同时 在幕后透明地修复分隔符错误。

它有什么帮助

  • 在将错误写入磁盘之前透明地修复错误
  • 用途 零令牌 -发生在LLM调用之外
  • 保留Claude Code的原生差异UI和工具集成
  • 全局安装一次,适用于所有Clojure文件编辑

安装

bbin install https://github.com/bhauman/clojure-mcp-light.git --tag v0.2.2

或者从本地结账:

bbin install .

配置

添加 ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "clj-paren-repair-claude-hook --cljfmt"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "clj-paren-repair-claude-hook --cljfmt"
          }
        ]
      }
    ],
    "SessionEnd": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "clj-paren-repair-claude-hook --cljfmt"
          }
        ]
      }
    ]
  }
}

选项

  • --cljfmt -使用cljfmt启用自动代码格式化
  • --stats -启用统计跟踪(日志到 ~/.clojure-mcp-light/stats.log)
  • --log-level LEVEL -设置日志级别(跟踪、调试、信息、警告、错误)
  • --log-file PATH -日志文件的路径(默认: ./.clojure-mcp-light-hooks.log)
  • -h, --help -显示帮助消息

运作原理

  • PreTool使用挂钩 在写入/编辑操作之前运行,在写入之前修复内容
  • PostTool使用挂钩 在编辑操作后运行,修复引入的任何问题
  • 会话结束挂钩 Claude Code会话结束时清理临时文件

写入操作:如果检测到分隔符错误,则在写入之前通过parinfer修复内容。如果无法修复,则写入被阻止。

编辑操作:在编辑之前创建备份。编辑后,如果存在分隔符错误,则会自动修复。如果无法修复,则从备份中还原文件。

统计跟踪

统计跟踪有助于验证这些工具是否正常工作。 在某些时候,Clojurists可能不需要它们——要么是因为模型停止了 产生分隔符错误,或因为助手包括parinfer 内部。追踪有助于我们知道那一天何时到来。

添加 --stats 要跟踪分隔符事件,请执行以下操作:

clj-paren-repair-claude-hook --cljfmt --stats

统计数据已写入 ~/.clojure-mcp-light/stats.log 作为EDN:

{:event-type :delimiter-error, :hook-event "PreToolUse", :timestamp "2025-11-09T14:23:45.123Z", :file-path "/path/to/file.clj"}
{:event-type :delimiter-fixed, :hook-event "PreToolUse", :timestamp "2025-11-09T14:23:45.234Z", :file-path "/path/to/file.clj"}

使用附带的统计摘要脚本:

./scripts/stats-summary.bb

样本输出:

clojure-mcp-light Utility Validation
============================================================

Delimiter Repair Metrics
========================
  Total Writes/Edits:           829
  Clean Code (no errors):       794  ( 95.8% of total)
  Errors Detected:               35  (  4.2% of total)
  Successfully Fixed:            35  (100.0% of errors)
  Failed to Fix:                  0  (  0.0% of errors)
  Parse Errors:                   0  (  0.0% of fix attempts)

日志记录

启用调试日志记录:

# Debug level
clj-paren-repair-claude-hook --log-level debug --cljfmt

# Trace level (maximum verbosity)
clj-paren-repair-claude-hook --log-level trace --log-file ~/hook-debug.log

验证安装

echo '{"hook_event_name":"PreToolUse","tool_name":"Write","tool_input":{"file_path":"test.clj","content":"(def x 1)"}}' | clj-paren-repair-claude-hook

验证挂钩是否在Claude代码中运行:

Claude Code编辑Clojure文件后,展开工具输出以查看 钩子消息。在终端中,按 ctrl-r (或单击编辑)和 查找围绕差异的这些消息:

⎿ PreToolUse:Edit hook succeeded:
  ... edit diff ...
⎿ PostToolUse:Edit hook succeeded:

如果您没有看到这些消息,请检查您的 ~/.claude/settings.json 挂钩配置正确。

测试分隔符修复:

提示Claude代码故意编写格式错误的Clojure(例如,缺失 关闭paren)以验证钩子是否自动固定。

专业提示

与…结合 clj-paren-repair 为了实现完全覆盖,钩子可以处理编辑/写入工具,但LLM也可以通过Bash(sed、awk)进行编辑。拥有这两种工具可以解决所有问题。

______________________________________________________________________

clj-paren维修

不支持钩子的LLM编码助手的shell命令 (如Gemini CLI和Codex CLI)。当LLM遇到分隔符时 错误,它调用此工具进行修复,而不是尝试手动修复。

关键见解: 当我们在“Paren-Edit死亡循环”中反复观察AI时 未能修复分隔符错误——我们正在拼命寻找解决方案。 clj-paren-repair 提供了一条使这种行为短路的逃生路线。

为什么这样做: 现代SOTA模型只需 小分隔符差异。这些错误很小,不会出错 可以可靠地修复它们。这个简单的解决方案效果惊人。

吊钩与电缆修复: 钩子在可用时是明显的赢家——它们 使用零令牌,无需LLM调用即可发生。然而, clj-paren-repair 适用于任何具有shell访问权限的LLM。当Gemini CLI获得 钩子支撑,我们应该使用它们。在那之前, clj-paren-repair 足够了。

两者结合使用: 即使配置了钩子,也具有 clj-paren-repair 提供完整的覆盖范围。钩子处理编辑/写入工具,但LLM 还可以通过Bash(sed、awk等)编辑文件。拥有这两种工具可以解决所有问题。

它有什么帮助

  • 提供“Paren编辑死亡循环”的逃生路线
  • LLM在遇到分隔符错误时调用它
  • 适用于 任何 具有shell访问权限的LLM
  • 使用cljfmt自动格式化文件

安装

bbin install https://github.com/bhauman/clojure-mcp-light.git --tag v0.2.2 --as clj-paren-repair --main-opts '["-m" "clojure-mcp-light.paren-repair"]'

或者从本地结账:

bbin install . --as clj-paren-repair --main-opts '["-m" "clojure-mcp-light.paren-repair"]'

用法

clj-paren-repair path/to/file.clj
clj-paren-repair src/core.clj src/util.clj test/core_test.clj
clj-paren-repair --help

设置:自定义说明

添加到全局或本地自定义说明文件 (GEMINI.md, AGENTS.md, CLAUDE.md 等等):

# Clojure Parenthesis Repair

The command `clj-paren-repair` is installed on your path.

Examples:
`clj-paren-repair `
`clj-paren-repair path/to/file1.clj path/to/file2.clj path/to/file3.clj`

**IMPORTANT:** Do NOT try to manually repair parenthesis errors.
If you encounter unbalanced delimiters, run `clj-paren-repair` on the file
instead of attempting to fix them yourself. If the tool doesn't work,
report to the user that they need to fix the delimiter error manually.

The tool automatically formats files with cljfmt when it processes them.

______________________________________________________________________

同时使用多种工具

Claude Code用户的最佳实践:

  1. 配置钩子以自动固定(零令牌)
  2. 也有 clj-paren-repair 可用于基于Bash的编辑
  3. 使用 clj-nrepl-eval 用于REPL评估

对于其他LLM客户端(Gemini CLI、Codex等):

  1. 安装 clj-paren-repair 并添加自定义说明
  2. 使用 clj-nrepl-eval 用于REPL评估

______________________________________________________________________

这些工具解决(和不解决)什么

问题A:输出中的分隔符错误 -已解决

这些工具修复了编辑结果中不匹配/缺失的括号。

问题B:old_string匹配失败 -未解决

有时LLMs很难产生 old_string 这与文件内容完全匹配,导致编辑失败。这在较新的型号中不太常见。

关于问题B的完整解决方案: ClojureMCP sexp编辑工具。

______________________________________________________________________

为什么不直接使用ClojureMCP?

ClojureMCP 提供了全面的Clojure工具,但:

  • ClojureMCP工具不是客户端的原生工具——没有差异UI,没有集成的输出格式
  • ClojureMCP与客户端已有的工具重复/冲突
  • 这些CLI工具有效 *随着* 客户端的原生工具,而不是替换它们

你可以两者结合使用。将ClojureMCP配置为仅公开 :clojure_eval 如果需要:

;; .clojure-mcp/config.edn
{:enable-tools [:clojure_eval]
 :enable-prompts []
 :enable-resources []}

您还可以使用ClojureMCP的提示、资源和代理 创建一套跨LLM客户端工作的工具的功能。

______________________________________________________________________

贡献

欢迎投稿和想法!请随意:

  • 带有建议或错误报告的未决问题
  • 提交带有改进的PR
  • 分享你的实验以及哪些有效(或无效)

许可证

Eclipse公共许可证版本2.0(EPL-2.0)

看 许可证.md 获取完整的许可证文本。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

Clojure本地部署Clojure开发LLM编程助手括号修复REPL评估AI协作

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到会话凭据的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Clojure MCP Light

MCP World · 本页

0未说明未标注1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Clojure MCP Light 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Clojure MCP Light 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Clojure MCP Light 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Clojure MCP Light 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Clojure MCP Light 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP