这个项目能做什么

mcp-go 是模型上下文协议(MCP)的 Go 实现,该协议是一种标准化协议,支持 LLM 应用与外部数据源和工具之间的安全集成。该项目提供了一个高级且易于使用的 SDK,用于在 Go 中构建 MCP 服务器。 主要功能包括: - 通过高级接口快速开发,减少样板代码 - 以最少的设置代码创建简单的服务器 - 旨在完整实现核心 MCP 规范 该 SDK 实现了 MCP 规范版本 2025-11-25,并向后兼容版本 2025-06-18、2025-03-26 和 2024-11-05。 涵盖的核心概念: - 服务器:核心接口,负责连接管理、协议合规性和消息路由 - 资源:通过静态或动态 URI 模板(类似于 GET 端点)向 LLM 暴露数据 - 工具:通过可执行的操作提供功能,这些操作具有副作用(类似于 POST 端点),包括支持用于长时间运行操作的任务增强工具 - 提示:用于 LLM 交互的可重用模板,支持参数、嵌入资源和多种消息类型 传输支持包括 stdio、SSE(服务器发送事件)和流式 HTTP。HTTP 传输可以通过传输无关的 Handle 入口点嵌入到非 net/http 框架(如 fasthttp 或 fiber)中。 其他功能包括 OAuth 受保护资源元数据(RFC 9728)、用于基于浏览器的客户端的 CORS 支持、带有每会话工具和工具过滤的会话管理、请求钩子和工具处理程序中间件。 该项目正在积极开发中,核心功能可用,但一些高级功能仍在进行中。