Go-MCP 使用说明
项目简介
Go-MCP 是一个使用 Go 语言开发的 SDK,旨在简化 Model Context Protocol (MCP) 的集成和使用。它提供了构建 MCP 服务器和客户端所需的核心库和工具,帮助开发者快速搭建基于 MCP 协议的 AI 应用后端服务。
主要功能点
- MCP 协议核心实现: 完整实现了 MCP 协议规范,支持资源管理、工具注册、Prompt 模板处理等核心功能。
- 服务端与客户端支持: 既可以作为 MCP 服务器端框架使用,也可以作为客户端 SDK 集成到其他应用中。
- 多种传输协议: 支持 SSE (Server-Sent Events) 和 Stdio 两种传输方式,适应不同的部署环境和应用场景。
- 灵活的架构设计: 采用分层架构,易于扩展和定制,方便开发者根据自身需求进行二次开发。
- 完善的示例代码: 提供详细的服务器端和客户端示例,帮助开发者快速上手和理解 Go-MCP 的使用方法。
安装步骤
- 安装 Go 环境: 确保你的开发环境中已安装 Go 1.18 或更高版本。
- 获取 Go-MCP SDK: 使用 'go get' 命令下载 Go-MCP SDK:
go get github.com/ThinkInAIXYZ/go-mcp
服务器配置
MCP 服务器需要配置启动命令和参数才能运行。以下是一个基于 Go-MCP 仓库信息生成的服务器配置示例 (JSON 格式):
{ "server name": "go-mcp-server", "command": "your_server_binary", // 请替换为你的 Go-MCP 服务器程序编译后的二进制文件路径,例如:'./your_server' "args": [ "--transport", "stdio" // 可选参数:指定传输协议,例如 "stdio" 或 "sse"。 默认为 stdio。 // 如果使用 SSE 传输,可能需要额外的地址参数,具体请参考服务器程序文档。 ], "description": "Go-MCP 服务器示例配置,使用 Stdio 传输协议" }
配置说明:
- 'server name': 服务器的名称,可以自定义。
- 'command': 必须配置。指向 Go-MCP 服务器程序的可执行文件路径。你需要先编译 examples 或你自定义的服务器代码,然后将路径填写在此处。
- 'args': 可选配置。服务器启动参数,以数组形式提供。
- '--transport': 指定传输协议,可选值为 'stdio' 或 'sse'。 如果不指定,默认使用 'stdio'。 如果选择 'sse',可能还需要配置监听地址等参数,请参考具体的服务器示例代码。
- 'description': 对该配置的描述,可以自定义。
注意:
- 上述配置中的 'your_server_binary' 需要替换为你实际编译生成的 Go-MCP 服务器程序二进制文件路径。
- 如果你使用了 'sse' 传输协议,并且服务器程序需要监听地址等参数,请根据服务器代码示例添加到 'args' 数组中。
基本使用方法
- 编写 MCP 服务器代码: 参考仓库中的 'examples' 目录,例如 'examples/current_time/main.go',实现你自己的 MCP 服务器逻辑,包括注册工具、资源和 Prompt 等。
- 编译服务器代码: 使用 'go build' 命令编译你的服务器代码,生成可执行文件。
- 配置 MCP 客户端: 在 MCP 客户端应用中,配置上述的服务器配置信息 (JSON)。客户端会根据配置信息启动服务器进程并建立连接。
- 客户端与服务器交互: 客户端通过 Go-MCP SDK 提供的 API,例如 'client.CallTool()'、'client.ListResources()' 等,与 MCP 服务器进行通信,调用工具、获取资源等。
- 运行客户端应用: 启动你的 MCP 客户端应用,即可与 Go-MCP 服务器进行交互。
简易步骤示例 (使用 Stdio 传输):
- 编译 'examples/current_time/main.go':
cd examples/current_time go build -o current_time_server main.go cd .. cd .. - 客户端配置 (JSON):
{ "server name": "current-time-server", "command": "./examples/current_time/current_time_server", "args": [ "--transport", "stdio" ], "description": "Current time server example using stdio" } - 在 MCP 客户端应用中加载上述配置,并使用 Go-MCP 客户端 SDK 与服务器交互。
通过以上步骤,你可以使用 Go-MCP 快速搭建和使用 MCP 服务器,为你的 LLM 应用提供强大的上下文服务能力。
信息
分类
开发者工具