ð³ MCPJungle ð³
ããŒã«ã«ð³ MCPJungle ð³ ã«ã€ããŠ
MCPJungle ã¯ãè€æ°ã® MCP ãµãŒããŒã 1 ã€ã®ãšã³ããã€ã³ãã§ç®¡çããã»ã«ããã¹ãå¯èœãª MCP ã²ãŒããŠã§ã€ã§ããå人ã¯ããŒã«ã«ã§ãããŒã ã¯å ±æåºç€ãšããŠå©çšã§ãããã£ã¹ã«ããªãŒãã¢ã¯ã»ã¹å¶åŸ¡ããªãã¶ãŒãããªãã£ãäžå åã§ããŸãã
äž»ãªæ©èœ
- 01ç»é²æžã¿ãµãŒããŒããŸãšããåäžã® MCP ãšã³ããã€ã³ã
- 02MCP ãµãŒããŒã®äžå çãªç»é²ãšç®¡ç
- 03ããŒã«ãããã³ããããªãœãŒã¹ã®çµ±äžçãªæ€çŽ¢
- 04ã¯ã©ã€ã¢ã³ãã«å ¬éããããŒã«ãçµã蟌ãããŒã«ã°ã«ãŒã
- 05Docker Compose ãš PostgreSQL ã«ããå°å ¥ãªãã·ã§ã³
掻çšã·ãŒã³
- 01Claude ã Cursor ãªã©ã®ã¯ã©ã€ã¢ã³ãã 1 ã€ã®ãšã³ããã€ã³ãã«æ¥ç¶
- 02ããŒã ã§ MCP ãµãŒããŒãå ±æããã¢ã¯ã»ã¹ãéäžç®¡ç
- 03ããŒã«ã«ãã·ã³ã§åäººçš MCP ç°å¢ãåçŸ
MCP 察å¿
MCPJungle 㯠MCP ãµãŒããŒåŽã®ã²ãŒããŠã§ã€ãšããŠåäœããstreamable HTTP ã® /mcp ãšã³ããã€ã³ãããç»é²æžã¿ãµãŒããŒã®ããŒã«ãå ¬éããŸããstdio ãš HTTP ã®äž¡æ¹ã® MCP ãµãŒããŒã«æ¥ç¶ãã管çããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
MCPJungle
ãã¹ãŠã® MCP ãµãŒããŒã 1 ã€ã®ãšã³ããã€ã³ãã®èåŸã§å®è¡
MCPJungle ã¯ãã¯ã©ã€ã¢ã³ãèšå®ã®åæ£ãã»ããã¢ããã®éè€ãã¢ã¯ã»ã¹å¶åŸ¡ã®äžçµ±äžãé¿ããªããè€æ°ã® MCP ãµãŒããŒã管çãããéçºè ãããŒã åãã®ãã»ã«ããã¹ãå¯èœãª MCP ã²ãŒããŠã§ã€ã§ãã
åäººçš MCP ã»ããã¢ãããæŽçããããã«ããŒã«ã«ã§äœ¿çšããããšããæ€åºãã¢ã¯ã»ã¹å¶åŸ¡ãå¯èŠ³æž¬æ§ãäžå åããããŒã åãã®å ±æã€ã³ãã©ã¹ãã©ã¯ãã£ãšããŠå®è¡ããããšãã§ããŸãã

ãã¹ãŠã® MCP ãµãŒããŒãå AI ã¯ã©ã€ã¢ã³ãã«åå¥ã«æ¥ç¶ãã代ããã«ããµãŒããŒãäžåºŠã ã MCPJungle ã«ç»é²ããã°ãClaudeãCursorãCodexããŸãã¯ç¬èªã®ãšãŒãžã§ã³ãããåäžã® MCP ãšã³ããã€ã³ãã«æ¥ç¶ã§ããŸãã
MCPJungle ãéžã¶çç±
MCP ã¯åŒ·åã§ããã倿°ã® MCP ãµãŒããŒã管çããã®ã¯ããã«è€éã«ãªããŸãã
ã²ãŒããŠã§ã€ããªãå ŽåïŒ
- ð åã¯ã©ã€ã¢ã³ãã«ããããç¬èªã® MCP ãµãŒããŒèšå®ãå¿ èŠã§ã
- ð§© ããŒã«ãããã³ããããªãœãŒã¹ãç°ãªããµãŒããŒã«åæ£ããŸã
- ð ã¢ã¯ã»ã¹å¶åŸ¡ãéè€ããŠããããèšå®ãããŠããªãã£ããããŸã
- ð¥ ããŒã ã§å©çšå¯èœãª MCP ããŒã«ãå ±æããŠç¢ºèªã§ããŸãã
- ð ïž ããŒã«ã«ã®ã»ããã¢ãããåçŸããã®ãé£ãããªããŸã
MCPJungle ã¯ã管çãäžå åããå ŽæãæäŸããŸãïŒ
- ð ClaudeãCursorãCopilotãã«ã¹ã¿ã ãšãŒãžã§ã³ãåãã®åäžã® MCP ãšã³ããã€ã³ã
- ðïž MCP ãµãŒããŒã®ç»é²ãšç®¡çãè¡ãå Žæãäžæ¬å
- ð ããŒã«ãããã³ããããªãœãŒã¹ãçµ±åããŠæ€åº
- ðïž ã¯ã©ã€ã¢ã³ãã«è¡šç€ºããããŒã«ã ããå ¬éãããä»»æã®ããŒã«ã°ã«ãŒã
- ð å ±æç°å¢åãã®ã·ã³ãã«ãªã¢ã¯ã»ã¹å¶åŸ¡ãšå¯èŠ³æž¬æ§ã®ããã¯
ãŸãã¯ããŒã«ã«ç°å¢ã§å§ããŸããããå¿ èŠã«å¿ããŠãããŒã ã§å ±æããã²ãŒããŠã§ã€ãžæ¡åŒµã§ããŸãã

ããã¥ã¡ã³ã
MCPJungle ã®ããã¥ã¡ã³ãã¯ãæ°ããå Žæã«ç§»åããŸããïŒhttps://docs.mcpjungle.comã
ææ°ã®ã¬ã€ãããªãã¡ã¬ã³ã¹ãéçšã«é¢ãã詳现ã«ã€ããŠã¯ããã® README ã§ã¯ãªãããã¥ã¡ã³ããµã€ããã芧ãã ããã
AI ã¯ã©ã€ã¢ã³ãããããMCP ãµãŒã㌠https://docs.mcpjungle.com/mcp ã䜿çšããŠããã¥ã¡ã³ãã«ã¢ã¯ã»ã¹ã§ããŸãïŒ
ã¯ã€ãã¯ã¹ã¿ãŒã
ãã®ã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ãã§ã¯ãæ¬¡ã®æ¹æ³ã説æããŸãïŒ
docker composeã䜿çšã㊠mcpjungle ãµãŒããŒãããŒã«ã«ã§èµ·åãã- mcpjungle ã« MCP ãµãŒããŒã远å ãã
- 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 ãµãŒããŒã远å ãã
- brew ã䜿çšãããããªãªãŒã¹ããŒãžããçŽæ¥ãããŒã«ã«ãã·ã³ã«
mcpjungleCLI ãããŠã³ããŒãããŸãã
brew install mcpjungle/mcpjungle/mcpjungle
- CLI ã䜿çšããŠãcontext7 MCP ãµãŒããŒã mcpjungle ã«è¿œå ããŸãïŒ
mcpjungle register --name context7 --url https://mcp.context7.com/mcp
次ã®ãããªåºåã衚瀺ãããŸãïŒ

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 ã©ã€ãã©ãªã®ããã¥ã¡ã³ããè¿ããŸãã
ããã§ãåäžã®çµ±åãšã³ããã€ã³ãã䜿ã£ã MCP ç°å¢ãåäœããããã«ãªããŸããïŒ
ç¶ããŠãdocs.mcpjungle.com ã®å®å šãªããã¥ã¡ã³ããšå ¬éããŒãããããã芧ãã ããã
以åã® README ã®åèæ å ±
ð ç®æ¬¡
- ã€ã³ã¹ããŒã«
- äœ¿ãæ¹
- ãµãŒããŒ
- ã¯ã©ã€ã¢ã³ã
- ã³ãŒã«ãã¹ã¿ãŒãåé¡ãšã¹ããŒããã«æ¥ç¶
- Claude ãã mcpjungle ã«æ¥ç¶ãã
- Cursor ãã mcpjungle ã«æ¥ç¶ãã
- Copilot ãã mcpjungle ã«æ¥ç¶ãã
- ããŒã«ãäžæ¬ã§æå¹åïŒç¡å¹åãã
- ããã³ãã
- ããŒã«ã°ã«ãŒã
- èªèšŒ
- ãšã³ã¿ãŒãã©ã€ãºæ©èœ
- å¶éäºé
- ã³ã³ããªãã¥ãŒã
ã€ã³ã¹ããŒã«
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 ãµãŒããŒã®è¿œè·¡ãéå§ããããŒã«ãèªã¿èŸŒã¿ãŸãã

èšå®ãã¡ã€ã«ãæå®ã㊠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-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 ãµãŒããŒã®ããŒã«ãåããŠåŒã³åºãããšãã«ãæ°ããæ¥ç¶ãäœæããŸãã
ããŒã«ã®åŒã³åºããå®äºããŠãããã®æ¥ç¶ã¯éããããŸããããã以éã«ãã®ãµãŒããŒã®ããŒã«ãåŒã³åºããšãåãæ¥ç¶ãåå©çšãããã³ãŒã«ãã¹ã¿ãŒãã«ãããªãŒããŒããããåé¿ã§ããŸãã
æ¥ç¶ãéããããã®ã¯ã次ã®å Žåã®ã¿ã§ãã
- mcpjungle ãµãŒããŒã忢ãããšã
- MCP ãµãŒããŒã mcpjungle ããç»é²è§£é€ããããšã
- äžå®æéæäœããªãç¶æ
ãç¶ããæ¥ç¶ãã¿ã€ã ã¢ãŠããããšãã
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 ãšã³ããã€ã³ãçµç±ã§ã¯å©çšã§ããŸããã
ãã ãããã®ããŒã«ãå床æå¹åãŸãã¯è¿œå ããããšãã°ã«ãŒãå ã§èªåçã«åã³å©çšã§ããããã«ãªããŸãã
å¶éäºé ð§
- çŸåšãæ¢åã®ããŒã«ã°ã«ãŒãã¯æŽæ°ã§ããŸãããã°ã«ãŒããåé€ãã倿Žããèšå®ãã¡ã€ã«ã§æ°ããã°ã«ãŒããäœæããå¿ èŠããããŸãã
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 ã€ãããŸãïŒ
access_tokenãã£ãŒã«ãã«çŽæ¥æå®ããæ¹æ³ïŒãã¹ãç®çã«éã£ãŠäœ¿çšããŠãã ãããæ¬çªç°å¢ã§ã¯ãç¹ã«èšå®ãã¡ã€ã«ãããŒãžã§ã³ç®¡çã«ã³ãããããå Žåã¯ããããããŸãããaccess_token_ref.fileãã£ãŒã«ãã䜿çšããŠãã¡ã€ã«ããèªã¿èŸŒãæ¹æ³ïŒãã¡ã€ã«ã«ã¯ããŒã¯ã³æååã®ã¿ãå«ããŠãã ããã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 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã