mark3labs/mcp-go

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

解决的问题

mcp-go 是 Model Context Protocol (MCP) 的 Go 实现,它为 LLM 应用程序提供了一种安全地与外部数据源和工具集成的标准化方式。它免去了开发人员在构建这些集成时处理复杂的协议细节和服务器管理的负担。

工作原理

该 SDK 允许开发人员创建一个向 LLM 暴露三种主要能力的 MCP 服务器:

  • Resources:类似于 GET 端点,允许服务器向 LLM 的上下文提供数据(文件、API 响应、数据库查询)。
  • Tools:类似于 POST 端点,允许 LLM 通过服务器执行代码或执行操作(例如:计算、HTTP 请求、系统操作)。
  • Prompts:定义交互模式和系统指令的可重用模板,用于引导 LLM。

该库处理连接管理、协议合规性和消息路由,支持包括 stdio 在内的多种传输方式。

适用对象

需要以标准化方式向 AI 模型暴露本地数据或特定功能能力的 Go 开发者,用于构建 LLM 驱动的应用程序或插件。

亮点

  • 极简样板代码:专为快速开发 MCP 服务器而设计的高层接口。
  • 任务增强型工具:支持通过轮询进行长时间运行操作的异步执行,并具有可配置的并发限制。
  • 协议合规性:实现了 MCP 规范 (version 2025-11-25),并向后兼容多个早期版本。
  • 类型安全访问:在工具处理程序中提供用于类型安全参数访问的辅助函数。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目