clojure-mcp を claude code で実行したときの接続の流れをメモ
先日、clojure-mcp を claude desktop で実行したときの接続の流れをメモ という記事を書きました。
今回は Claude Code で行ってみます。
ClojureMCPのセットアップは、現在アルファ版であるため、簡単にインストールできるように最適化されていません。このガイドでは、プロセスをステップごとに説明します。
といっても難しいことはなくて
-
.clojure/deps.ednに間違いなく設定すること - REPLのポートを間違えないこと
- 起動の順番を間違えないこと
を守れば大丈夫です!
1. セッティング
1.1. .clojure/deps.edn
.clojure/deps.edn に設定を記述することで Clojure MCP Server をインストールします。
{:aliases
{:mcp
{:deps {org.slf4j/slf4j-nop {:mvn/version "2.0.16"} ;; Required for stdio server
com.bhauman/clojure-mcp {:git/url "https://github.com/bhauman/clojure-mcp.git"
:git/tag "v0.1.8-alpha"
:git/sha "457f197"}}
:exec-fn clojure-mcp.main/start-mcp-server
:exec-args {:port 7888}}}}
- 最新の SHA は https://github.com/bhauman/clojure-mcp/commits/main を参照してください
- ポートはこのあと設定する Project ディレクトリに合わせて変更してもいいですし、7888と固定して、ProjectのREPLを必ず7888で開けるようにしても良いです。
1.2. Project ディレクトリ
deps.edn
簡単なClojureプロジェクトを作ります。
mkdir example
cd example
touch deps.edn
{:paths ["src"]
:aliases {:nrepl {:extra-paths ["test"]
:extra-deps {nrepl/nrepl {:mvn/version "1.3.1"}}
:jvm-opts ["-Djdk.attach.allowAttachSelf"]
:main-opts ["-m" "nrepl.cmdline" "--port" "7888"]}}}
- このポート番号と、
.clojure/deps.ednが必ず同値である必要があります。 - この設定で一度REPLを立ち上げ、エラーが起きなければOKです。
➜ clj -M:nrepl rlwrap: warning: could not set locale warnings can be silenced by the --no-warnings (-n) option nREPL server started on port 7888 on host localhost - nrepl://localhost:7888 - テストしたらREPLは必ずCloseしてください。
.mcp.json
次に Clojure-MCP を Claude Codeに 追加します。ここでは、このProjectにおいてのみ使える状態で追加します。
まず、Projectディレクトリ直下に .mcp.jsonを作成してください。
touch .mcp.json
そして、以下を記述します。
{
"mcpServers": {
"clojure-mcp": {
"command": "/bin/bash",
"args": [
"-c",
"clojure -X:mcp :port 7888"
]
}
}
}
こんな感じです。

2. 起動
起動の順番がとても大切で、必ず
- ProjectのNREPLを立ち上げる
- Claude Codeを立ち上げる
という順番を守ってください。
まず、Projectと立ち上げましょう。
clj -M:nrepl
次に Claude Codeを起動します。
claude
すると以下のように、.mcp.json の clojure-mcp の実行してもいいですか?というようなメッセージが出ますので使う選択をします。

別のMCPサーバを追加した場合は、必ず Claude Code を再起動して、同様に適用させてください。
確認
claude code チャットに /mcp と送信すると現在使えるMCPサーバがリストされ、Statusを確認できます。

テスト
ではプロンプトでテストしてみましょう
src/hoge.clj に clojure-mcp を使って何かClojureらしいコードを書いてください。
すると、このように clojure-mcp の tool を使いますよ?という確認をしてくるはずです。これでOK!です。

バシバシOKして clojure を書いてもらいましょう!
トラブルシューティング
Error building classpath. Error reading edn. Invalid file, expected edn to contain a single value. (~/.clojure/deps.edn)
このエラーは ~/.clojure/deps.edn での階層の書き方が間違ってます。よーく見直してください。
Repository
書いたものはここにおいておきました。ご参考にどうぞ。
Discussion