みなさまこんにちは!エアークローゼットエアークローゼットでエンジニアをしているTada🎉です。
この記事はエアークローゼット Advent Calendar 2025 の11日目の記事です。
TL;DR
- mise: nodenv/pyenv/direnv を1つに統合。Rust製で爆速
- mcphub: 複数のMCP Serverを1エンドポイントで管理。Web UIで監視も楽
- claudecode.nvim: NeovimでもClaude Codeの公式拡張と同等の体験が可能に
はじめに
開発ワークフローを改善するのが好きです。日々の作業をもっと効率的に、もっと快適にできないか、よく考えています。
今年特に「これは手放せない」と感じた3つのツールを紹介します。どれも日々の開発ワークフローを大きく変えてくれました。
振り返ってみると、この3つには共通するテーマがあります。それは「統合」です。バラバラだったものを1つにまとめ、開発者体験を向上させる。そんなツールたちです。
1. mise - 「また 〇〇env か...」からの解放
GitHub: https://github.com/jdx/mise
なぜ mise に出会ったか
皆さんは、言語のバージョン管理をどうしていますか?
これまで、こんな状況でした:
- Node.js → nodenv
- Python → pyenv
- Ruby → rbenv
- Go → goenv
言語が増えるたびに、新しい「〇〇env」を覚える必要がありました。それぞれの設定ファイル(.node-version、.python-version、.ruby-version...)がプロジェクトのルートに散乱。新しいPCをセットアップするたびに「えーと、まず nodenv をインストールして...」と同じ作業の繰り返し。
正直、うんざりしていました。
mise との出会い
ある日、Hacker Newsで「asdf alternative」というキーワードで mise を見つけました。asdf は使ったことがありましたが、プラグインのインストールが面倒だったり、動作が遅かったりして、結局 nodenv に戻っていました。
mise は違いました。Rust製で圧倒的に速い。そしてプラグインなしで主要な言語をサポートしています。
実際の使い方
インストールは1行:
curl https://mise.run | sh
使い方もシンプル:
# Node.js 20をインストールして使用
mise use node@20
# 現在のディレクトリでPython 3.12を使用
mise use python@3.12
# グローバルにGoをインストール
mise use -g go@1.21
しかし、mise の真価は mise.toml にあります。このファイル1つで、プロジェクトに必要なすべてを定義できます:
[tools]
node = "20"
python = "3.12"
terraform = "1.6"
[env]
DATABASE_URL = "postgres://localhost/mydb"
RAILS_ENV = "development"
[tasks]
dev = "npm run dev"
test = "npm test"
lint = "npm run lint && python -m flake8"
setup = ["mise install", "npm install", "pip install -r requirements.txt"]
これで mise run dev と打てば開発サーバーが起動。mise run setup で新しいメンバーの環境構築も一発です。
direnv よ、さようなら
以前は環境変数の管理に direnv を使っていました。.envrc ファイルを作って、direnv allow して...。
mise は環境変数管理も内蔵しています。mise.toml の [env] セクションに書くだけ。別のツールを入れる必要がなくなりました。
シェルの起動も軽くなりました。以前は nodenv + pyenv + direnv がシェル起動時にロードされていて、体感できるほどの遅延がありました。mise に統一してからは、その遅延がほぼゼロに。
2. mcphub - MCP Server 管理の救世主
GitHub: https://github.com/samanhappy/mcphub
MCP Server が増えすぎた問題
Claude Code を使い始めてから、MCP の便利さにハマりました。「ESA で〇〇について調べて」「Backlog のこのチケットの詳細を見せて」と言うだけで、AI が情報を取ってきてくれる。
調子に乗っていろんな MCP Server を追加していった結果、設定ファイルがこんなことに:
{
"mcpServers": {
"esa": { "command": "...", "args": [...] },
"backlog": { "command": "...", "args": [...] },
"postgres": { "command": "...", "args": [...] },
"memory": { "command": "...", "args": [...] },
"fetch": { "command": "...", "args": [...] },
"github": { "command": "...", "args": [...] }
// ... まだまだ続く
}
}
どの Server にどんなツールがあるのか把握しきれない。新しい Server を追加するたびに JSON を手動編集。Server が落ちても気づかない。カオスでした。
mcphub による統合
mcphub は、複数の MCP Server を1つのエンドポイントで管理できるプラットフォームです。
主な特徴:
- Web UI - ブラウザで全 Server を一覧・管理
- 1エンドポイント - Claude からは1つの Server に見える
- Smart Routing - AI が最適なツールを自動選択
- Hot-Swappable - Server の追加・削除が再起動不要
- ヘルスチェック - Server の状態を常に監視
セットアップ後の設定はシンプルになりました:
{
"mcpServers": {
"mcphub": {
"url": "http://localhost:3000/sse"
}
}
}
これだけで、mcphub 経由で全ての MCP Server にアクセスできます。
実際の運用
Web UI で Server の状態が一目でわかるのが安心です。「あれ、ESA の検索が動かない」と思ったら、UI を見れば Server が落ちているかどうかすぐわかります。
また、Smart Routing 機能が便利です。「ドキュメントを検索して」と言うと、ESA Server を自動で選んでくれます。どの Server にどんなツールがあるか、いちいち覚えなくて良い。
チームで共有の mcphub インスタンスを立てれば、MCP Server の設定を個人ごとに管理する必要もなくなります。
3. claudecode.nvim - Neovim ユーザーの福音
GitHub: https://github.com/coder/claudecode.nvim
Neovim ユーザーの悩み
Neovim に慣れてしまって、もう VSCode には戻れません。
しかし、Claude Code が登場したとき、少し羨ましく思いました。公式の IDE 拡張は VSCode と JetBrains 向けのみ。Neovim ユーザーは蚊帳の外でした。
もちろん、ターミナルで Claude Code CLI を使うことはできます。でも、エディタとの連携がありません:
- 今開いているファイルを Claude に認識させたい → 手動でパスを入力
- 選択したコードについて質問したい → コピペ
- Claude が提案したコードを適用したい → またコピペ
正直、面倒でした。
claudecode.nvim との出会い
GitHub で検索していたら、coder 社が開発した claudecode.nvim を発見。「100% Protocol Compatible — Same WebSocket MCP implementation as official extensions」という説明に惹かれました。
公式拡張と同じプロトコルを実装している。つまり、VSCode ユーザーと同じ体験ができるということです。
普段のワークフロー
tmux で画面を左右に分割し、左に Neovim、右に Claude CLI を配置しています:
┌─────────────────────┬─────────────────────┐
│ │ │
│ Neovim │ Claude CLI │
│ │ │
│ - Code editing │ - Code questions │
│ - File operations │ - Refactor suggest │
│ - LSP/completion │ - Bug investigation│
│ │ - Design consult │
│ │ │
└─────────────────────┴─────────────────────┘
Claude CLI で /ide と入力すると、Neovim が接続されます。これで準備完了。
実際の開発フロー
claudecode.nvim の真価は、シームレスなコンテキスト共有にあります。
選択したコードを自動認識
Neovim でコードを Visual 選択すると、Claude が自動的にそのコードを認識します。わざわざコピペする必要がありません。「この関数をリファクタリングして」と言えば、選択中のコードに対して提案してくれます。
diff ビューで変更を確認
Claude が変更を提案すると、Neovim にネイティブの diff ビューが開きます。変更内容を確認して、問題なければ :w で適用、嫌なら :q で却下。
Copilot との使い分け
GitHub Copilot も併用しています。使い分けはこうです:
- Copilot: 1行〜数行の補完。タイピング中にサッと提案してくれる
- Claude Code: 複数ファイルにまたがる変更、設計相談、バグ調査、コードレビュー
両方を組み合わせると、コーディングがかなり快適になりました。
まとめ
今年出会った3つのツールを紹介しました:
| ツール | 統合するもの | 解決した課題 |
|---|---|---|
| mise | 言語バージョン・環境変数・タスク | 複数ツールの管理地獄 |
| mcphub | 複数のMCP Server | 設定の複雑さ、監視の難しさ |
| claudecode.nvim | NeovimとAI | エディタとAIの分断 |
どれも「バラバラだったものを1つにまとめる」というコンセプトが共通しています。
開発者体験(DX)の向上は、こうした統合から生まれるのかもしれません。個々のツールが優秀でも、それらがうまく連携しないと、切り替えのコストが積み重なっていきます。
2025年もワークフロー改善の旅は続きます。また良いツールに出会えたら、記事にしたいと思います。皆さんのおすすめツールもぜひ教えてください!
最後までご覧いただきありがとうございました!
エアークローゼット Advent Calendar 2025はまだまだ続きますので、ぜひ他のエンジニア、デザイナー、PMの記事もご覧いただければと思います。
また、エアークローゼットはエンジニア採用活動も行っておりますので、興味のある方はぜひご覧ください!