ðŠ mcp-client-go
ããŒã«ã«ðŠ mcp-client-go ã«ã€ããŠ
mcp-client-go ã¯ãéçºè ãè€æ°ã® MCP ãµãŒãã¹ãçµ±äž API ã§ç»é²ããŠåŒã³åºãã Go èšèªåãã® MCP ã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªã§ããstdio ãš SSE ã«ããã¯ã©ã€ã¢ã³ãåæåã«å¯Ÿå¿ãããµãŒããŒåãŸãã¯ããŒã«åã§ã¯ã©ã€ã¢ã³ããååŸã§ããŸããREADMEã«ã¯æ¥ç¶äŸãšãªããµãŒãã¹ã®äžèЧããããŸãã
äž»ãªæ©èœ
- 01è€æ°ã® MCP ã¯ã©ã€ã¢ã³ãã®çµ±äžçãªç»é²ãšç®¡ç
- 02stdio ãš SSE ã«ããã¯ã©ã€ã¢ã³ãåæå
- 03ãµãŒããŒåãŸãã¯ããŒã«åã«ããã¯ã©ã€ã¢ã³ãååŸ
- 04çµ±äžã€ã³ã¿ãŒãã§ãŒã¹ã«ããããŒã«å®è¡
- 05Claude 圢åŒã®èšå®ãã¡ã€ã«ã«ãããµãŒããŒå®çŸ©
掻çšã·ãŒã³
- 01Go ã¢ããªã±ãŒã·ã§ã³ããè€æ°ã® MCP ãµãŒãã¹ãžæ¥ç¶
- 02çµ±äžã€ã³ã¿ãŒãã§ãŒã¹ã§å°å³ãããŒã¿ããŒã¹ã®ããŒã«ãåŒã³åºã
MCP 察å¿
MCP ã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªãšããŠãè€æ°ã® MCP ãµãŒããŒãžã®æ¥ç¶ãç»é²ã管çãè¡ããæäŸãããããŒã«ãå®è¡ããŸãã
èšå®
ããŒã«ã«ãµãŒããŒã®èšå®ã¯ã©ã®ã¯ã©ã€ã¢ã³ãã§ãå ±éã§ããã³ããŒããŠã¯ã©ã€ã¢ã³ãã® MCP èšå®ãã¡ã€ã«ã«è²Œãä»ããŠãã ããã
ãã®ãµãŒããŒã®ããã±ãŒãžããªã¢ãŒããšã³ããã€ã³ãã¯ãŸã ååŸã§ããŠããŸããããããžã§ã¯ãã® README ã®æé ã«åŸã£ãŠãã ããã
ããŒã«
ããŒã«ã«ãµãŒããŒã®ããŒã«ã¯ãã·ã³äžã§èµ·åããŠåããŠååŸã§ããŸããã¡ã³ãããŒã¯ãŸã ããŒã«äžèЧãæäŸããŠããŸããã
詳现
ðŠ mcp-client-go
mcp-client-go ã¯ã**Model Context ProtocolïŒMCPïŒ**çšã® Golang ã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªã§ããçµ±äžããã API ã䜿çšããŠãAmapïŒGaode MapsïŒãªã©ã®ããŸããŸãª MCP ããŒã¹ã®ãµãŒãã¹ãç»é²ããæäœã§ããŸãã
âš ç¹é·
- MCP äºæãµãŒãã¹ãšç°¡åã«é£æºã§ããŸã
- ãµãŒãã¹ã®çš®é¡ïŒäŸïŒAmapãGithubãGoogleMapïŒãã¢ãžã¥ãŒã«åœ¢åŒã§ãµããŒãããŸã
- ãµãŒãã¹ã®ç»é²ãšã¯ã©ã€ã¢ã³ã管çãäžå åããŸã
- ã·ã³ãã«ã§çŽæçãªããŒã«å®è¡ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸã
- MCP ãµãŒããŒã®èšå®ã«Claude ã®ãããªèšå®ãã¡ã€ã«ã䜿çšã§ããŸãããã¢
- MCP ãªã¯ãšã¹ããããªã¬ãŒããããã³ãããæäŸããŸããããã¥ã¡ã³ã
ð 察å¿ãµãŒãã¹
| MCP ãµãŒã㌠| 説æ | ããã¥ã¡ã³ã | ã㢠|
|---|---|---|---|
| redis | Redis ããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãæäŸãã Model Context Protocol ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | redis |
| github | GitHub MCP ãµãŒããŒã¯ãGitHub API ãšã®ã·ãŒã ã¬ã¹ãªçµ±åãæäŸãã Model Context ProtocolïŒMCPïŒãµãŒããŒã§ãã | ããã¥ã¡ã³ã | github |
| aws | Bedrock Agent Runtime ã䜿çšã㊠AWS ãã¬ããžããŒã¹ããæ å ±ãååŸãã MCP ãµãŒããŒã®å®è£ ã§ãã | ããã¥ã¡ã³ã | aws |
| sequential_thinking | æ§é åãããæèããã»ã¹ãéããŠãåçãã€å ççãªåé¡è§£æ±ºãè¡ãããŒã«ãæäŸãã MCP ãµãŒããŒã®å®è£ ã§ãã | ããã¥ã¡ã³ã | - |
| firecrawl | Web ã¹ã¯ã¬ã€ãã³ã°æ©èœãæäŸãã Firecrawl ãšçµ±åããã Model Context ProtocolïŒMCPïŒãµãŒããŒã®å®è£ ã§ãã | ããã¥ã¡ã³ã | firecrawl |
| postgresql | PostgreSQL ããŒã¿ããŒã¹ãžã®èªã¿åãå°çšã¢ã¯ã»ã¹ãæäŸãã Model Context Protocol ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | - |
| gitlab | GitLab API çšã® MCP ãµãŒããŒã§ãããããžã§ã¯ã管çããã¡ã€ã«æäœãªã©ãå¯èœã§ãã | ããã¥ã¡ã³ã | - |
| slack | Slack API çšã® MCP ãµãŒããŒã§ããClaude ã Slack ã¯ãŒã¯ã¹ããŒã¹ãšããåãã§ããããã«ããŸãã | ããã¥ã¡ã³ã | - |
| puppeteer | Puppeteer ã䜿çšãããã©ãŠã¶ãŒèªååæ©èœãæäŸãã Model Context Protocol ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | - |
| everart | EverArt ã® API ã䜿çšã㊠Claude Desktop åãã«ç»åãçæãããµãŒããŒã§ãã | ããã¥ã¡ã³ã | - |
| sentry | Sentry.io ã®ã€ã·ã¥ãŒãååŸããŠåæããããã® Model Context Protocol ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | - |
| filesystem | ãã¡ã€ã«ã·ã¹ãã æäœã®ããã® Model Context ProtocolïŒMCPïŒãå®è£ ãã Node.js ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | filesystem |
| fetch | Web ã³ã³ãã³ãã®ååŸæ©èœãæäŸãã Model Context Protocol ãµãŒããŒã§ãããã®ãµãŒããŒã«ãããLLM ã¯WebããŒãžããã³ã³ãã³ããååŸããŠåŠçããå©çšããããããã« HTML ã Markdown ã«å€æã§ããŸãã | ããã¥ã¡ã³ã | - |
| googlemap | Google Maps API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | googlemap |
| flomo | Flomo ã«ã¡ã¢ãæžãã®ãæ¯æŽãããTypeScript ããŒã¹ã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | - |
| chatsum | ãã£ããã¡ãã»ãŒãžãèŠçŽãã MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | - |
| amap | ãã®ãªããžããªã«ã¯ãModel Context ProtocolïŒMCPïŒã®ãªãã¡ã¬ã³ã¹å®è£ ã«å ããã³ãã¥ããã£ãæ§ç¯ãããµãŒããŒã远å ãªãœãŒã¹ãžã®åç §ããŸãšããããŠããŸãã | ããã¥ã¡ã³ã | amap http-streamable |
| baidumap | Baidu Maps çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | - |
| blender | BlenderMCP 㯠Model Context ProtocolïŒMCPïŒãéã㊠Blender ãš Claude AI ãæ¥ç¶ããŸãã | ããã¥ã¡ã³ã | - |
| framelink | ãã® Model Context Protocol ãµãŒããŒã䜿ããšãCursorãWindsurfãCline ãªã©ã® AI æèŒã³ãŒãã£ã³ã°ããŒã«ãã Figma ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ã§ããŸãã | ããã¥ã¡ã³ã | - |
| playwright | Playwright ã䜿çšãããã©ãŠã¶ãŒèªååæ©èœãæäŸãã Model Context ProtocolïŒMCPïŒãµãŒããŒã§ãã | ããã¥ã¡ã³ã | playwright sse |
| tavily | Model Context ProtocolïŒMCPïŒã¯ãAI ã·ã¹ãã ãããŸããŸãªããŒã¿ãœãŒã¹ãããŒã«ãšã·ãŒã ã¬ã¹ã«ããåãã§ããããã«ãããªãŒãã³ã¹ã¿ã³ããŒãã§ãããå®å šãªåæ¹åæ¥ç¶ãå®çŸããŸãã | ããã¥ã¡ã³ã | tavily |
| time | æå»ãšã¿ã€ã ãŸãŒã³ã®å€ææ©èœãæäŸãã Model Context Protocol ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | time uvx |
| victoriametrics | VictoriaMetrics ããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹ãæäŸãã Model Context Protocol ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | victoriametrics |
| atlassian | Atlassian 補åïŒConfluence ãš JiraïŒçšã® Model Context ProtocolïŒMCPïŒãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| notion | Notion API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| cloudflare | Cloudflare API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| binance | Binance API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| youtube | Youtube API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| shopify | Shopify API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| duckduckgo | Duckduckgo API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| aliyun | Aliyun API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | aliyun |
| bilibili | Bilibili API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | bilibili |
| bitcoin | Bitcoin API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | bitcoin |
| airbnb | Airbnb API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | airbnb |
| jira | Jira API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| Twitter API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | ||
| leetcode | Leetcode API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| iterm | Iterm API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | iterm |
| telegram | Telegram API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | telegram |
| zoomeye | Zoomeye API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| ipfs | IPFS API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| k8s | K8s API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| apple-shortcut | Apple Shortcut API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| ms-365 | MS356 API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| tinybird | TinyBird API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| mysql | Mysql API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| google calendar | Google Calendar API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| sqlite | Sqlite API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| mongo | Mongo API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | |
| opgg | Opgg API çšã® MCP ãµãŒããŒã§ãã | ããã¥ã¡ã³ã | opgg |
ð ã¯ããã«
ã€ã³ã¹ããŒã«
npxãuvxãdockerãã€ã³ã¹ããŒã«ããç°å¢å€æ°ã«èšå®ããŠãã ããïŒ
go get github.com/yincongcyincong/mcp-client-go
𧪠䜿çšäŸ
ã¯ã©ã€ã¢ã³ãã®ã㢠ã¢ããªã®ã㢠deepseekã®ã㢠openaiã®ã㢠ãããžã§ã¯ã
ð§± API ã®æŠèŠ
ã¯ã©ã€ã¢ã³ããåæåãã
conf := clients.InitStdioMCPClient("npx-amap-maps-mcp-server", "npx", []string{
"AMAP_MAPS_API_KEY=" + AmapApiKey,
}, []string{
"-y",
"@amap/amap-maps-mcp-server",
})
/
conf := clients.InitSSEMCPClient("npx-amap-maps-mcp-server", "http://127.0.0.1")
/
conf := clients.InitHttpMCPClient("npx-amap-maps-mcp-server", "http://127.0.0.1")
MCP ã¯ã©ã€ã¢ã³ããç»é²ãã
clients.RegisterMCPClient(context.Background(), []*param.MCPClientConf{conf})
MCP ã¯ã©ã€ã¢ã³ããååŸãã
client, err := clients.GetMCPClient("npx-amap-maps-mcp-server")
/
client, err := clients.GetMCPClientByToolName("geo_location")
ããŒã«ãå®è¡ãã
client.ExecTools(ctx, "tool_name", map[string]interface{}{...})
ð ã©ã€ã»ã³ã¹
ãã®ãããžã§ã¯ãã¯MIT ã©ã€ã»ã³ã¹ã®ããšã§ã©ã€ã»ã³ã¹ãããŠããŸãã
ã³ã¡ã³ã
MCP ã¯åããŠã§ããïŒ
ãããã³ã«ã®æŠèŠããæåã®ãµãŒããŒã®å°å ¥ãŸã§ãããããçåã«ãŸãšããŠçããŸãã
AI ã¢ããªã±ãŒã·ã§ã³ãå€éšã®ããŒã«ãããŒã¿ãœãŒã¹ã«çµ±äžçãªæ¹æ³ã§æ¥ç¶ããããã®ãªãŒãã³ãªãããã³ã«ã§ããã¯ã©ã€ã¢ã³ãã¯ã¢ãã«ãšã®å¯Ÿè©±ãæ ããMCP ãµãŒããŒã¯ããŒã«ã»ãªãœãŒã¹ã»ããã³ãããã³ãã¬ãŒããæäŸããŸããæšæºã¡ãã»ãŒãžã§ããåãããããã1 ã€ã®ãµãŒããŒãè€æ°ã®ã¯ã©ã€ã¢ã³ãã§åå©çšã§ããŸãã