🚀 如何用 Golang 快速集成多种 AI 工具?试试这个神奇的开源库:mcp-client-go

457 阅读3分钟

如何用 Golang 快速集成多种 AI 工具?试试这个神奇的开源库:mcp-client-go

在当今这个大模型如雨后春笋般涌现的时代,如何让 AI 高效地调用真实世界的数据和工具,成为了许多开发者关注的焦点。

今天,我想给大家推荐一个超级好用的开源库——mcp-client-go,它是 Model Context Protocol (MCP)  的 Golang 客户端实现,让你可以一站式集成各类 MCP 服务,如 Gaode Maps、高德地图、GitHubAWSSlack、Google Maps 等等!


什么是 MCP(Model Context Protocol)?

简单来说,MCP 是一套标准协议,专为 AI 与外部世界交互而设计。通过 MCP,AI 可以:

  • 调用 Web API

  • 操作数据库

  • 执行浏览器行为

  • 访问第三方服务(如 GitHub、Sentry、Figma、Slack、RedisPostgreSQL 等)

而 mcp-client-go 就是这套协议在 Golang 语言下的客户端实现。


✨ mcp-client-go 能做什么?

✅ 支持主流的 MCP 服务端,如:

  • 高德地图(Amap)

  • Google Maps

  • GitHub

  • PostgreSQL

  • AWS 知识库

  • Redis

  • Slack

  • Web 抓取工具(FirecrawlFetch

  • ‍ 图像生成(EverArt

  • 浏览器自动化(Puppeteer、Playwright)

✅ 提供统一的注册、管理、执行接口
✅ 支持动态环境变量注入
✅ 支持多个服务并发调用


使用示例

1️⃣ 安装依赖

go get github.com/yincongcyincong/mcp-client-go

2️⃣ 初始化 MCP 客户端配置

以高德地图为例:

conf := clients.InitMCPClient("npx-amap-maps-mcp-server", "npx", []string{
    "AMAP_MAPS_API_KEY=" + AmapApiKey,
}, []string{
    "-y",
    "@amap/amap-maps-mcp-server",
}, nil, nil, nil)

3️⃣ 注册客户端

clients.RegisterMCPClient(ctx, []*param.MCPClientConf{conf})

4️⃣ 获取客户端并调用工具

client, err := clients.GetMCPClient(amap.NpxAmapMapsMcpServer)
if err != nil {
    log.Fatal(err)
}
result, err := client.ExecTools(ctx, "maps_regeocode", map[string]interface{}{
    "location": "116.481488,39.990464",
})

这个例子中,我们调用了高德地图的 maps_regeocode 工具,将经纬度转化为详细地址。


权限认证说明

调用 MCP 服务通常需要提供 access token 或者 API key,例如高德地图的 API KEY、GitHub 的 OAuth Token 等。
你可以通过环境变量的方式注入到 MCP Server 的运行环境中,mcp-client-go 已做了封装,十分方便。


支持的服务一览

服务简介
Amap(高德地图)地理位置查询、IP 定位、逆地理编码
GitHub获取 PR、Issues、Repo 信息
AWS KB通过 Bedrock 检索 AWS 文档
Redis读写 Redis 数据库
PostgreSQL查询数据库
Firecrawl / Fetch抓取网页内容、转 Markdown
Slack与 Workspace 交互
Playwright / Puppeteer浏览器自动化
Flomo / Chatsum笔记记录、对话总结

完整列表可参考 官方仓库


为什么推荐 mcp-client-go?

  • 如果你正在构建 AI Agent 系统,需要调取多个第三方 API,这个库是你的好帮手。

  • 如果你希望服务统一接入管理,减少重复代码,它帮你节省大量工程时间。

  • 如果你用 Golang 开发大模型周边服务(如 Agent、Chain、RAG 系统),它非常适配。


总结

在 Agent 和工具调用成为大模型能力延伸的时代,MCP 是链接 AI 与真实世界的重要协议。

而 mcp-client-go 正是让 Golang 开发者快速接入 MCP 的利器。


如果你对这个库感兴趣,欢迎前往 GitHub 点个 ⭐️:
github.com/yincongcyin…

你也可以在评论区留言,我会持续更新使用教程和实战案例~