MCP Go SDK

MCP Go SDK

site icon
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

安装教程

  1. 克隆仓库
git clone https://github.com/riza-io/mcp-go.git
cd mcp-go
  1. 构建示例
go build examples/fs/main.go

调试方式

  1. 运行示例服务器
./main /path/to/root/directory
  1. 配置客户端连接
{
  "mcpServers": {
    "fs": {
      "command": "/path/to/mcp-go-fs",
      "args": [
        "/path/to/root/directory"
      ]
    }
  }
}

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。