
MCP Go SDK

2025.03.27
29
GoLLM 集成上下文管理开发效率
mcp-go 是一个 Go 语言实现的 Model Context Protocol (MCP) SDK,提供了客户端和服务端的能力,用于与大型语言模型(LLM)交互时提供标准化的上下文。该 SDK 实现了完整的 MCP 规范,使得开发者可以轻松构建 MCP 客户端和服务端,处理所有 MCP 协议消息和生命周期事件。
View on GitHub
Overview
基本能力
产品定位
mcp-go 是一个用于与大型语言模型(LLM)交互的标准化上下文协议 SDK,旨在简化上下文提供与 LLM 交互的分离。
核心功能
- 构建 MCP 客户端,连接任何 MCP 服务器
- 创建 MCP 服务器,暴露资源、提示和工具
- 支持标准传输方式如 stdio 和 SSE(即将支持)
- 处理所有 MCP 协议消息和生命周期事件
适用场景
- 需要为 LLM 提供标准化上下文的应用程序
- 构建自定义 MCP 服务器以暴露特定资源
- 开发与 MCP 兼容的客户端工具
工具列表
mcp.NewStdioServer
: 创建一个基于 stdio 的 MCP 服务器mcp.UnimplementedServer
: 提供基础的服务器实现,开发者可以基于此扩展mcp.NewResponse
: 创建标准的 MCP 响应
常见问题解答
- 如何扩展服务器功能?可以通过继承
mcp.UnimplementedServer
并实现特定方法 - 支持的传输方式?目前支持 stdio,SSE 即将支持
- 如何贡献?遵循 MIT 许可证,欢迎提交 PR
使用教程
使用依赖
确保已安装 Go 1.16+ 版本
go version
安装教程
- 克隆仓库
git clone https://github.com/riza-io/mcp-go.git
cd mcp-go
- 构建示例
go build examples/fs/main.go
调试方式
- 运行示例服务器
./main /path/to/root/directory
- 配置客户端连接
{
"mcpServers": {
"fs": {
"command": "/path/to/mcp-go-fs",
"args": [
"/path/to/root/directory"
]
}
}
}