掘金 人工智能 06月30日 18:36
MCP 中间件机制正式发布:FastMCP 的「责任链」进化
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

FastMCP 2.9.0 版本引入 MCP 中间件机制,旨在增强 Agent Service 的扩展性和可维护性。该中间件专为 Model Context Protocol (MCP) 设计,能够拦截、处理和修改 MCP 协议中的关键请求与响应,如工具调用、资源读取和 Prompt 请求。它支持 JSON-RPC 通信模型,并适配多种传输方式,提供钩子支持和嵌套挂载功能,方便构建插件式服务架构。FastMCP 还提供了内置中间件示例,并支持自定义中间件逻辑,从而提高系统的模块化、安全性和通用能力,构建复杂服务网络。

⚙️ **全新中间件系统**: FastMCP 引入中间件流水线,统一拦截、处理、修改 MCP 协议中的所有关键请求与响应,包括工具调用、资源读取和 Prompt 请求等。

💡 **专为 MCP 协议设计**: MCP 中间件是为 Model Context Protocol (MCP) 量身打造的,支持标准的 JSON-RPC 通信模型,并适配多种传输方式。

🔗 **钩子支持**: MCP Middleware 提供了多个扩展钩子(Hook),可以在请求生命周期的不同阶段介入逻辑处理,例如 on_call_tool、on_read_resource 等。

📦 **嵌套挂载**: 中间件支持挂载在父子服务器的不同层级,形成清晰的上下文处理链,适合构建插件式服务架构,例如父服务器挂载子服务器,并分别添加中间件。

🛠️ **内置和自定义中间件能力**: 官方提供常用中间件示例,如日志记录、耗时统计、速率限制等,用户也可通过 RawMiddleware 实现自定义中间件逻辑,从而实现架构更清晰、安全性与稳定性提升、快速构建通用能力以及支持构建复杂服务网络。

大家好,这里是 CodeAgent

为了让 Agent Service 具备更强的扩展性与可维护性,FastMCP 在 2.9.0 版本中正式引入了 MCP Middleware(中间件)机制

MCP middleware is a powerful concept that allows you to add cross-cutting functionality to your FastMCP server. Unlike traditional web middleware, MCP middleware is designed specifically for the Model Context Protocol, providing hooks for different types of MCP operations like tool calls, resource reads, and prompt requests.

────── Start ──────

📌 1. 全新中间件系统

FastMCP 现在支持构建中间件流水线,能够 统一拦截、处理、修改 MCP 协议中的所有关键请求与响应,例如:

📌 2. 专为 MCP 协议设计

与传统 Web 中间件不同,MCP 中间件是为 Model Context Protocol (MCP) 量身打造的,支持标准的 JSON-RPC 通信模型,并适配多种传输方式(如 HTTP, stdio 等).

请注意哈: 它不是 MCP 官方协议规范的一部分,而是 FastMCP 的专属增强机制.

📌 3. 钩子支持 (Hook)

MCP Middleware 提供了多个扩展钩子(Hook),可以在请求生命周期的不同阶段介入逻辑处理,如下例子:

📌 4. 嵌套挂载

中间件支持挂载在父子服务器的不同层级,形成清晰的上下文处理链,非常适合构建插件式服务架构, 提供了灵活的能力.

# Parent server with middlewareparent = FastMCP("Parent")parent.add_middleware(AuthenticationMiddleware("token"))# Child server with its own middleware  child = FastMCP("Child")child.add_middleware(LoggingMiddleware())@child.tooldef child_tool() -> str:    return "from child"# Mount the child serverparent.mount(child, prefix="child")

📌 5. 内置和自定义中间件能力

官方提供了一系列常用中间件示例, 包括:

同时我们也可以通过 RawMiddleware 抽象类,实现完全自定义的中间件逻辑.

好处是什么 ?

架构更清晰:实现关注点分离

原本分散在各处的逻辑(如权限控制、日志追踪等),现在可以统一抽象为中间件模块,提高系统的模块化与可维护性.

安全性与稳定性提升

可用于统一处理:

快速构建通用能力

例如:

支持构建复杂服务网络

结合挂载机制,支持构建 "父中间件 + 子服务" 的分层逻辑,适用于构建插件式架构.

────── End ──────

总的来说, MCP 中间件机制为 FastMCP 带来了"责任链式"的扩展架构能力,这是挺重要的一步, 期待接下来的更新.

原文直达: gofastmcp.com/servers/mid…

欢迎关注我的公众号 CodeAgent, 周末愉快.

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

FastMCP MCP 中间件 Agent Service 中间件机制 扩展性
相关文章