MCP学习开发资源合集2025 04月最新版
时间:2025-4-3 21:18 作者:wanzi 分类: AI项目推荐
什么是MCP
MCP 是一种开放协议,它标准化了应用程序向 LLM 提供上下文的方式。可以将 MCP 视为 AI 应用程序的 USB-C 端口。正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一种将 AI 模型连接到不同数据源和工具的标准化方式。它使 LLM 应用与外部数据源和工具之间的无缝集成成为可能。无论你是构建 AI 驱动的 IDE、改善 chat 交互,还是构建自定义的 AI 工作流,MCP 提供了一种标准化的方式,将 LLM 与它们所需的上下文连接起来。
为什么选择 MCP?
MCP 可帮助您在 LLM 之上构建代理和复杂的工作流。LLM 经常需要与数据和工具集成,而 MCP 提供:
- 越来越多的预构建集成,您的 LLM 可以直接插入其中
- 在 LLM 提供商和供应商之间切换的灵活性
- 在基础架构内保护数据的最佳实践
模型上下文协议 (MCP) 允许您构建服务器,以安全、标准化的方式向 LLM 应用程序公开数据和功能。可以将其视为 Web API,但专为 LLM 交互而设计。MCP 服务器可以:
- 通过资源公开数据(将其视为类似于 GET 端点;它们用于将信息加载到 LLM 的上下文中)
- 通过工具提供功能(类似于 POST 端点;它们用于执行代码或产生副作用)
- 通过提示定义交互模式(用于 LLM 交互的可重用模板)
总体架构
MCP 的核心是客户端-服务器架构,其中主机应用程序可以连接到多个服务器:
- MCP 主机:希望通过 MCP 访问数据的程序,例如 Claude Desktop、IDE 或 AI 工具
- MCP 客户端:与服务器保持 1:1 连接的协议客户端
- MCP 服务器:轻量级程序,每个程序都通过标准化模型上下文协议公开特定功能
- 本地数据源:MCP 服务器可以安全访问的计算机文件、数据库和服务
- 远程服务:MCP 服务器可以连接到的可通过互联网(例如通过 API)访问的外部系统
MCP Sdk 合集
MCP Python SDK
项目地址
功能概览
模型上下文协议允许应用程序以标准化方式为 LLM 提供上下文,将提供上下文的问题与实际的 LLM 交互分开。此 Python SDK 实现了完整的 MCP 规范,可轻松执行以下操作:
- 构建可连接到任何 MCP 服务器的 MCP 客户端
- 创建公开资源、提示和工具的 MCP 服务器
- 使用标准传输,如 stdio 和 SSE
- 处理所有 MCP 协议消息和生命周期事件
MCP TypeScript SDK
项目地址
功能概览
模型上下文协议允许应用程序以标准化方式为 LLM 提供上下文,将提供上下文的问题与实际的 LLM 交互分开。此 TypeScript SDK 实现了完整的 MCP 规范,可轻松执行以下操作:
- 构建可连接到任何 MCP 服务器的 MCP 客户端
- 创建公开资源、提示和工具的 MCP 服务器
- 使用标准传输,如 stdio 和 SSE
- 处理所有 MCP 协议消息和生命周期事件
MCP Java SDK
项目地址
功能概览
模型上下文协议的 Java SDK 可实现 AI 模型和工具之间的标准化集成。
功能:
- MCP 客户端和 MCP 服务器实现支持:
- 协议版本兼容性协商
- 工具发现、执行、列表更改通知
- 使用 URI 模板进行资源管理
- 根列表管理和通知
- 提示处理和管理
- AI 模型交互的采样支持
多种传输实现:
- 默认传输(包含在核心 mcp 模块中,无需外部 Web 框架):
- 基于 Stdio 的传输,用于基于进程的通信
- 基于 Java HttpClient 的 SSE 客户端传输,用于 HTTP SSE 客户端流
- 基于 Servlet 的 SSE 服务器传输,用于 HTTP SSE 服务器流
- 可选的基于 Spring 的传输(如果使用 Spring 框架则很方便):
- 用于反应式 HTTP 流的 WebFlux SSE 客户端和服务器传输
- 用于基于 servlet 的 HTTP 流的 WebMVC SSE 传输
- 支持同步和异步编程范例
- 核心 io.modelcontextprotocol.sdk:mcp 模块提供默认的 STDIO 和 SSE 客户端和服务器传输实现,而无需外部 Web 框架。
MCP Kotlin SDK
项目地址
功能概览
模型上下文协议允许应用程序以标准化方式为 LLM 提供上下文,将提供上下文的问题与实际的 LLM 交互分开。此 Kotlin SDK 实现了完整的 MCP 规范,可轻松执行以下操作:
- 构建可连接到任何 MCP 服务器的 MCP 客户端
- 创建公开资源、提示和工具的 MCP 服务器
- 使用标准传输,如 stdio、SSE 和 WebSocket
- 处理所有 MCP 协议消息和生命周期事件
MCP C# SDK
项目地址
功能概览
模型上下文协议的官方 C# SDK,使 .NET 应用程序、服务和库能够实现 MCP 客户端和服务器并与之交互。请访问我们的 API 文档,了解有关可用功能的更多详细信息。
注意:此项目处于预览阶段;可能会引入重大更改,恕不另行通知。
MCP Rusk SDK
项目地址
功能概览
使用 tokio 异步运行时的官方 rust 模型上下文协议 SDK 实现。
MCP GO SDK
项目地址
功能概览
模型上下文协议 (MCP) 的 Go 实现,实现 LLM 应用程序与外部数据源和工具之间的无缝集成
MCP Swift SDK
项目地址
功能概览
官方sdk,模型上下文协议(MCP)的快速实现。
环境要求
- Swift 6.0+ / Xcode 16+
- macOS 13.0+
- iOS / Mac Catalyst 16.0+
- watchOS 9.0+
- tvOS 16.0+
- visionOS 1.0+
MCP PHP SDK
项目地址
功能概览
非官方sdk,适用于 PHP 客户端和服务器应用程序的模型上下文协议 SDK。目前仅支持通过服务器发送事件 (SSE) 和 STDIO 作为服务器进行工具调用。 请参阅演示应用程序以获取工作示例和用于 Symfony 集成的 MCP 包。
MCP PHP Server
项目地址
-
功能概览
这是一个基于 PHP 实现的 MCP (Model Control Protocol) 服务器框架,支持通过注解优雅地定义 MCP 服务。
提供了一个完整的 MCP 服务器实现,特色功能: -
基于注解的 MCP 服务定义
-
支持 Tool、Prompt、Resource 三种处理器
-
完整的日志系统
-
Docker 支持
MCP 文档合集
- 官方:https://modelcontextprotocol.io/introduction
- mcp-docs.cn:https://mcp-docs.cn/quickstart
- 实战指南:https://www.cnblogs.com/ryanzheng/p/18781666
- 实战指南Pyton:https://www.ryanzoe.top/ai/mcp-server-develop/
- 快速入门:https://www.junki.cn/archives/WAgKrvEq
MCP Github 选集资源
Awesome MCP Servers
- 访问地址:https://github.com/punkpeye/awesome-mcp-servers
- 作用:精选的优秀模型上下文协议 (MCP) 服务器列表。
Awesome MCP Clients
- 访问地址:https://github.com/punkpeye/awesome-mcp-clients
- 作用:精选的优秀模型上下文协议 (MCP) 客户端列表。