GitHub - mark3labs/mcp-go: A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools. · GitHub

GitHub - mark3labs/mcp-go: A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools. · GitHub

A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools. - mark3labs/mcp-go

访问网站
我的收藏179 次访问更新于 a month ago反馈
GitHub - mark3labs/mcp-go: A Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools. · GitHub screenshot

详细介绍

GitHub - mark3labs/mcp-go 介绍

mcp-go logo

简介

mcp-go 是 Model Context Protocol(MCP)的 Go 语言实现,致力于实现 LLM 应用与外部数据源和工具之间的无缝集成。该仓库目前为公开状态,拥有约 8.9k Star 与 856 Fork,采用 MIT 开源许可证,仍处于活跃开发阶段(核心功能可用,但部分高级能力尚在完善中)。

通过 mcp-go,开发者可以使用高层级、简洁的接口快速构建 MCP 服务器,复杂的协议细节与服务器管理工作由 SDK 自动处理,用户只需关注工具逻辑本身。

主要功能

  • 快速开发:提供高层级接口,减少样板代码,提升开发效率。
  • 简单易用:以极少的代码构建 MCP 服务器(如官方示例仅需定义工具与处理函数即可通过 Stdio 启动服务)。
  • 完备性目标:旨在完整实现 MCP 核心规范(仓库文档注明为“aims to provide”,即力求覆盖)。
  • 核心概念支持
    • Server:可创建 MCP 服务器并配置工具能力、恢复机制等。
    • Resources:支持资源暴露。
    • Tools:支持工具定义、参数描述(字符串、数字、枚举、必填等)及类型安全的参数获取。
    • Prompts:支持提示词相关能力。
  • 扩展能力(Extras)
    • 传输层(Transports)
    • OAuth 保护资源元数据
    • 会话管理(基础会话处理、每会话工具、工具过滤)
    • 上下文处理、请求钩子(Request Hooks)、工具处理中间件
    • 服务器代码重新生成

适用场景

  • 为大型语言模型(LLM)应用编写基于 Go 的 MCP 服务器,连接外部数据或工具。
  • 快速搭建 demo(如问候工具、计算器工具)验证 MCP 集成。
  • 在 Go 生态中需要以标准协议打通模型与本地/远程资源、API 的开发者或团队。

安装与快速上手

安装方式:

bash 复制代码
go get github.com/mark3labs/mcp-go

官方快速示例展示了创建一个带 calculate 工具的 MCP 服务器,通过 server.NewMCPServer 初始化,使用 mcp.NewTool 定义工具及参数(operation、x、y),并添加处理函数完成加、减、乘、除运算,最后通过 ServeStdio 启动。

注意:MCP Go 与 MCP 规范本身均在演进,部分高级能力仍在进行中,生产使用前建议参考仓库 README 的最新说明。