mcp-compressor - AI Agent の MCP ツール面を軽くするプロキシ
MCP エコシステムが広がるにつれて、別の問題が目立つようになってきました。ツールを増やせば増やすほど、モデルは実際の作業を始める前に、ツール一覧と JSON Schema だけで大きなコンテキストを消費してしまいます。
今日紹介する atlassian-labs/mcp-compressor は、この問題に向き合うためのプロジェクトです。Atlassian Labs が公開している MCP server wrapper で、GitHub では現在 52 stars。最新リリース v0.19.6 は 2026 年 5 月 19 日に公開されています。
プロジェクト概要
| 項目 | 内容 |
|---|---|
| リポジトリ | atlassian-labs/mcp-compressor |
| Stars | 52 |
| Forks | 7 |
| 言語 | Rust、TypeScript、Python |
| ライセンス | Apache-2.0 |
| 最新バージョン | v0.19.6 |
何を解決するのか
強力な MCP server は、数十から数百のツールを公開することがあります。各ツールには名前、説明、入力パラメータ、ネストされた JSON Schema が含まれます。Agent にとって必要な情報ではありますが、毎回すべてを展開する必要があるとは限りません。
mcp-compressor の考え方は明快です。まずモデルには圧縮されたツール面だけを見せ、どのツールを使うか決まった段階で完全な schema を取得する。
これにより、次のような効果が期待できます。
- ツール説明が消費するコンテキストを減らす
- 毎回のリクエストに含まれる token コストを下げる
- 複数の MCP server を同時に接続しても、コンテキストを圧迫しにくくする
2つの使い方
MCP プロキシとして使う
既存の MCP client がある場合、mcp-compressor を client と backend MCP server の間に挟むことができます。
mcp-compressor -c medium -- python server.py
モデル側に見えるのは、通常は次のような少数のラッパーツールです。
list_toolsget_tool_schemainvoke_tool
モデルはまず圧縮された一覧から対象ツールを選び、必要になった時点で完全な schema を取得し、最後に実際の backend tool を呼び出します。
SDK としてアプリに組み込む
このプロジェクトは Python、TypeScript、Rust の SDK も提供しています。自分で Agent runtime やツール実行基盤を作っている場合、コード内からローカル proxy を起動できます。
TypeScript では次のような形になります。
import { CompressorClient } from "@atlassian/mcp-compressor";
const proxy = await new CompressorClient({
servers: {
alpha: { command: "python", args: ["server.py"] },
},
compressionLevel: "medium",
}).connect();
すべてを stdio subprocess に寄せる必要がないため、独自の Agent システムに組み込みやすい設計です。
なぜ注目すべきか
mcp-compressor の面白さは、「圧縮」という機能そのものよりも、MCP エコシステムの次の課題をはっきり示している点にあります。ツールは多ければよいわけではなく、ツール面にも設計が必要です。
小さなツールを一つだけ接続するなら、完全な schema をそのまま見せても問題ありません。しかし Jira、Confluence、GitHub、ブラウザ、データベース、クラウドサービスのような大きな server をつなぐと、ツール説明そのものが負荷になります。
これは人間がソフトウェアを使う場合にも似ています。アプリを開いた瞬間に、すべてのメニュー、すべての API、すべての詳細設定を一度に見せられても困ります。まず概要を見せ、必要になったら詳細を開くほうが自然です。
向いている用途
| シーン | 向き不向き |
|---|---|
| MCP client を開発している | とても向いている |
| 大規模 MCP server を運用している | 試す価値あり |
| 社内 Agent 基盤を作っている | とても向いている |
| 単純なツールを数個だけ使う | まだ不要かもしれない |
| token コストを抑えたい | 検討する価値あり |
注意点
プロジェクトはまだ新しく、star 数も少ないため、本番導入するならまず低リスクな環境で検証したほうがよいでしょう。
- 圧縮後のツール説明で、モデルが正しくツールを選べるか
- schema を後から取得することで呼び出し回数が増えすぎないか
- 既存 MCP client との互換性に問題がないか
- 実際の tool call をログで追跡しやすいか
つまり、これは単純な「高速化ツール」ではなく、Agent 基盤の一部として評価すべきコンポーネントです。
まとめ
mcp-compressor は、知名度はまだ低いものの、方向性の鋭いプロジェクトです。MCP ツールが増えるほど、schema の肥大化は無視できない問題になります。モデルに毎回巨大なツール説明を背負わせるのではなく、軽い入口を用意するという発想はかなり実用的です。
複数の MCP server を使う Agent 環境を作っているなら、この 52 stars のプロジェクトはウォッチリストに入れておく価値があります。