ð Itential - MCP Server
ããŒã«ã«ð Itential - MCP Server ã«ã€ããŠ
Itential - MCP Serverã¯ãMCPã¯ã©ã€ã¢ã³ããšLLMãItential Platformã«æ¥ç¶ãããããã¯ãŒã¯èªååããã©ãããã©ãŒã éçšãå¯èœã«ããŸããã¿ã°ã«ããããŒã«éžæãšèšå®å¯èœãªéä¿¡æ¹åŒã«ããããã©ãããã©ãŒã ãšã³ãžãã¢ãéçºè ãçšéã«å¿ããŠã¢ã¯ã»ã¹ã調æŽã§ããŸãã
äž»ãªæ©èœ
- 01ãããã¯ãŒã¯æ©åšã®èšå®ãšã³ãã³ãå®è¡
- 02ã¯ãŒã¯ãããŒã®å®è¡ãšãžã§ãç£èŠ
- 03ãã©ãããã©ãŒã ã®å¥å šæ§ãšã³ã³ããŒãã³ã管ç
- 04ãªãœãŒã¹ãšã€ã³ã¹ã¿ã³ã¹ã®ã©ã€ããµã€ã¯ã«ç®¡ç
- 05ã¿ã°ã«ããããŒã«ã®çµã蟌ã¿ãšæ€åº
- 06è€æ°ã®éä¿¡æ¹åŒãšèªèšŒãªãã·ã§ã³
掻çšã·ãŒã³
- 01æ©åšèšå®ãé©çšããŠã³ã³ãã©ã€ã¢ã³ã¹ã確èªãã
- 02ãããã¯ãŒã¯ã¯ãŒã¯ãããŒãå®è¡ããŠãžã§ãç¶æ³ã調ã¹ã
- 03ãã©ãããã©ãŒã ã®å¥å šæ§ãç£èŠãã¢ããªã±ãŒã·ã§ã³ã管çãã
- 04圹å²ãã¿ã¹ã¯ã«å¿ããŠå©çšå¯èœãªããŒã«ãå¶éãã
MCP 察å¿
MCPãµãŒããŒã¯ããããã¯ãŒã¯èªååãã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãå¥å šæ§ç£èŠãã€ã³ãã°ã¬ãŒã·ã§ã³ç®¡çããªãœãŒã¹ã®ã©ã€ããµã€ã¯ã«ç®¡çã«é¢ããItential Platformã®ããŒã«ãæäŸããŸããstdioãšStreamable HTTPã«å¯Ÿå¿ããæ§åŒã®SSEãå©çšã§ããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ãã®ãµãŒããŒã®ããã±ãŒãžããªã¢ãŒããšã³ããã€ã³ãã¯ãŸã ååŸã§ããŠããŸããããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
ð Itential - MCP ãµãŒããŒ
LLM ã Itential Platform ã«æ¥ç¶ããããã®å æ¬çãªããŒã«ãæäŸãã Model Context Protocol (MCP) ãµãŒããŒã§ããAI ã¢ã·ã¹ã¿ã³ãã«ãããããã¯ãŒã¯èªååã®ç®¡çãã¯ãŒã¯ãããŒã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããã©ãããã©ãŒã ã®å¥å šæ§ã®ç£èŠãé«åºŠãªãããã¯ãŒã¯æäœãå¯èœã«ããŸãã
ð¯ 察象ãŠãŒã¶ãŒ
ãã©ãããã©ãŒã ãšã³ãžãã¢
AI ãæŽ»çšããèªååãéããŠãã€ã³ãã©ã¹ãã©ã¯ãã£ã®ç®¡çãã·ã¹ãã ã®å¥å šæ§ã®ç£èŠãããã€ã¹ã®èšå®ããããã¯ãŒã¯æäœã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãè¡ããŸãã
éçºè
èªååã¯ãŒã¯ãããŒã®æ§ç¯ãå€éšã·ã¹ãã ãšã®é£æºãã¢ããªã±ãŒã·ã§ã³ã©ã€ããµã€ã¯ã«ã®ç®¡çããã©ãããã©ãŒã æ©èœã®æ¡åŒµãè¡ããŸãã
ð äž»ãªæ©èœ
ã³ã¢æ©èœ
- 79 åã®èªååããŒã«ïŒããã©ã«ãã§ 78 åãæå¹ãå®éšçãªããŒã« 1 åã¯ãªããã€ã³ïŒïŒãããã¯ãŒã¯èªååã®ããããããŒãºã«å¯Ÿå¿ããã13 ã®ã¿ã°ã«ããŽãªãŒã«ãããå æ¬çãªããŒã«ããã
- é«åºŠãªããŒã«éžæïŒæè»ãªã¿ã°ä»ãã·ã¹ãã ã䜿çšããŠãå©çšå¯èœãªããŒã«ããã£ã«ã¿ãªã³ã°ããã³å¶åŸ¡
- è€æ°ã®ãã©ã³ã¹ããŒãæ¹åŒïŒstdio ããã³ HTTPïŒStreamable HTTPãæšå¥šïŒãã©ã³ã¹ããŒãã«å¯Ÿå¿ãããªãã·ã§ã³ã§ TLS æå·åãå©çšå¯èœãã¬ã¬ã·ãŒã® SSE ãã©ã³ã¹ããŒããå©çšã§ããŸãããéæšå¥šã§ã
- åçãªããŒã«æ€åºïŒã³ãŒãã倿Žããã«ããŒã«ãèªåæ€åºããŠç»é²
- æè»ãªèªèšŒïŒItential Platform ã®åºæ¬èªèšŒãOAuth 2.0ãJWTãããŒã«ããŒã¹ã¢ã¯ã»ã¹ã«å¯Ÿå¿
- å æ¬çãªèšå®ïŒCLI ãã©ã¡ãŒã¿ãŒãç°å¢å€æ°ããŸãã¯èšå®ãã¡ã€ã«ã䜿çš
- ããŒã«ããŒã¹ã¢ã¯ã»ã¹ïŒãã©ãããã©ãŒã 管çè ããããã¯ãŒã¯ãšã³ãžãã¢ãéçºè åãã«ã«ã¹ã¿ãã€ãºãããããŒã«èšå®
ãããã¯ãŒã¯èªååãšããã€ã¹ç®¡ç
- ããã€ã¹èšå®ïŒèšå®ã®é©çšãããã€ã¹èšå®ã®ããã¯ã¢ãããçŸåšã®èšå®ã®ååŸ
- ã³ãã³ãå®è¡ïŒã«ãŒã«æ€èšŒãè¡ããªãããè€æ°ã®ããã€ã¹ã§åäžã®ã³ãã³ããŸãã¯ã³ãã³ããã³ãã¬ãŒããå®è¡
- ããã€ã¹ã°ã«ãŒãïŒå¹ççãªéçšã®ããã«è«çããã€ã¹ã³ã¬ã¯ã·ã§ã³ãäœæããã³ç®¡ç
- ã³ã³ãã©ã€ã¢ã³ã¹ç®¡çïŒã³ã³ãã©ã€ã¢ã³ã¹èšç»ã®èªåå®è¡ãšè©³çްãªã¬ããŒãäœæ
- ãŽãŒã«ãã³èšå®ïŒããŒãžã§ã³ç®¡çãåããéå±€åãã³ãã¬ãŒãããŒã¹ã®èšå®ç®¡ç
ã¯ãŒã¯ãããŒãšãªãŒã±ã¹ãã¬ãŒã·ã§ã³
- ã¯ãŒã¯ãããŒå®è¡ïŒAPI ãšã³ããã€ã³ãçµç±ã§ã¯ãŒã¯ãããŒãéå§ããå®è¡ç¶æ³ãç£èŠ
- ãžã§ã管çïŒå æ¬çãªã¹ããŒã¿ã¹ãã¡ããªã¯ã¹ãã¿ã¹ã¯è©³çްã䜿ã£ãŠã¯ãŒã¯ãããŒãžã§ãã远跡
- ã¯ãŒã¯ãããŒã®å ¬éïŒã¯ãŒã¯ãããŒãå€éšããå©çšã§ãã REST API ãšã³ããã€ã³ãã«å€æ
- ãã³ãã¬ãŒã管çïŒJinja2 ããã³ TextFSM ãã³ãã¬ãŒããäœæãæŽæ°ãå®è¡
- ããã©ãŒãã³ã¹ã¡ããªã¯ã¹ïŒã¯ãŒã¯ãããŒæé©åã®ããã®ãžã§ãããã³ã¿ã¹ã¯å®è¡ã®è©³çްãªã¡ããªã¯ã¹
ãã©ãããã©ãŒã éçšãšç£èŠ
- å¥å šæ§ç£èŠïŒã·ã¹ãã ãªãœãŒã¹ãã¢ããªã±ãŒã·ã§ã³ãã¢ããã¿ãŒãå«ããã©ãããã©ãŒã ã®å¥å šæ§ããªã¢ã«ã¿ã€ã ã§ç£èŠ
- ã³ã³ããŒãã³ãã®ã©ã€ããµã€ã¯ã«ïŒã¹ããŒã¿ã¹ãç£èŠããªãããã¢ããªã±ãŒã·ã§ã³ãšã¢ããã¿ãŒãèµ·åã忢ãåèµ·å
- çµ±å管çïŒOpenAPI ããŒã¹ã®çµ±åã¢ãã«ãäœæããã³ç®¡ç
- ã²ãŒããŠã§ã€ãµãŒãã¹ïŒGateway Manager ãéããŠå€éšãµãŒãã¹ïŒAnsibleãPython ã¹ã¯ãªãããOpenTofuïŒãå®è¡
ã©ã€ããµã€ã¯ã«ãšãªãœãŒã¹ç®¡ç
- ãªãœãŒã¹ã¢ãã«ïŒã©ã€ããµã€ã¯ã«ã¯ãŒã¯ãããŒãåãããJSON Schema ããŒã¹ã®ãªãœãŒã¹æ§é ãå®çŸ©ããŸã
- ã€ã³ã¹ã¿ã³ã¹ç®¡çïŒç¶æ 远跡æ©èœãåããããªãœãŒã¹ã€ã³ã¹ã¿ã³ã¹ã®å®å šãª CRUD æäœãè¡ããŸã
- ã¢ã¯ã·ã§ã³å®è¡ïŒå æ¬çãªå®è¡å±¥æŽãšãšãã«ãã©ã€ããµã€ã¯ã«ã¢ã¯ã·ã§ã³ãå®è¡ããŸã
- ããŒã¿æ€èšŒïŒãªãœãŒã¹ããŒã¿ãšã¢ã¯ã·ã§ã³ãã©ã¡ãŒã¿ãŒããã¹ããŒãã«åºã¥ããŠæ€èšŒããŸã
ð èŠä»¶
- Python 3.10 以é
- Itential Platform Instance ãžã®ã¢ã¯ã»ã¹
- éçºçš -
uvãšmake
ãã¹ãæžã¿ Python ããŒãžã§ã³
ãã®ãããžã§ã¯ãã¯ã以äžã® Python ããŒãžã§ã³ã«å¯ŸããŠèªåçã«ãã¹ããããŸãïŒ
- Python 3.10
- Python 3.11
- Python 3.12
- Python 3.13
ð§ ã€ã³ã¹ããŒã«
itential-mcp ã¢ããªã±ãŒã·ã§ã³ã¯ãPyPI ã䜿çšããŠã€ã³ã¹ããŒã«ãããããœãŒã¹ããçŽæ¥å®è¡ã§ããŸãã
PyPI ããã®ã€ã³ã¹ããŒã«
PyPI ããã€ã³ã¹ããŒã«ããã«ã¯ãpip ã䜿çšããŸãïŒ
pip install itential-mcp
ããŒã«ã«éçº
ãªããžããªãããŒã«ã«ç°å¢ã«ã¯ããŒã³ããŠãMCP ãµãŒããŒãæäœããããšãã§ããŸãããã®ãããžã§ã¯ãã§ã¯ uv ãš make ã䜿çšãããããäž¡æ¹ã®ããŒã«ãã€ã³ã¹ããŒã«ããç°å¢å
ã§äœ¿çšã§ããããã«ããå¿
èŠããããŸãã
以äžã®ã³ãã³ãã§éå§ã§ããŸãã
git clone https://github.com/itential/itential-mcp
cd itential-mcp
make build
éçºæã¯ãuv ã䜿çšããŠãµãŒããŒãçŽæ¥å®è¡ã§ããŸãïŒ
# Run with stdio transport (default)
uv run itential-mcp run
# Run with HTTP transport (Streamable HTTP, recommended for web integration)
uv run itential-mcp run --transport http --host 0.0.0.0 --port 8000
# Run with specific configuration
uv run itential-mcp run --include-tags "health,configuration_manager" --exclude-tags "experimental"
ã³ã³ãããŒã®äœ¿çš
GitHub Container Registry ãããã«
ææ°ãªãªãŒã¹ããã«ããŠå®è¡ããŸãïŒ
# Pull the latest image
docker pull ghcr.io/itential/itential-mcp:latest
# Run with HTTP transport (Streamable HTTP, recommended)
docker run -p 8000:8000 \
--env ITENTIAL_MCP_SERVER_TRANSPORT=http \
--env ITENTIAL_MCP_SERVER_HOST=0.0.0.0 \
--env ITENTIAL_MCP_SERVER_PORT=8000 \
--env ITENTIAL_MCP_PLATFORM_HOST=your-platform.example.com \
--env ITENTIAL_MCP_PLATFORM_USER=your-username \
--env ITENTIAL_MCP_PLATFORM_PASSWORD=your-password \
ghcr.io/itential/itential-mcp:latest
# Or with OAuth authentication
docker run -p 8000:8000 \
--env ITENTIAL_MCP_SERVER_TRANSPORT=http \
--env ITENTIAL_MCP_SERVER_HOST=0.0.0.0 \
--env ITENTIAL_MCP_SERVER_PORT=8000 \
--env ITENTIAL_MCP_PLATFORM_HOST=your-platform.example.com \
--env ITENTIAL_MCP_PLATFORM_CLIENT_ID=CLIENT_ID \
--env ITENTIAL_MCP_PLATFORM_CLIENT_SECRET=CLIENT_SECRET \
ghcr.io/itential/itential-mcp:latest
# Run with stdio transport (for MCP clients)
docker run -i \
--env ITENTIAL_MCP_PLATFORM_HOST=your-platform.example.com \
--env ITENTIAL_MCP_PLATFORM_USER=your-username \
--env ITENTIAL_MCP_PLATFORM_PASSWORD=your-password \
ghcr.io/itential/itential-mcp:latest
ã³ã³ãããŒã€ã¡ãŒãžãããŒã«ã«ã§ãã«ã
ãœãŒã¹ãããã«ãããŠå®è¡ããŸãïŒ
# Build the container image
make container
# Run the locally built container
docker run -p 8000:8000 \
--env ITENTIAL_MCP_SERVER_TRANSPORT=http \
--env ITENTIAL_MCP_SERVER_HOST=0.0.0.0 \
--env ITENTIAL_MCP_SERVER_PORT=8000 \
--env ITENTIAL_MCP_PLATFORM_HOST=your-platform.example.com \
--env ITENTIAL_MCP_PLATFORM_USER=your-username \
--env ITENTIAL_MCP_PLATFORM_PASSWORD=your-password \
itential-mcp:devel
ð ã¯ã€ãã¯ã¹ã¿ãŒã
1. ãµãŒããŒãã€ã³ã¹ããŒã«
pip install itential-mcp
2. ãã©ãããã©ãŒã æ¥ç¶ãèšå®
Itential Platform ã®èªèšŒæ å ±ãèšå®ããŸãïŒ
export ITENTIAL_MCP_PLATFORM_HOST="your-platform.example.com"
export ITENTIAL_MCP_PLATFORM_USER="your-username"
export ITENTIAL_MCP_PLATFORM_PASSWORD="your-password"
3. ãµãŒããŒãèµ·å
# Basic stdio transport (default)
itential-mcp run
# Or with HTTP transport (Streamable HTTP, recommended for web clients)
itential-mcp run --transport http --host 0.0.0.0 --port 8000
4. MCP ã¯ã©ã€ã¢ã³ããèšå®
çµ±åã¬ã€ãã«åŸã£ãŠãClaudeãContinue.devããã®ä»ã® MCP ã¯ã©ã€ã¢ã³ããæ¥ç¶ããŸãã
ð åºæ¬çãªäœ¿ãæ¹
ããã©ã«ãèšå®ïŒstdio ãã©ã³ã¹ããŒãïŒã§ MCP ãµãŒããŒãèµ·åããŸãïŒ
itential-mcp run
HTTP ãã©ã³ã¹ããŒãïŒStreamable HTTPããŠã§ã飿ºã«æšå¥šïŒã§èµ·åããŸãïŒ
itential-mcp run --transport http --host 0.0.0.0 --port 8000
SSE ãã©ã³ã¹ããŒãïŒéæšå¥š - ã¬ã¬ã·ãŒã® HTTP+SSEãhttp ãæšå¥šïŒã§èµ·åããŸãïŒ
itential-mcp run --transport sse --host 0.0.0.0 --port 8000
äžè¬çãªãªãã·ã§ã³
ã°ããŒãã«ãªãã·ã§ã³ã¯ãã³ãã³ãåã®ååŸã©ã¡ãã«ãæå®ã§ããŸãã
| ãªãã·ã§ã³ | 説æ | ããã©ã«ã |
|---|---|---|
--config | èšå®ãã¡ã€ã«ãžã®ãã¹ | ãªã |
äŸïŒ
# Both of these work identically:
itential-mcp --config config.conf run
itential-mcp run --config config.conf
ãµãŒããŒãªãã·ã§ã³
| ãªãã·ã§ã³ | 説æ | ããã©ã«ã |
|---|---|---|
--transport | ãã©ã³ã¹ããŒããããã³ã«ïŒstdioãsseãhttpãsse ã¯éæšå¥šã®ãããhttp ãæšå¥šïŒ | stdio |
--host | ãªãã¹ã³ãããã¹ãã¢ãã¬ã¹ | 127.0.0.1 |
--port | ãªãã¹ã³ããããŒã | 8000 |
--path | 䜿çšãã HTTP ãã¹ | /mcp |
--log-level | ãã°ã¬ãã«ïŒDEBUGãINFOãWARNINGãERRORãCRITICALãNONEïŒ | NONE |
--include-tags | ç»é²æžã¿ããŒã«ã«å«ããã¿ã° | ãªã |
--exclude-tags | ç»é²æžã¿ããŒã«ããé€å€ããã¿ã° | experimental,beta |
ãã©ãããã©ãŒã èšå®
| ãªãã·ã§ã³ | 説æ | ããã©ã«ã |
|---|---|---|
--platform-host | Itential Platform ã®ãã¹ãå | localhost |
--platform-port | Platform ã®ããŒãïŒ0 = èªåæ€åºïŒ | 0 |
--platform-disable-tls | Platform æ¥ç¶ã® TLS ãç¡å¹ã«ããŸã | false |
--platform-disable-verify | èšŒææžã®æ€èšŒãç¡å¹ã«ããŸã | false |
--platform-timeout | æ¥ç¶ã¿ã€ã ã¢ãŠã | 30 |
--platform-user | èªèšŒçšã®ãŠãŒã¶ãŒå | admin |
--platform-password | èªèšŒçšã®ãã¹ã¯ãŒã | admin |
--platform-client-id | OAuth ã¯ã©ã€ã¢ã³ã ID | none |
--platform-client-secret | OAuth ã¯ã©ã€ã¢ã³ãã·ãŒã¯ã¬ãã | none |
ç°å¢å€æ°
ãã¹ãŠã®ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ã¯ãITENTIAL_MCP_SERVER_ ããã¬ãã£ãã¯ã¹ãšããç°å¢å€æ°ã§ãèšå®ã§ããŸããäŸïŒ
export ITENTIAL_MCP_SERVER_TRANSPORT=http
export ITENTIAL_MCP_PLATFORM_HOST=platform.example.com
itential-mcp run # Will use the environment variables
ã»ãã¥ãªãã£ã«é¢ããèæ ®äºé
â ïž éèŠãªã»ãã¥ãªãã£ã«é¢ããæ³šæïŒ
MCP ãµãŒããŒã¯ç°å¢å€æ°ããèšå®ãèªã¿åããããä¿¡é Œã§ããç°å¢ã§å®è¡ããå¿ èŠããããŸããå ±æç°å¢ãŸãã¯ãã«ãããã³ãç°å¢ã§ã¯ã以äžã確èªããŠãã ããã
- ç°å¢ã®åé¢ïŒãŠãŒã¶ãŒãä»»æã®ç°å¢å€æ°ãèšå®ã§ããªããåé¢ãããã³ã³ãããŸãã¯å°çšç°å¢ã§ãµãŒããŒãå®è¡ããŸã
- ã¢ã¯ã»ã¹å¶åŸ¡ïŒæ¿èªããã管çè
ã®ã¿ã
ITENTIAL_MCP_*ç°å¢å€æ°ãèšå®ã§ããããã«ããŸã - åçãªããŒã«èšå®ïŒ
ITENTIAL_MCP_TOOL_*ãšãããã¿ãŒã³ã®ç°å¢å€æ°ã䜿ã£ãŠãã«ã¹ã¿ã ããŒã«ã®ãã€ã³ãã£ã³ã°ãå®çŸ©ã§ããŸããããã¯åŒ·åãªæ©èœã§ãããä¿¡é Œå¢çã®èšå®ãå¿ èŠã§ã - èªèšŒæ å ±ã®ç®¡çïŒå ±æç°å¢ã§èªèšŒæ å ±ãå ¬éããªãã§ãã ãããã·ãŒã¯ã¬ãã管çã·ã¹ãã ïŒKubernetes SecretsãHashiCorp Vault ãªã©ïŒã䜿çšããŠãã ãã
æšå¥šããããããã€æ¹æ³ïŒ
- ã³ã³ããåïŒDockerãKubernetesïŒã䜿çšããŠç°å¢å€æ°ãåé¢ããŸã
- æå°æš©éã®ã¢ã¯ã»ã¹å¶åŸ¡ãå®è£ ããŸã
- èªèšŒæ å ±ã宿çã«ããŒããŒã·ã§ã³ããŸã
- æ¬çªç°å¢ã§ã¯ TLS ãšèšŒææžæ€èšŒãæå¹ã«ããŸã
- HTTP/SSE ãã©ã³ã¹ããŒãã§ã¯èªèšŒïŒJWTãOAuthïŒã䜿çšããŸã
æ¬çªç°å¢ãžã®ãããã€ã«ã€ããŠã¯ãã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ã¬ã€ããåç §ããŠãã ããã
èšå®ãã¡ã€ã«
ãµãŒããŒèšå®ã¯ãèšå®ãã¡ã€ã«ã䜿ã£ãŠæå®ããããšãã§ããŸããèšå®ãã¡ã€ã«ã䜿çšãããšããã¹ãŠã®èšå®ãã©ã¡ãŒã¿ãŒãæž¡ãããšãã§ããŸããèšå®ãã¡ã€ã«ã䜿çšããã«ã¯ã--config <path> ã³ãã³ãã©ã€ã³åŒæ°ãæž¡ããŸãã<path> ã¯èªã¿èŸŒãèšå®ãã¡ã€ã«ãæå®ããŸãã
èšå®ãã¡ã€ã«ã®åœ¢åŒãšå€ã«ã€ããŠã¯ããã¡ãã«èšèŒãããŠããŸãã
èšå®ãªãã·ã§ã³ãè€æ°ã®å Žæã§æå®ããå Žåã䜿çšããå€ã¯æ¬¡ã®åªå é äœïŒé«ãé ïŒã«åŸã£ãŠæ±ºå®ãããŸãã
- ç°å¢å€æ°
- ã³ãã³ãã©ã€ã³ãªãã·ã§ã³
- èšå®ãã¡ã€ã«
- ããã©ã«ãå€
ðïž ããŒã«ã®éžæãšã¿ã°ä»ã
Itential MCP ãµãŒããŒã¯ãå æ¬çãªã¿ã°ä»ãã·ã¹ãã ãéããŠåŒ·åãªããŒã«ã®ãã£ã«ã¿ãªã³ã°æ©èœãæäŸããŸããããã«ãããç¹å®ã®ããŒãºãã»ãã¥ãªãã£èŠä»¶ã«å¿ããŠãå©çšå¯èœãªããŒã«ãã«ã¹ã¿ãã€ãºã§ããŸãã
ã¿ã°ããŒã¹ã®ãã£ã«ã¿ãªã³ã°
å å«ã¿ã°ãšé€å€ã¿ã°ã䜿ã£ãŠãå©çšå¯èœãªããŒã«ãå¶åŸ¡ããŸãã
# Include only health and device management tools
itential-mcp run --include-tags "health,configuration_manager"
# Exclude experimental and beta tools (default behavior)
itential-mcp run --exclude-tags "experimental,beta,lifecycle_manager"
å©çšå¯èœãªã¿ã°ã°ã«ãŒã
| ã¿ã°ã°ã«ãŒã | ããŒã«æ° | 説æ | ãŠãŒã¹ã±ãŒã¹ |
|---|---|---|---|
health | 1 | ãã©ãããã©ãŒã ã®ãã«ã¹ç¶æ ãšç£èŠ | ãã©ãããã©ãŒã 管çè |
configuration_manager | 16 | ããã€ã¹ãã³ã³ãã©ã€ã¢ã³ã¹ãèšå®ã®ç®¡ç | ãããã¯ãŒã¯ãšã³ãžã㢠|
operations_manager | 9 | èªååãã¯ãŒã¯ãããŒããžã§ãã®ç®¡ç | èªååéçºè |
automation_studio | 12 | ã³ãã³ããã³ãã¬ãŒãããããžã§ã¯ãããã³ãã¬ãŒã | ãããã¯ãŒã¯ãªãã¬ãŒã¿ãŒ |
lifecycle_manager | 7 | ãªãœãŒã¹ã®ã©ã€ããµã€ã¯ã«ãšã€ã³ã¹ã¿ã³ã¹ã®ç®¡ç | ãããã¯ããããŒãžã£ãŒ |
work_center | 2ïŒãã¡1ã€ã¯å®éšçïŒ | æåã¿ã¹ã¯ïŒäœæ¥é ç®ïŒã®ç¢ºèªãšå®éšçãªå®äº | èªååãªãã¬ãŒã¿ãŒ |
workflow_engine | 6 | ã¯ãŒã¯ãããŒå®è¡ã®ã¡ããªã¯ã¹ | ããã©ãŒãã³ã¹ã¢ããªã¹ã |
adapters | 4 | ã¢ããã¿ãŒã®ã©ã€ããµã€ã¯ã«ç®¡ç | ã€ã³ãã°ã¬ãŒã·ã§ã³ã¹ãã·ã£ãªã¹ã |
applications | 4 | ã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ç®¡ç | ã¢ããªã±ãŒã·ã§ã³ææè |
gateway_manager | 5 | å€éšãµãŒãã¹ã®ç®¡ç | ã·ã¹ãã ã€ã³ãã°ã¬ãŒã¿ãŒ |
integrations | 3 | å€éšã·ã¹ãã ãšã®ã€ã³ãã°ã¬ãŒã·ã§ã³ | API éçºè |
agent_session_manager | 5 | ãšãŒãžã§ã³ãã»ãã·ã§ã³ãšããŒã¯ã³ã®äœ¿çšç¶æ³ | AIïŒãšãŒãžã§ã³ããªãã¬ãŒã¿ãŒ |
inventory_manager | 5 | ã€ã³ãã³ããªç®¡ç | ãããã¯ãŒã¯ãšã³ãžã㢠|
圹å²ããŒã¹ã®èšå®
以äžã®åœ¹å²ããŒã¹ã®èšå®ã§ã¯ãç¹å®ã®è·åãšè²¬ä»»ã«å¿ããŠãå©çšã§ããããŒã«ã調æŽããŸãã
ãã©ãããã©ãŒã 管çè ïŒ ã·ã¹ãã ã®ãã«ã¹ç¶æ ã®ç£èŠãã³ã³ããŒãã³ãã®ç®¡çããã©ãããã©ãŒã ã®éçš
itential-mcp run --include-tags "health,adapters,applications,integrations"
äž»ãªããŒã«ïŒãã©ãããã©ãŒã ã®ãã«ã¹ç¶æ ã®ç£èŠãã¢ããã¿ãŒïŒã¢ããªã±ãŒã·ã§ã³ã®ã©ã€ããµã€ã¯ã«ç®¡çãã€ã³ãã°ã¬ãŒã·ã§ã³ç®¡ç
ãããã¯ãŒã¯ãšã³ãžãã¢ïŒ ããã€ã¹ç®¡çãèšå®ãã³ã³ãã©ã€ã¢ã³ã¹ããããã¯ãŒã¯èªåå
itential-mcp run --include-tags "configuration_manager,automation_studio"
äž»ãªããŒã«ïŒããã€ã¹èšå®ãã³ã³ãã©ã€ã¢ã³ã¹èšç»ãã³ãã³ããã³ãã¬ãŒãããŽãŒã«ãã³èšå®ç®¡ç
èªååéçºè ïŒ ã¯ãŒã¯ãããŒã®æ§ç¯ãããã©ãŒãã³ã¹åæããã©ãããã©ãŒã ã®æ¡åŒµ
itential-mcp run --include-tags "operations_manager,workflow_engine,lifecycle_manager,gateway_manager"
äž»ãªããŒã«ïŒã¯ãŒã¯ãããŒå®è¡ãããã©ãŒãã³ã¹ã¡ããªã¯ã¹ããªãœãŒã¹ã®ã©ã€ããµã€ã¯ã«ç®¡çãå€éšãµãŒãã¹ãšã®ã€ã³ãã°ã¬ãŒã·ã§ã³
ãã©ãããã©ãŒã ãªãã¬ãŒã¿ãŒïŒ æ¥åžžæ¥åããžã§ãã®ç£èŠãã¬ããŒãã®çæ
itential-mcp run --include-tags "operations_manager,configuration_manager"
äž»ãªããŒã«ïŒã¯ãŒã¯ãããŒå®è¡ããžã§ãã®ç£èŠãããã€ã¹æäœãã³ã³ãã©ã€ã¢ã³ã¹ã¬ããŒã
ð ããã¥ã¡ã³ããšã€ã³ãã°ã¬ãŒã·ã§ã³
ããŒã«ã®å®å šãªãªãã¡ã¬ã³ã¹
å©çšå¯èœãªããŒã«ã®å šäžèЧãšè©³çްãªã¿ã°ã®é¢é£ä»ãã¯ãããŒã«ããã¥ã¡ã³ããåç §ããŠãã ããã
èšå®ãšã»ãã¥ãªãã£
- MCP ã¯ã©ã€ã¢ã³ãã®ã€ã³ãã°ã¬ãŒã·ã§ã³ - ClaudeãContinue.devããã®ä»ã® MCP ã¯ã©ã€ã¢ã³ããèšå®ããŸã
- TLS ã®èšå® - èšŒææžã䜿çšããŠå®å šãª HTTPS æ¥ç¶ãæå¹ã«ããŸã
- JWT èªèšŒ - JWT ããŒã¯ã³èªèšŒãèšå®ããŸã
- OAuth èªèšŒ - è€æ°ã®ãããã€ããŒã䜿çšãã OAuth 2.0
- èšå®äŸ - èšå®ãã¡ã€ã«ã®å®å šãªãªãã¡ã¬ã³ã¹
- ã¹ããŒã¿ã¹ãšã³ããã€ã³ã - æ¬çªç°å¢ãžã®ãããã€ã«ããããã«ã¹ç¶æ ã®ç£èŠ
é«åºŠãªæ©èœ
- ã¿ã°ä»ãã·ã¹ãã - é«åºŠãªããŒã«ã®ãã£ã«ã¿ãªã³ã°ãšéžææ¹æ³
- ã¯ãŒã¯ãããŒã®å®è¡ - Itential ã¯ãŒã¯ãããŒã®å®è¡ãšç£èŠ
- ã«ã¹ã¿ã ããŒã«ã®éçº - ã«ã¹ã¿ã MCP ããŒã«ã®äœæãšçµ±å
ããã³ããã®äŸ
- Claude Desktop ã®ããã³ãã - Claude ãšã®ã€ã³ãã°ã¬ãŒã·ã§ã³ã«æé©åãããããã³ãã
- GPT ã€ã³ãã°ã¬ãŒã·ã§ã³ã®ããã³ãã - GPT ãšã®ã€ã³ãã°ã¬ãŒã·ã§ã³ã«æé©åãããããã³ãã
ð ïž æ°ããããŒã«ã®è¿œå
æ°ããããŒã«ã®è¿œå ã¯ç°¡åã§ãã
src/itential_mcp/tools/ãã£ã¬ã¯ããªã«æ°ãã Python ãã¡ã€ã«ãäœæããããæ¢åã®ãã¡ã€ã«ã«é¢æ°ã远å ããŸãContextãã©ã¡ãŒã¿ãŒã®å泚éãæã€éåæé¢æ°ãå®çŸ©ããŸãã
from fastmcp import Context
async def my_new_tool(ctx: Context) -> dict:
"""
Description of what the tool does
Args:
ctx (Context): The FastMCP Context object
Returns:
dict: The response data
Raises:
None
"""
# Get the platform client
client = ctx.request_context.lifespan_context.get("client")
# Make API requests
res = await client.get("/your/api/path")
# Return JSON-serializable results
return res.json()
ãµãŒããŒã®èµ·åæã«ãããŒã«ã¯èªåçã«æ€åºãããç»é²ãããŸãã
ãã¹ãã®å®è¡
次ã®ã³ãã³ãã§ãã¹ãã¹ã€ãŒããå®è¡ããŸãã
make test
ãã¹ãã«ãã¬ããžã確èªããã«ã¯ã次ãå®è¡ããŸãã
make coverage
ã³ã³ããªãã¥ãŒã·ã§ã³
ã³ã³ããªãã¥ãŒã·ã§ã³ãæè¿ããŸãïŒã³ã³ããªãã¥ãŒã·ã§ã³ã®åã«ãè¡åèŠç¯ããèªã¿ãã ããã
- ãªããžããªããã©ãŒã¯ããŸã
- æ©èœãã©ã³ããäœæããŸãïŒ
git checkout -b feature/my-feature - 倿Žãã³ãããããŸãïŒ
git commit -am 'Add new feature' - ãã©ã³ãã«ããã·ã¥ããŸãïŒ
git push origin feature/my-feature - ãã«ãªã¯ãšã¹ããéä¿¡ããŸã
éä¿¡ããåã«ïŒ
make premergeãå®è¡ããŠããã¹ããåæ Œããã³ãŒãã¹ã¿ã€ã«ãæ£ããããšã確èªããŸã- æ°æ©èœã®ããã¥ã¡ã³ãã远å ããŸã
- æ°ããæ©èœã®ãã¹ãã远å ããŸã
ã©ã€ã»ã³ã¹
ãã®ãããžã§ã¯ãã¯GNU General Public License v3.0ã®äžã§ã©ã€ã»ã³ã¹ãããŠããŸãã詳现ã¯LICENSEãã¡ã€ã«ãã芧ãã ããã
Copyright (c) 2025 Itential, Inc
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã