forgejo-mcp を入れて claude desktop から弄れるようにする
数週間前から claude-code を MCP サーバとして claude desktop を経由してコードを書いている。どうして直接 claude-code を使わないかというと、どうしても claude-code のチャット履歴の見え方というか、履歴を削除できないことに馴染めないのであえて、claude desktop でチャットをしている。
この方法だとプロジェクトに、ソースコード以外の資料をまとめることもできるので割と気に入っている。自分の扱うコードだと決定までの過程を残すことには、あまり意味がないと感じているので決定=ソースの現状 としてその作業のために、チャットがあるという感じにしている。
さて今回、新たに別のプロジェクトをつくる必要があるので、ローカル git サーバの forgejo も claude desktop から操作できるようにする。これでコミットメッセージを考えてもらってコピペしてコミットするというアナログなことをせずに済むようになるはず。
設定方法は、claude_desktop_config.json に forgejo-mcp サーバの設定をしてやります。ファイルのパスは OS により異なるのですが、非公式の linux ビルドでは UI から [settings] – [Developer] – [Edit Config] でフォルダが開くので底から探して編集してやります。
自分は予めイメージをダウンロードして実行できることを確認したが、自信があれば直接設定ファイルを書き換えれば動作するはずです。
podman を使用いていますが docker の場合は、 command ところが変わります。それ以外の引数はほぼかわりないはずですが、下の設定ファイルをそのまま claude や gemini に投げてやれば、docker 版の設定も作ってくれるはず。
{
"mcpServers": {
"forgejo": {
"command": "podman",
"args": [
"run", "--rm", "-i",
"-e", "FORGEJOMCP_TOKEN="自分のコード",
"ronmi/forgejo-mcp",
"stdio",
"--server", "https://mydomain.forgejo.net" // 自分の fogejo の URL
]
}
}
}FORGEJOMCP_TOKEN は、名前に違和感がありますが forgejo のアクセストークンです。
こちらは forgejo にログインした状態で、右上の [設定] からすすみ(サイト設定ではなく個人の方)、
[アプリケーション] – [アクセストークン] のボックスで生成する。トークンは一度しか表示されないらしいので、しくじったら再度、生成する必要がある。
これで、claude Desktop から forgejo にアクセスしてとかやると見えたと答えるので見にいっているらしい。早速コミットやらやってみることにする。
余談だが、github なんかで docker run xxx しかないパターンがよくある。
これを docker-compose.yml に書き起こすのはあまり得意ではないのだが、 claude にコマンドをそのまま投げるといい感じに docker-compose.yml にしてくれるのはありがたい。仮に動かなくてもまた claude に聞けばいいわけだし。。。
参考
Forgejo MCP環境設定ガイド – KuniWiki
このページでは Windows 環境でローカルビルドした .exe を使っているので設定ファイルに指定しているコマンドが若干異なる。Windows でも docker を使うことができるので必ずしもビルドする必要はない。
とはいえ、 forgejo-mcp の存在を知ることができたのは大きな収穫だった。