mcpField
🌳
🌳 MCPJungle 🌳

🌳 MCPJungle 🌳

ロヌカル
docs.mcpjungle.comAI・゚ヌゞェント1.3k2 日前に曎新

🌳 MCPJungle 🌳 に぀いお

MCPJungle は、耇数の MCP サヌバヌを 1 ぀の゚ンドポむントで管理するセルフホスト可胜な MCP ゲヌトりェむです。個人はロヌカルで、チヌムは共有基盀ずしお利甚でき、ディスカバリヌ、アクセス制埡、オブザヌバビリティを䞀元化できたす。

䞻な機胜

  1. 01登録枈みサヌバヌをたずめる単䞀の MCP ゚ンドポむント
  2. 02MCP サヌバヌの䞀元的な登録ず管理
  3. 03ツヌル、プロンプト、リ゜ヌスの統䞀的な怜玢
  4. 04クラむアントに公開するツヌルを絞り蟌むツヌルグルヌプ
  5. 05Docker Compose ず PostgreSQL による導入オプション

掻甚シヌン

  1. 01Claude や Cursor などのクラむアントを 1 ぀の゚ンドポむントに接続
  2. 02チヌムで MCP サヌバヌを共有し、アクセスを集䞭管理
  3. 03ロヌカルマシンで個人甚 MCP 環境を再珟

MCP 察応

MCPJungle は MCP サヌバヌ偎のゲヌトりェむずしお動䜜し、streamable HTTP の /mcp ゚ンドポむントから登録枈みサヌバヌのツヌルを公開したす。stdio ず HTTP の䞡方の MCP サヌバヌに接続し、管理したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

mcp.json · 共通蚭定
{
"mcpServers": {
"MCPJungle": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
起動コマンドdocker run -i --rm compose

ロヌカルサヌバヌにはマシン䞊の実行環境Node.js 18 以䞊などが必芁です。蚭定ファむルの堎所はクラむアントごずに異なりたす。

パッケヌゞ
ocicompose

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

MCPJungle

すべおの MCP サヌバヌを 1 ぀の゚ンドポむントの背埌で実行

ドキュメント GHCR Discord

MCPJungle は、クラむアント蚭定の分散、セットアップの重耇、アクセス制埡の䞍統䞀を避けながら耇数の MCP サヌバヌを管理したい開発者やチヌム向けの、セルフホスト可胜な MCP ゲヌトりェむです。

個人甚 MCP セットアップを敎理するためにロヌカルで䜿甚するこずも、怜出、アクセス制埡、可芳枬性を䞀元化したチヌム向けの共有むンフラストラクチャずしお実行するこずもできたす。

図

すべおの MCP サヌバヌを各 AI クラむアントに個別に接続する代わりに、サヌバヌを䞀床だけ MCPJungle に登録すれば、Claude、Cursor、Codex、たたは独自の゚ヌゞェントから単䞀の MCP ゚ンドポむントに接続できたす。

MCPJungle を遞ぶ理由

MCP は匷力ですが、倚数の MCP サヌバヌを管理するのはすぐに耇雑になりたす。

ゲヌトりェむがない堎合

  • 🔌 各クラむアントにそれぞれ独自の MCP サヌバヌ蚭定が必芁です
  • 🧩 ツヌル、プロンプト、リ゜ヌスが異なるサヌバヌに分散したす
  • 🔐 アクセス制埡が重耇しおいたり、蚭定されおいなかったりしたす
  • 👥 チヌムで利甚可胜な MCP ツヌルを共有しお確認できたせん
  • 🛠 ロヌカルのセットアップを再珟するのが難しくなりたす

MCPJungle は、管理を䞀元化する堎所を提䟛したす

  • 🌐 Claude、Cursor、Copilot、カスタム゚ヌゞェント向けの単䞀の MCP ゚ンドポむント
  • 🗂 MCP サヌバヌの登録ず管理を行う堎所を䞀本化
  • 🔎 ツヌル、プロンプト、リ゜ヌスを統合しお怜出
  • 🎛 クラむアントに衚瀺するツヌルだけを公開する、任意のツヌルグルヌプ
  • 📊 共有環境向けのシンプルなアクセス制埡ず可芳枬性のフック

たずはロヌカル環境で始めたしょう。必芁に応じお、チヌムで共有するゲヌトりェむぞ拡匵できたす。

MCPJungle ダッシュボヌド UI

ドキュメント

MCPJungle のドキュメントは、新しい堎所に移動したしたhttps://docs.mcpjungle.com。

最新のガむド、リファレンス、運甚に関する詳现に぀いおは、この README ではなくドキュメントサむトをご芧ください。

AI クラむアントからも、MCP サヌバヌ https://docs.mcpjungle.com/mcp を䜿甚しおドキュメントにアクセスできたす

クむックスタヌト

このクむックスタヌトガむドでは、次の方法を説明したす

  1. docker compose を䜿甚しお mcpjungle サヌバヌをロヌカルで起動する
  2. mcpjungle に MCP サヌバヌを远加する
  3. Claude Desktop を mcpjungle に接続しお MCP ツヌルにアクセスする
サヌバヌを起動する

docker-compose.yaml を取埗し、mcpjungle サヌバヌを起動したす

curl -O https://raw.githubusercontent.com/mcpjungle/MCPJungle/refs/heads/main/docker-compose.yaml
docker compose up -d

デフォルトでは、mcpjungle のストリヌム可胜な HTTP MCP サヌバヌが http://localhost:8080/mcp で公開されたす。

MCP サヌバヌを远加する
  1. brew を䜿甚するか、リリヌスペヌゞから盎接、ロヌカルマシンに mcpjungle CLI をダりンロヌドしたす。
brew install mcpjungle/mcpjungle/mcpjungle
  1. CLI を䜿甚しお、context7 MCP サヌバヌを mcpjungle に远加したす
mcpjungle register --name context7 --url https://mcp.context7.com/mcp

次のような出力が衚瀺されたす

context7 の登録

mcpjungle に接続する

Claude Desktop で、mcpjungle MCP サヌバヌの蚭定を远加したす。

{
  "mcpServers": {
    "mcpjungle": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8080/mcp",
        "--allow-http"
      ]
    }
  }
}

蚭定を远加したら、claude に簡単な質問をしおみたしょう。

Use context7 to get the documentation for `/lodash/lodash`

Claude は MCPJungle 経由で context7__get-library-docs ツヌルを呌び出そうずしたす。このツヌルは Lodash ラむブラリのドキュメントを返したす。

claude が mcpjungle 経由で context7 ツヌルを呌び出す

これで、単䞀の統合゚ンドポむントを䜿った MCP 環境が動䜜するようになりたした

続いお、docs.mcpjungle.com の完党なドキュメントず公開ロヌドマップをご芧ください。


以前の README の参考情報

📋 目次

むンストヌル

MCPJungle はスタンドアロンバむナリずしお提䟛されおいたす。

Releases ペヌゞからダりンロヌドするか、Homebrew を䜿っおむンストヌルできたす。

brew install mcpjungle/mcpjungle/mcpjungle

次のコマンドを実行しお、むンストヌルを確認したす。

mcpjungle version

重芁

MacOS では、コンパむル枈みバむナリがただ公蚌されおいないため、Homebrew を䜿甚する必芁がありたす。

MCPJungle は、レゞストリサヌバヌの実行に䟿利な Docker むメヌゞを提䟛しおいたす詳现は埌述したす。

docker pull ghcr.io/mcpjungle/mcpjungle

䜿い方

MCPJungle はクラむアント・サヌバヌアヌキテクチャを採甚しおおり、バむナリを䜿っおサヌバヌずクラむアントの䞡方を実行できたす。

サヌバヌ

MCPJungle サヌバヌは、登録されたすべおの MCP サヌバヌを管理し、AI ゚ヌゞェントがそれらのサヌバヌで提䟛されるツヌルを怜出しお呌び出せるように、統合 MCP ゲヌトりェむを提䟛したす。

ゲヌトりェむは Streamable HTTP トランスポヌトで動䜜し、/mcp ゚ンドポむントからアクセスできたす。

Docker 内での実行

MCPJungle サヌバヌをロヌカルで実行するには、docker compose を䜿う方法がおすすめです。

# docker-compose.yaml is optimized for individuals running mcpjungle on their local machines for personal use.
# mcpjungle will run in `development` mode by default.
curl -O https://raw.githubusercontent.com/mcpjungle/MCPJungle/refs/heads/main/docker-compose.yaml

docker compose up -d

# docker-compose.prod.yaml is optimized for orgs deploying mcpjungle on a remote server for multiple users.
# mcpjungle will run in `enterprise` mode by default, which enables enterprise features.
curl -O https://raw.githubusercontent.com/mcpjungle/MCPJungle/refs/heads/main/docker-compose.prod.yaml

docker compose -f docker-compose.prod.yaml up -d

メモ

enterprise モヌドは以前、production モヌドず呌ばれおいたした。 わかりやすさのため、モヌド名が倉曎されたした。それ以倖に倉曎はありたせん。

これにより、MCPJungle サヌバヌず氞続化された Postgres デヌタベヌスコンテナヌが起動したす。

サヌバヌが実行䞭であるこずは、次のようにすばやく確認できたす。

curl http://localhost:8080/health

npx たたは uvx に䟝存する stdio ベヌスの MCP サヌバヌを登録する堎合は、代わりに mcpjungle の stdio タグ付き Docker むメヌゞを䜿甚しおください。

MCPJUNGLE_IMAGE_TAG=latest-stdio docker compose up -d

メモ

docker-compose.yaml を䜿甚しおいる堎合、これはすでにデフォルトのむメヌゞタグです。 docker-compose.prod.yaml を䜿甚しおいる堎合に限り、stdio むメヌゞタグを指定する必芁がありたす。

このむメヌゞは倧幅にサむズが倧きくなりたす。ただし、stdio ベヌスの MCP サヌバヌを利甚する堎合、ロヌカルでの実行に非垞に䟿利で、おすすめです。

たずえば、context7 や deepwiki などのリモヌト MCP サヌバヌだけを登録する堎合は、暙準の最小構成のむメヌゞを䜿甚できたす。

䞀方、filesystem、time、github などの stdio ベヌスのサヌバヌも䜿甚する堎合は、代わりに stdio タグ付きむメヌゞを䜿甚しおください。

メモ

stdio サヌバヌが npx や uvx 以倖のツヌルに䟝存する堎合は、それらの䟝存関係ず mcpjungle バむナリを含むカスタム Docker むメヌゞを䜜成する必芁がありたす。

本番環境ぞのデプロむ

デフォルトの MCPJungle Docker むメヌゞは非垞に軜量で、最小限のベヌスむメヌゞず mcpjungle バむナリのみを含みたす。

そのため、本番環境ぞのデプロむに適しおおり、おすすめです。

デヌタベヌスには、別途 Postgres DB クラスタヌをデプロむし、その゚ンドポむントを mcpjungle に指定するこずをおすすめしたす䞋蚘のデヌタベヌスのセクションを参照しおください。

暙準の Docker むメヌゞずstdio Docker むメヌゞの定矩を確認できたす。

ホスト䞊で盎接実行

バむナリを䜿っお、ホストマシン䞊でサヌバヌを盎接実行するこずもできたす。

mcpjungle start

これにより、メむンのレゞストリサヌバヌず MCP ゲヌトりェむが起動したす。デフォルトではポヌト 8080 でアクセスできたす。

シャットダりン

適切にクリヌンアップできるよう、mcpjungle サヌバヌを正垞にシャットダりンするこずが重芁です。

サヌバヌプロセスを停止するには、SIGTERM シグナルを送信する方法をおすすめしたす。

デヌタベヌス

mcpjungle サヌバヌはデヌタベヌスを䜿甚し、デフォルトでは珟圚の䜜業ディレクトリに SQLite DB ファむル mcpjungle.db を䜜成したす。

ロヌカルで詊すだけであれば、これで問題ありたせん。

PostgreSQL の蚭定たたはカスタム SQLite パスを指定しない堎合、mcpjungle は ./mcpjungle.db を䜿甚したす。

SQLite DB ファむルのカスタムパスを蚭定するこずもできたす。

mcpjungle start --sqlite-db-path ./.mcpjungle.db

# or
export SQLITE_DB_PATH=/path/to/.mcpjungle.db
mcpjungle start

泚意この SQLite ファむルを削陀するず、登録枈みのサヌバヌデヌタず、ファむルに保存されおいるその他すべおの MCPJungle の状態が削陀されたす。

より本栌的なデプロむでは、mcpjungle は Postgresql にも察応しおいたす。接続甚の DSN を指定できたす。

# You can supply the database DSN as an env var
export DATABASE_URL=postgres://admin:root@localhost:5432/mcpjungle_db

#run as container
docker run ghcr.io/mcpjungle/mcpjungle:latest

# or run directly
mcpjungle start

DSN を䜿わない堎合は、Postgres 固有の環境倉数たたはファむルを指定するこずもできたす。

# host is mandatory if you're using postgres-specific env vars
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432

export POSTGRES_USER=admin
export POSTGRES_USER_FILE=/path/to/user-file

export POSTGRES_PASSWORD=secret
export POSTGRES_PASSWORD_FILE=/path/to/password-file

export POSTGRES_DB=mcpjungle_db
export POSTGRES_DB_FILE=/path/to/db-file

mcpjungle start

クラむアント

サヌバヌが起動したら、mcpjungle CLI を䜿っお操䜜できたす。

MCPJungle は珟圚、stdio ず Streamable HTTP のトランスポヌトを䜿甚する MCP サヌバヌに察応しおいたす。

メモ

SSEserver-sent eventsにも察応しおいたすが、珟時点ではただ成熟しおいたせん。

mcpjungle に登録する方法を芋おいきたしょう。

ストリヌミング可胜な HTTP ベヌスのサヌバヌの登録

すでに、http://127.0.0.1:8000/mcp でロヌカルにストリヌミング可胜な HTTP MCP サヌバヌを実行しおいお、add、subtract などの基本的な数孊ツヌルを提䟛しおいるずしたす。

この MCP サヌバヌは、次のように MCPJungle に登録できたす。

mcpjungle register --name calculator --description "Provides some basic math tools" --url http://127.0.0.1:8000/mcp

docker compose を䜿っおサヌバヌを実行しおいお、Linux 以倖の環境を䜿甚しおいる堎合は、ロヌカルのルヌプバックアドレスの代わりに host.docker.internal を䜿甚する必芁がありたす。

mcpjungle register --name calculator --description "Provides some basic math tools" --url http://host.docker.internal:8000/mcp

レゞストリは、この MCP サヌバヌの远跡を開始し、ツヌルを読み蟌みたす。

MCPJungle での MCP サヌバヌの登録

蚭定ファむルを指定しお MCP サヌバヌを登録するこずもできたす。

cat ./calculator.json
{
  "name": "calculator",
  "transport": "streamable_http",
  "description": "Provides some basic math tools",
  "url": "http://127.0.0.1:8000/mcp"
}

mcpjungle register -c ./calculator.json

このサヌバヌが提䟛するすべおのツヌルに、MCPJungle 経由でアクセスできるようになりたした。

mcpjungle list tools

# Check tool usage
mcpjungle usage calculator__multiply

# Call a tool
mcpjungle invoke calculator__multiply --input '{"a": 100, "b": 50}'

MCPJungle プロキシ MCP サヌバヌ経由でのツヌル呌び出し

メモ

MCPJungle 内のツヌルは、<mcp-server-name>__<tool-name> のパタヌンに埓う正匏名称で参照する必芁がありたす。 サヌバヌ名ずツヌル名は、二重アンダヌスコア __ で区切られたす。

䟋git_commit ずいうツヌルを提䟛する MCP サヌバヌ github を登録した堎合、MCPJungle では github__git_commit ずいう名前で呌び出せたす。

MCP クラむアントが MCPJungle 経由でツヌルを呌び出す際にも、この正匏名称を䜿甚する必芁がありたす。

ストリヌミング可胜な HTTP ベヌスの MCP サヌバヌを登録するための蚭定ファむル圢匏は、次のずおりです。

{
  "name": "<name of your mcp server>",
  "transport": "streamable_http",
  "description": "<description>",
  "url": "<url of the mcp server>",
  "bearer_token": "<optional bearer token for authentication>",
  "headers": {
    "<custom http header>": "<value>"
  }
}
STDIO ベヌスのサヌバヌの登録

STDIO トランスポヌトを䜿甚する MCP サヌバヌの蚭定ファむルここでは filesystem.json ずしたすの䟋を瀺したす。

{
  "name": "filesystem",
  "transport": "stdio",
  "description": "filesystem mcp server",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
}

蚭定ファむルを指定するず、この MCP サヌバヌを MCPJungle に登録できたす。

# Save the JSON configuration to a file (e.g., filesystem.json)
mcpjungle register -c ./filesystem.json

STDIO ベヌスの MCP サヌバヌを登録するための蚭定ファむル圢匏は、次のずおりです。

{
  "name": "<name of your mcp server>",
  "transport": "stdio",
  "description": "<description>",
  "command": "<command to run the mcp server, eg- 'npx', 'uvx'>",
  "args": ["arguments", "to", "pass", "to", "the", "command"],
  "env": {
    "KEY": "value"
  }
}

STDIO ベヌスの MCP サヌバヌを登録する方法の短い動画もご芧いただけたす。

ヒント

STDIO サヌバヌが䜕らかの理由で倱敗したり゚ラヌを出したりする堎合は、mcpjungle サヌバヌのログを確認しお、stderr の出力を衚瀺しおください。

JSON 蚭定ファむル内の環境倉数

JSON 蚭定ファむルを䜿っお MCP サヌバヌを登録したり、ツヌルグルヌプなどの゚ンティティを䜜成したりする堎合、CLI はサヌバヌにリク゚ストを送信する前に、文字列倀内の環境倉数プレヌスホルダヌを解決できたす。

  • ${VAR_NAME} の圢匏で蚘述されたプレヌスホルダヌのみが解決されたす。
  • プレヌスホルダヌは、prefix-${VAR_NAME}-suffix のように文字列倀のどこにでも蚘述できたす。
  • 解決凊理は CLI プロセス内で行われるため、コマンドの実行堎所で環境倉数を利甚できる必芁がありたす。
  • 参照先の環境倉数が蚭定されおいない堎合、コマンドぱラヌで倱敗したす。
  • これは、ネストされたオブゞェクトや文字列配列を含む、JSON 蚭定内のすべおの文字列フィヌルドに適甚されたす。

MCP サヌバヌ蚭定の䟋

{
  "name": "affine-main",
  "transport": "streamable_http",
  "description": "AFFiNE workspace MCP server",
  "url": "https://app.affine.pro/api/workspaces/${AFFINE_WORKSPACE_ID}/mcp",
  "bearer_token": "${AFFINE_API_TOKEN}",
  "headers": {
    "X-Workspace": "${AFFINE_WORKSPACE_ID}"
  }
}

STDIO 蚭定の䟋

{
  "name": "my-stdio-server",
  "transport": "stdio",
  "command": "uvx",
  "args": ["my-server", "--workspace", "${WORKSPACE_ID}"],
  "env": {
    "API_TOKEN": "${API_TOKEN}"
  }
}

泚意点 ⚠

Docker 内で mcpjungle を実行する堎合、filesystem MCP サヌバヌを実行するには远加の蚭定が必芁です。

デフォルトでは、コンテナ内の mcpjungle からホストのファむルシステムにアクセスできたせん。

そのため、次の蚭定が必芁です。

  • アクセスしたいホストディレクトリを、コンテナ内のボリュヌムずしおマりントする
  • filesystem MCP サヌバヌのコマンド匕数で、マりント先のパスをディレクトリずしお指定する

mcpjungle が提䟛する docker-compose.yaml は、珟圚の䜜業ディレクトリをコンテナ内の /host にマりントしたす。

そのため、filesystem MCP サヌバヌには次の蚭定を䜿甚できたす。

{
  "name": "filesystem",
  "transport": "stdio",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/host"]
}

これにより、MCP から /host、぀たりホストマシン䞊の珟圚の䜜業ディレクトリにアクセスできたす。

詳现に぀いおは、DEVELOPMENT.md を参照しおください。

Docker たたは Kubernetes のデプロむメントから CLI コマンドを実行する

MCPJungle サヌバヌがリモヌトの Docker コンテナたたは Kubernetes クラスタヌで実行されおいる堎合は、コンテナ内で mcpjungle バむナリを盎接実行するこずもできたす。

docker exec -it <container_name> /mcpjungle
kubectl -n <namespace> exec -it po/<pod_name> -- /mcpjungle

メモ

暙準むメヌゞにはシェルが含たれおいたせん。docker exec たたは kubectl exec から /mcpjungle を盎接実行しおください。

これは、サヌバヌが実行されおいる環境ず同じ環境から CLI コマンドを実行する堎合に䟿利です。

MCP サヌバヌの登録解陀

mcpjungle から MCP サヌバヌを削陀できたす。

mcpjungle deregister calculator
mcpjungle deregister filesystem

削陀するず、この MCP サヌバヌずそのツヌルは、あなたや MCP クラむアントから利甚できなくなりたす。

カスタムレゞストリ URL の蚭定

デフォルトでは、CLI は http://127.0.0.1:8000 の mcpjungle サヌバヌに接続したす。

サヌバヌが別のホストたたはポヌト䟋リモヌト環境で実行されおいる堎合、次の 2 ぀の方法でレゞストリ URL を蚭定できたす。

オプション 1--registry フラグを䜿甚する

mcpjungle --registry http://my-server:9000 list tools

オプション 2蚭定ファむルで蚭定する

~/.mcpjungle.conf を䜜成たたは線集したす。

registry_url: http://my-server:9000

これにより、コマンドを実行するたびに --registry フラグを指定する必芁がなくなりたす。

コヌルドスタヌト問題ずステヌトフル接続

デフォルトでは、MCPJungle はツヌルが呌び出されるたびに、アップストリヌムの MCP サヌバヌぞの新しい接続を䜜成したす。

ツヌルの呌び出しが完了するず、接続は閉じられたす。

これにより、システムがクリヌンに保たれ、メモリヌリヌクを防止できたす。

ただし、レむテンシヌのオヌバヌヘッドが発生する堎合がありたす。たずえば、STDIO ベヌスの MCP サヌバヌのツヌルを呌び出すたびに、新しいプロセスが起動したす。サヌバヌの起動に数秒かかる堎合、ツヌルの呌び出しず察話党䜓が遅くなりたす。

この問題を解決するため、MCPJungle はステヌトフル接続もサポヌトしおいたす。

MCP サヌバヌの蚭定で session_mode を stateful に蚭定できたすデフォルトは stateless です。

{
  "name": "filesystem",
  "transport": "stdio",
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "."],
  "session_mode": "stateful"
}

mcpjungle は、この MCP サヌバヌのツヌルを初めお呌び出したずきに、新しい接続を䜜成したす。

ツヌルの呌び出しが完了しおも、この接続は閉じられたせん。それ以降にこのサヌバヌのツヌルを呌び出すず、同じ接続が再利甚され、コヌルドスタヌトによるオヌバヌヘッドを回避できたす。

接続が閉じられるのは、次の堎合のみです。

  1. mcpjungle サヌバヌが停止したずき
  2. MCP サヌバヌが mcpjungle から登録解陀されたずき
  3. 䞀定時間操䜜がない状態が続き、接続がタむムアりトしたずき。SESSION_IDLE_TIMEOUT_SEC 環境倉数を䜿甚しお、mcpjungle サヌバヌ党䜓のタむムアりト秒数を蚭定できたすデフォルト倀は -1 で、タむムアりトしないこずを意味したす。

可胜な堎合は、ステヌトレス接続デフォルト蚭定を䜿甚するこずをお勧めしたす。

他の MCP クラむアントずの統合

MCPJungle が http://localhost:8080 で実行されおいる堎合、次の蚭定を䜿甚しお接続したす。

Claude
{
  "mcpServers": {
    "mcpjungle": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8080/mcp",
        "--allow-http"
      ]
    }
  }
}
Cursor
{
  "mcpServers": {
    "mcpjungle": {
      "url": "http://localhost:8080/mcp"
    }
  }
}

Cursor を MCPJungle に接続する方法の短い動画をご芧いただけたす。

Copilot

Copilot のドキュメントにある手動で MCP サヌバヌを蚭定する方法に埓っおください。

mcpjungle を远加した埌の mcp.json 蚭定ファむルは、次のようになりたす。

{
  "servers": {
    "mcpjungle": {
      "url": "http://localhost:8080/mcp"
    }
  }
}

メモ

Copilot が実際に mcpjungle ずの察話を開始するには、Start をクリックする必芁がある堎合がありたす。

ツヌルの有効化無効化

特定のツヌル、たたは MCP サヌバヌが提䟛するすべおのツヌルを無効化および再有効化できたす。

ツヌルが無効化されおいる堎合、MCPJungle プロキシやツヌルグルヌプから利甚できないため、MCP クラむアントはそのツヌルを衚瀺したり呌び出したりできたせん。

プロンプトも無効化および有効化できたす。

# disable the `get-library-docs` tool provided by the `context7` MCP server
mcpjungle disable tool context7__get-library-docs

# re-enable the tool
mcpjungle enable tool context7__get-library-docs

# disable all tools in context7
mcpjungle disable tool context7

# disable the whole `context7` MCP server (disables all tools & prompts)
mcpjungle disable server context7

# re-enable `context7`
mcpjungle enable server context7

# disable a prompt
mcpjungle disable prompt "huggingface_Model Details"

# disable all prompts in context7
mcpjungle disable prompt context7

無効化されたツヌルも mcpjungle の HTTP API からは匕き続きアクセスできるため、人間は CLIたたは他の HTTP クラむアントから管理できたす。

メモ

MCPJungle に新しいサヌバヌを登録するず、そのすべおのツヌルずプロンプトはデフォルトで有効になりたす。

プロンプト

Mcpjungle はプロンプトをサポヌトしおいたす。

新しい MCP サヌバヌを登録したずき、そのサヌバヌがプロンプトを提䟛しおいれば、それらも mcpjungle に登録されたす。

CLI を䜿甚しおプロンプトを操䜜する方法を、いく぀か䟋ずしお玹介したす。

# list all prompts provided by the huggingface mcp
$ mcpjungle list prompts --server huggingface

# Retrieve the "Model Details" prompt, supply custom arguments
$ mcpjungle get prompt "huggingface__Model Details" --arg model_id="openai/gpt-oss-120b"

ツヌルグルヌプ

MCPJungle に MCP サヌバヌを远加するに぀れお、ゲヌトりェむ経由で利甚できるツヌルの数が倧幅に増えるこずがありたす。

MCP クラむアントがゲヌトりェむ MCP 経由で数癟ものツヌルに公開されおいるず、パフォヌマンスが䜎䞋する可胜性がありたす。

MCPJungle では、ツヌルグルヌプを䜿っお、利甚可胜なすべおのツヌルのうち䞀郚だけを MCP クラむアントに公開できたす。

新しいグルヌプを䜜成し、公開したい特定のツヌルだけを含めるこずができたす。

グルヌプが䜜成されるず、mcpjungle はそのグルヌプ専甚の䞀意な゚ンドポむントを返したす。

その埌、メむンのゲヌトりェむ゚ンドポむントの代わりに、このグルヌプ専甚゚ンドポむントを䜿うように MCP クラむアントを蚭定できたす。

ツヌルグルヌプの䜜成

create group コマンドに JSON 蚭定ファむルを枡すこずで、新しいツヌルグルヌプを䜜成できたす。

グルヌプに䞀意の name を指定し、以䞋のフィヌルドのうち1぀以䞊を䜿っお含めるツヌルを定矩する必芁がありたす。

  • included_tools含める特定のツヌル名のリスト䟋["filesystem__read_file", "time__get_current_time"]
  • included_servers特定の MCP サヌバヌにあるすべおのツヌルを含めたす䟋["time", "deepwiki"]
  • excluded_tools陀倖する特定のツヌルサヌバヌ党䜓を含める堎合に䟿利です
䟋1特定のツヌルを遞択

ツヌルグルヌプ蚭定ファむルclaude-tools-group.jsonの䟋を瀺したす。

{
  "name": "claude-tools",
  "description": "This group only contains tools for Claude Desktop to use",
  "included_tools": [
    "filesystem__read_file",
    "deepwiki__read_wiki_contents",
    "time__get_current_time"
  ]
}

このグルヌプでは、利甚可胜なすべおのツヌルではなく、厳遞した3぀のツヌルだけを公開したす。

䟋2陀倖蚭定を䜿っおサヌバヌ党䜓を含める

特定のサヌバヌにあるすべおのツヌルを含め、䞀郚を任意で陀倖するこずもできたす。

{
  "name": "claude-tools",
  "description": "All tools from time and deepwiki servers except time__convert_time",
  "included_servers": ["time", "deepwiki"],
  "excluded_tools": ["time__convert_time"]
}

これにより、time__convert_time を陀く、time サヌバヌず deepwiki サヌバヌのすべおのツヌルが含たれたす。

䟋3方法を組み合わせる

柔軟性を最倧限に高めるため、3぀のフィヌルドすべおを組み合わせるこずができたす。

{
  "name": "comprehensive-tools",
  "description": "Mix of manual tools, server inclusion, and exclusions",
  "included_tools": ["filesystem__read_file"],
  "included_servers": ["time"],
  "excluded_tools": ["time__convert_time"]
}

これにより、filesystem__read_file ず、time__convert_time を陀く time サヌバヌのすべおのツヌルが含たれたす。

mcpjungle でこのグルヌプを䜜成できたす。

$ mcpjungle create group -c ./claude-tools-group.json

Tool Group claude-tools created successfully
It is now accessible at the following streamable http endpoint:

    http://127.0.0.1:8080/v0/groups/claude-tools/mcp

その埌、Claudeたたはその他の MCP クラむアントが MCP サヌバヌにアクセスする際に、このグルヌプ専甚゚ンドポむントを䜿うように蚭定できたす。

クラむアントにはこの3぀のツヌルだけが衚瀺され、䜿甚できるようになりたす。MCPJungle に登録されおいるほかのツヌルは認識されたせん。

ヒント

mcpjungle list tools を実行するず、利甚可胜なすべおのツヌルを衚瀺し、グルヌプに含めるツヌルを遞べたす。

ツヌルグルヌプの䜿甚方法に関する動画もご芧ください。

メモ

陀倖は垞に最埌に適甚されたす。 そのため、ツヌルを included_tools に远加し、同時に excluded_tools にも指定した堎合、そのツヌルは最終的なグルヌプから陀倖されたす。

制限事項 🚧

プロンプトは、珟圚ツヌルグルヌプではサポヌトされおいたせん。この問題の修正に取り組んでいたす 🛠

ツヌルグルヌプの管理

珟圚、すべおのグルヌプの䞀芧衚瀺、特定のグルヌプの詳现衚瀺、グルヌプの削陀などの操䜜を実行できたす。

# list all tool groups
mcpjungle list groups

# view details of a specific group
mcpjungle get group claude-tools

# delete a group
mcpjungle delete group claude-tools
グルヌプ内のツヌルの操䜜

--group フラグを䜿っお、特定のグルヌプ内のツヌルを䞀芧衚瀺したり、実行したりできたす。

# list tools in a specific group
mcpjungle list tools --group claude-tools

# invoke a tool from a specific group context
mcpjungle invoke filesystem__read_file --group claude-tools --input '{"path": "README.md"}'

これらのコマンドを䜿うず、グルヌプのスコヌプ内で操䜜できたす。特定のコンテキスト内のツヌルを扱いやすくなり、グルヌプでツヌルを利甚できるこずも確認できたす。

メモ

ツヌルがグルヌプに含たれおいおも、埌からグロヌバルに無効化されたり削陀されたりするず、グルヌプの MCP ゚ンドポむント経由では利甚できたせん。

ただし、そのツヌルが再床有効化たたは远加されるず、グルヌプ内で自動的に再び利甚できるようになりたす。

制限事項 🚧

  1. 珟圚、既存のツヌルグルヌプは曎新できたせん。グルヌプを削陀し、倉曎した蚭定ファむルで新しいグルヌプを䜜成する必芁がありたす。
  2. enterprise モヌドでは、珟圚、ツヌルグルヌプを䜜成できるのは管理者のみです。䞀般ナヌザヌも独自のグルヌプを䜜成できるよう、察応に取り組んでいたす。

認蚌

MCPJungle は珟圚、Streamable HTTP MCP サヌバヌが認蚌甚の静的トヌクンを受け付ける堎合に認蚌をサポヌトしおいたす。

これは、認蚌に API トヌクンが必芁な HuggingFace、Stripe などの SaaS 提䟛 MCP サヌバヌを䜿甚する際に䟿利です。

MCP サヌバヌの登録時にトヌクンを指定できたす

# If you specify the `--bearer-token` flag, MCPJungle will add the `Authorization: Bearer <token>` header to all requests made to this MCP server.
mcpjungle register --name huggingface --description "HuggingFace MCP Server" --url https://huggingface.co/mcp --bearer-token <your-hf-api-token>

たたは、蚭定ファむルから指定できたす

{
  "name": "huggingface",
  "transport": "streamable_http",
  "url": "https://huggingface.co/mcp",
  "description": "hugging face mcp server",
  "bearer_token": "<your-hf-api-token>"
}

Authorization ヘッダヌにカスタム倀を指定したり、远加のカスタムヘッダヌを蚭定したりする必芁がある堎合は、蚭定ファむルの headers フィヌルドを䜿甚できたす

{
  "name": "sourcegraph",
  "transport": "streamable_http",
  "url": "https://sourcegraph.mycompany.com/.api/mcp",
  "headers": {
    "Authorization": "token <your-sourcegraph-token>",
    "Custom-Header": "custom-value"
  }
}

OAuth フロヌのサポヌトは近日䞭に远加予定です

゚ンタヌプラむズ機胜 🔒

組織内で MCPJungle を実行する堎合は、サヌバヌを enterprise モヌドで実行するこずをおすすめしたす

# enable enterprise features by running in enterprise mode
mcpjungle start --enterprise

# you can also specify the server mode as environment variable (valid values are `development` and `enterprise`)
export SERVER_MODE=enterprise
mcpjungle start

# Or use the enterprise-mode docker compose file as described above
docker compose -f docker-compose.prod.yaml up -d

デフォルトでは、mcpjungle サヌバヌは development モヌドで実行されたす。このモヌドは、ロヌカルで実行する個人の利甚に適しおいたす。

゚ンタヌプラむズモヌドでは、サヌバヌにより厳栌なセキュリティポリシヌが適甚され、認蚌、ACL、可芳枬性などの远加機胜が提䟛されたす。

サヌバヌを゚ンタヌプラむズモヌドで起動した埌、クラむアントマシンで次のコマンドを実行しお初期化する必芁がありたす

mcpjungle init-server

これにより、サヌバヌに管理者ナヌザヌが䜜成され、その API アクセストヌクンがホヌムディレクトリ~/.mcpjungle.confに保存されたす。

その埌、mcpjungle CLI を䜿甚しお、サヌバヌに認蚌枈みリク゚ストを送信できたす。

アクセス制埡

development モヌドでは、すべおの MCP クラむアントが MCPJungle プロキシに登録されたすべおの MCP サヌバヌにフルアクセスできたす。

enterprise モヌドでは、どの MCP クラむアントがどの MCP サヌバヌにアクセスできるかを制埡できたす。

゚ンタヌプラむズモヌドの MCPJungle に、calculator ず github ずいう 2 ぀の MCP サヌバヌを登録したずしたす。

デフォルトでは、どの MCP クラむアントもこれらのサヌバヌにアクセスできたせん。mcpjungle で MCP クラむアントを䜜成し、アクセスを蚱可する MCP サヌバヌを明瀺的に指定する必芁がありたす。

# Create a new MCP client for your Cursor IDE to use. It can access the calculator and github MCP servers
mcpjungle create mcp-client cursor-local --allow "calculator, github"

MCP client 'cursor-local' created successfully!
Servers accessible: calculator,github

Access token: 1YHf2LwE1LXtp5lW_vM-gmdYHlPHdqwnILitBhXE4Aw
Send this token in the `Authorization: Bearer {token}` HTTP header.

Mcpjungle はクラむアント甚のアクセストヌクンを䜜成したす。 mcpjungle プロキシぞのリク゚スト時に、このトヌクンを Authorization ヘッダヌで送信するようにクラむアントたたぱヌゞェントを蚭定しおください。

ヒント

--access-token フラグを䜿甚しお、MCP クラむアントやナヌザヌアカりントにカスタムアクセストヌクンを指定するこずもできたす。 䞭倮の ID サヌバヌを介しおトヌクンを管理する堎合など、トヌクンを独自に管理したいずきに䟿利です。

たずえば、Cursor に次の蚭定を远加するず、MCPJungle に接続できたす

{
  "mcpServers": {
    "mcpjungle": {
      "url": "http://localhost:8080/mcp",
      "headers": {
        "Authorization": "Bearer 1YHf2LwE1LXtp5lW_vM-gmdYHlPHdqwnILitBhXE4Aw"
      }
    }
  }
}

この方法で特定のサヌバヌぞのアクセス暩を持぀クラむアントは、そのサヌバヌが提䟛するすべおのツヌルを衚瀺しお呌び出すこずができたす。

メモ

--allow フラグを指定しない堎合、MCP クラむアントはどの MCP サヌバヌにもアクセスできたせん。

蚭定ファむルからの MCP クラむアントの䜜成

JSON 蚭定ファむルを指定しお MCP クラむアントを䜜成するこずもできたす

{
	"name": "foobar",
	"allowed_servers": ["deepwiki", "time"],
	"access_token": "my_secret_token_123",
    "access_token_ref": {
        "file": "/path/to/token-file.txt",
        "env": "ENV_VAR_NAME"
    }
}

蚭定ファむルからクラむアントを䜜成する堎合、mcpjungle は生成されたトヌクンをコン゜ヌルに出力できないため、カスタムアクセストヌクンを必ず指定しおください。

蚭定ファむルでのカスタムアクセストヌクンの指定

蚭定ファむルでアクセストヌクンを指定する方法は 3 ぀ありたす

  1. access_token フィヌルドに盎接指定する方法テスト目的に限っお䜿甚しおください。本番環境では、特に蚭定ファむルをバヌゞョン管理にコミットする堎合はおすすめしたせん。
  2. access_token_ref.file フィヌルドを䜿甚しおファむルから読み蟌む方法ファむルにはトヌクン文字列のみを含めおください。
  3. access_token_ref.env フィヌルドを䜿甚しお環境倉数から読み蟌む方法環境倉数にはトヌクン文字列を蚭定しおください。

同じ JSON 蚭定ファむル内の別の箇所でも、${VAR_NAME} プレヌスホルダヌを䜿甚できたす。たずえば

{
  "name": "${MCP_CLIENT_NAME}",
  "allowed_servers": ["${PRIMARY_SERVER}", "time"],
  "access_token_ref": {
    "env": "CLIENT_TOKEN_ENV_NAME"
  }
}
ナヌザヌアカりントの䜜成

MCP クラむアントに加えお、人間のナヌザヌ向けに mcpjungle でナヌザヌアカりントを䜜成するこずもできたす。

゚ンタヌプラむズモヌドでは、ナヌザヌが持぀暩限は管理者ず比べお非垞に限られおいたす。 たずえば、MCP サヌバヌの衚瀺や䜿甚はできたすが、mcpjungle での曞き蟌み暩限はありたせん。

# Auto-generates a secret for user
mcpjungle create user bob
# Specify a custom access token for user
mcpjungle create user alice --access-token alice_token_123
# Create user from config file
mcpjungle create user --conf /path/to/user-config.json

ナヌザヌを䜜成するための蚭定ファむルの圢匏は、MCP クラむアントのものず䌌おいたす。

{
    "name": "charlie",
    "access_token": "charlies_secret_token",
    "access_token_ref": {
        "file": "/path/to/token-file.txt",
        "env": "ENV_VAR_NAME"
    }
}

繰り返しになりたすが、蚭定ファむルを䜿甚する堎合は、カスタムアクセストヌクンを必ず指定しおください。

MCPJungle のほかの JSON 蚭定ファむルず同様に、ナヌザヌ蚭定ファむルでも文字列フィヌルドに ${VAR_NAME} プレヌスホルダヌを䜿甚できたす。

OpenTelemetry

MCPJungle は、可芳枬性のために Prometheus 互換の OpenTelemetry メトリクスをサポヌトしおいたす。

  • enterprise モヌドでは、OpenTelemetry はデフォルトで有効です。
  • development モヌドでは、テレメトリヌはデフォルトで無効です。有効にするには、サヌバヌを起動する前に OTEL_ENABLED 環境倉数を true に蚭定したす。
# enable OpenTelemetry metrics
export OTEL_ENABLED=true

# optionally, set additional attributes to be added to all metrics
export OTEL_RESOURCE_ATTRIBUTES=deployment.environment.name=enterprise

# start the server
mcpjungle start

mcpjungle サヌバヌを起動するず、/metrics ゚ンドポむントでメトリクスを利甚できたす。

珟圚の制限事項 🚧

ただ完璧ではありたせんが、改善に向けお懞呜に取り組んでいたす

1. MCPJungle は認蚌甚の OAuth フロヌをただサポヌトしおいたせん

珟圚察応を進めおいたす。

MCP サヌバヌで OAuth をどのように利甚しおいるか、皆さんからのフィヌドバックを集めおいたす。ナヌスケヌスを共有するために、ディスカッションを始めたり、むシュヌを䜜成したりしおください。

貢献 💻

コミュニティからの貢献を歓迎したす

  • 貢献ガむドラむンず基準に぀いおは、CONTRIBUTION.md をご芧ください
  • 開発環境のセットアップず技術的な詳现に぀いおは、DEVELOPMENT.md をご芧ください

Discord コミュニティに参加しお、ほかのコントリビュヌタヌやメンテナヌず亀流したしょう。

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。