Auto MCP âšð€
ããŒã«ã«Auto MCP âšð€ ã«ã€ããŠ
Auto MCPã¯ãROSããŒã¹ã®ã·ã¹ãã åãMCPãµãŒããŒããã±ãŒãžã§ããããããšLLMãæ¥ç¶ããããããã£ã¯ã¹éçºè ã察象ãšããŠããŸãã皌åäžã®ROSãããã¯ãšã€ã³ã¿ãŒãã§ãŒã¹ã調ã¹ãããã«å¿ããSSE over HTTPãµãŒããŒãäœæããŸãã
äž»ãªæ©èœ
- 01皌åäžã®ROSãããã¯ãšã€ã³ã¿ãŒãã§ãŒã¹ã®æ€åº
- 02ã·ã¹ãã ã®èª¿æ»ã«ããããŒã«çæ
- 03SSEãšHTTPã«ããMCPæäŸ
- 04ããŒã5000ã§ã®åŸ ã¡åã
掻çšã·ãŒã³
- 01ROSãããããšLLMã¯ã©ã€ã¢ã³ãã®æ¥ç¶
- 02皌åäžã®ROSãããã¯ã®MCPããŒã«å
- 03MCPã¯ã©ã€ã¢ã³ããžã®ããããã·ã¹ãã å ¬é
MCP 察å¿
ROSã·ã¹ãã ã§æ€åºãããããã¯ãšã€ã³ã¿ãŒãã§ãŒã¹ãåºã«MCPãµãŒããŒãäœæããŸããMCPã¯ã©ã€ã¢ã³ãã¯`http://localhost:5000/sse`ã®SSEãšã³ããã€ã³ãã«æ¥ç¶ã§ããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
Auto MCP âšð€
ãã®ããã±ãŒãžã¯ãROS ããŒã¹ã®ããããã·ã¹ãã ã§ãã®ãŸãŸäœ¿ãã MCP ãµãŒããŒãšããŠæ©èœããŸãã
ã€ã³ããã¹ãã¯ã·ã§ã³ããŒã«ã䜿çšããŠãautomcp_listener ããŒããã·ã¹ãã äžã§çšŒåããŠãããããã¯ãšãã®ã€ã³ã¿ãŒãã§ãŒã¹ã®äžèЧãååŸããŸããç¶ããŠãããŒã 5000 ã§ HTTP ãã©ã³ã¹ããŒãã«ãã SSE ã® MCP ãµãŒããŒãäœæããŸãã
èµ·åæã«ã€ã³ããã¹ãã¯ã·ã§ã³ãè¡ããããæåŸã«èµ·åããããŒãã«ããŠãã ããã
ããã¯äœã§ãã â
ãã®ããã±ãŒãžã䜿ãã°ãã»ãšãã©æéããããã«ãROS ããŒã¹ã®ããããã«å€§ã㪠LLM ã®é è³ãäžããããŸãã
ã奜ã¿ã® LLMïŒã¯ã©ã€ã¢ã³ãã«æ¥ç¶ã§ãã MCP ãµãŒããŒãäœæããããšã§ãããããã«é è³ããLLM ã«èº«äœãäžããŸãã
Model Context ProtocolïŒç¥ã㊠MCPïŒã¯ãLLM ãããŸããŸãªããŒã«ãšããåãããããã®æ°ãããããã³ã«ã§ããClaude ãéçºããäŒæ¥ã§ãã Anthropic ããã®ãããã³ã«ãéçºããæè¿ã§ã¯ OpenAI ããµããŒãããããã«ãªããŸãããå ¬åŒãŠã§ããµã€ãã§è©³ããã芧ãã ããã
ãã® Auto MCP ROS2 ããã±ãŒãžã¯ãããããåã MCP ã®äœæãæè»œã«ããããšãç®æããŠããŸããã€ã³ããã¹ãã¯ã·ã§ã³ã«ãããROS ã·ã¹ãã äžã§å®è¡ãããŠãããã¹ãŠã®ãããã¯ãæ€åºããå¿ èŠãªããŒã«ãæäŸããŸããã»ãã®ãã¹ãŠã®ããŒããèµ·åããããšã«ãã®ããŒããå®è¡ããã奜ã¿ã®ã¯ã©ã€ã¢ã³ãã«èšå®ã远å ããã ãã§ãã
ãªãäœã£ãã®ã§ãã â
LLM ã®æ§èœããŸããŸãåäžããã«ã€ãããããããš LLM ãã€ãªããããšèããããããéçºè ãå¢ããã ãããšæããŸãããTMR ã®ç«ææ¢æ»è»ãããã¿ã€ãã§åããããã«ãç§èªèº«ããã®ãããªã³ã³ã»ããã«åãçµãã§ããŸãããMCP ãæ®åããŠããã®ãèŠãŠããã®çšéã«ãŽã£ããã ãšæ°ä»ããŸããã
ããããçæŽ»ã®è³ªãé«ããæ¹åã匷ãä¿¡ããç§ã¯ããã£ãšç°¡åã«äœ¿ããããã«ããããšèããŸãããããã§ Auto MCP ãäœããŸããã
ã»ããã¢ãã ð§
package.xml ã«èšèŒãããŠããäŸåé¢ä¿ã«ã¯ rosdep ã®äŸåé¢ä¿ãå«ãŸããŠããŸãããã ããPython çš MCP SDK ã¯ãŸã rosdep ãªããžããªã«ãããŸããããã®ããã®ãã«ãªã¯ãšã¹ããæåºããŠããŸãã
解決ãããŸã§ã¯ãModel Context Protocol ã® python-sdk ãªããžããªã«èšèŒãããŠãããšãããpip install mcp ãå®è¡ããŠäŸåé¢ä¿ãã€ã³ã¹ããŒã«ã§ããŸãã
ã€ã³ã¹ããŒã« ð¥
ãã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããã«ã¯ãROS å ¬åŒãŠã§ããµã€ãã®æé ã«åŸã£ãŠ colcon ã¯ãŒã¯ã¹ããŒã¹ãäœæããŠãã ããã
次ã«ããã®ãªããžããªãã¯ãŒã¯ã¹ããŒã¹å
ã® src ãã£ã¬ã¯ããªã«ã¯ããŒã³ããŸãã
cd src
git clone https://github.com/snick-m/auto_mcp.git
ãã®åŸãã¯ãŒã¯ã¹ããŒã¹ã®ã«ãŒããã£ã¬ã¯ããªã«æ»ãããã«ãã³ãã³ããå®è¡ããŸãã
cd ../
# If you want to only build this package
colcon build --packages-select auto_mcp
# If you want to build all packages in the workspace
colcon build
ããã§ã䜿çšãéå§ã§ããŸãã
äœ¿çšæ¹æ³ ððŒââ¡ïž
ros2 ã¯ãŒã¯ã¹ããŒã¹ã§ãã«ãããŠã€ã³ã¹ããŒã«ããããæ¬¡ã®ã³ãã³ããå®è¡ããã ãã§ããŒããèµ·åã§ããŸãã
ros2 run auto_mcp server
ããã«ããããŸãã€ã³ããã¹ãã¯ã·ã§ã³ãå®è¡ãããã®åŸ 0.0.0.0:5000 ã§ MCP ãµãŒããŒãèµ·åããããŒããç«ã¡äžãããŸãããã®ãããããŒã«ã«ã·ã¹ãã ã§ã¯ http://localhost:5000/sse ãã SSE ãšã³ããã€ã³ãã«ã¢ã¯ã»ã¹ã§ããŸãã
Claude Desktop ãžã®è¿œå ð
çŸåšããã¹ãããã®ã¯ Claude Desktop ã®ã¿ã§ããä»åŸãå¿ èŠãªæé ã远å ããŠããäºå®ã§ãã
å·çæç¹ã§ã¯ãClaude Desktop 㯠HTTP ãã©ã³ã¹ããŒãã«ãã SSE ã䜿çšãã MCP ã®è¿œå ã«å¯Ÿå¿ããŠããŸããããã ããCloudflare ã«ããéåžžã«ç°¡åãªåé¿çã䜿ãã°å©çšã§ããŸãã
Claude Desktop ã® MCP èšå®ã«ã¯ã䜿çšç°å¢ã«åãã㊠URL ã倿Žããæ¬¡ã®å 容ã䜿çšããŠãã ããã
{
"mcpServers": {
"auto_mcp": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:5000/sse"
]
}
}
}
ã³ã³ããªãã¥ãŒã·ã§ã³ ð«
ã³ã³ããªãã¥ãŒã·ã§ã³ã¬ã€ãã©ã€ã³ã¯è¿æ¥å ¬éäºå®ã§ãããããŸã§ã¯ãäºå®ããŠããããã±ãŒãžã®ã¢ããã°ã¬ãŒãã«ã€ããŠãã€ã·ã¥ãŒãã確èªãã ãããèå³ã®ãããã®ãããã°ããã²ãã®ã€ã·ã¥ãŒã§å£°ããããŠãäœæ¥ã«åå ããŠãã ããã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã