08.FastMCP设计、原理与应用
文章平均质量分 74
FastMCP设计、原理与应用
JaydenAI
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[FastMCP设计、原理与应用-19]客户端采样:让客户端成为MCP服务端的“大脑”
LLM采样功能允许您的MCP工具在执行期间向客户端LLM请求文本生成。这使得工具能够利用AI功能进行分析、生成、推理等操作,而无需客户端协调多次调用。原创 2026-04-27 08:54:27 · 727 阅读 · 0 评论 -
[FastMCP设计、原理与应用-18]Elicitation:构建双向反馈的Agent
`Elicitation`是我们可以在工具执行期间请求用户的结构化输入。它允许工具无需预先要求所有输入,而是可以根据需要交互式地询问缺失的参数、澄清说明或补充上下文信息。启发功能使工具能够暂停执行并向用户请求特定信息原创 2026-04-26 08:47:00 · 742 阅读 · 0 评论 -
[FastMCP设计、原理与应用-07]FastMCP核心组件:资源和资源模板
原语(Primitive)是MCP规范中最为核心的概念,我们在“Primitive——MCP最核心的概念”的四大核心原语(工具、静态资源、动态资源模板和提示词)进行了系统介绍。FastMCP实现了这个四个原语,并将它们统称为“组件”,对应的类型以`FastMCPComponent`为基类,本篇文章主要介绍与资源相关的两原创 2026-04-15 08:51:53 · 568 阅读 · 0 评论 -
[FastMCP设计、原理与应用-10]一个实例让你彻底理解FastMCP的架构设计
整个FastMCP服务器的架构设计可谓可圈可点,这里我们主要围绕`Provider`、`Middleware`和`Transform`这三个核心对象来介绍FastMCP服务的架构设计。如果你希望能够灵活自由地使用FastMCP搭建你的MCP服务器,了解这三个核心对象也是必需的。原创 2026-04-18 08:16:17 · 827 阅读 · 0 评论 -
[FastMCP设计、原理与应用-11]Transform:数据炼金术,跨协议边界的无缝适配与格式转换
`Transform`核心作用是在MCP服务器处理请求的生命周期中,允许我们拦截、修改或过滤工具、资源(包括静态资源和动态资源模板)和提示词(模板)的读取。原创 2026-04-19 08:49:24 · 590 阅读 · 0 评论 -
[FastMCP设计、原理与应用-14]FastMCP:架构之魂,构建MCP应用的统一入口与调度中枢
作为一个MCP服务器,FastMCP在底层需要建立一个面向传输(STDIO、SSE和Streamable-HTTP)的服务器用于建立和维护于客户端的连接,并在此基础上完成与客户端的消息交互。具体的消息交互具有如下几种模式原创 2026-04-22 08:55:01 · 831 阅读 · 0 评论 -
[FastMCP设计、原理与应用-17]从服务器向客户端的反向通知
从通信或者消息交换模式来看,前面涉及的都是从客户端发送请求到服务器并得到对应的响应,这是典型的从客户端到服务器的请求/响应模式,接下来我们介绍两种从服务器向客户端的反向通信模式。原创 2026-04-25 08:54:33 · 927 阅读 · 0 评论 -
[FastMCP设计、原理与应用-16]Context:工具函数所需的所有上下文信息都在这里
工具执行不仅仅依赖于输入参数和资源,还需要依赖于一些上下文信息,工具执行过程中所需的所有上下文信息都可以利用以参数注入的`fastmcp.server.Context`来提供。不仅如此,这个Context还利用定义其中的方法实现了资源和提示词的消费、会话状态的维护以及资源可见性控制等操作。从服务端向客户端的反向请求和通知也是通过Context来完成的,对于FastMCP服务端编程来说,我个人认为这是最为重要的一个类型。原创 2026-04-24 09:08:42 · 636 阅读 · 0 评论 -
[FastMCP设计、原理与应用-15]挂载一个MCP服务器就像挂载一个目录一样容易
随着应用程序的增长,我们需要将其拆分为多个功能专一的服务器(例如一个用于天气,一个用于日历,一个用于管理后台),并通过挂载(Mount)的方式将它们合并成一个客户端连接的单一服务器。挂载服务器后,其所有工具、资源和提示都会通过父进程变为可用状态。连接是实时的,挂载后向子进程添加工具,该工具会立即在父进程中可见。原创 2026-04-23 08:47:51 · 503 阅读 · 0 评论 -
[FastMCP设计、原理与应用-13]Middleware:守门人的艺术,在拦截与增强间重塑执行逻辑
和一般意义中间件(比如Web框架的中间件)一样,FastMCP服务器将注册的中间件按照顺序构建为一个调用链。请求在交付给最终的处理器之前,会流经这个链,使得每个中间件得以完成相应的前置操作。待处理器完成请求的处理后,处理的结果反向流经这个链,每个中间件提供的后置操作得以执行。原创 2026-04-21 08:35:29 · 798 阅读 · 0 评论 -
[FastMCP设计、原理与应用-12]Provider:组件装载机,为框架按需配置功能单元与底层设施
当客户端连接到您的服务器并询问“您有哪些组件(工具、资源、提示词和任务等)?”时,FastMCP会向每个`Provider`询问该问题并将结果汇总。当客户端调用某个工具读取指定资源时,FastMCP会查找哪个`Provider`拥有该工具或者资源,并将调用委托给该它。我们可以将`Provider`视为组件的来源,一个FastMCP服务器可以注册多个`Provider`。现在我们来介绍作为组件提供者的`Provider`。原创 2026-04-20 08:17:16 · 709 阅读 · 0 评论 -
[FastMCP设计、原理与应用-09]让工具以后台任务形式调度执行
FastMCP针对后台任务协议的实现主要依赖于`Docket`和`Worker`,前者作为任务调度器负责创建任务并将其置于队列中,后者作为工作节点从队列中提取任务予以执行。FastMCP会默认创建一个`Worker`,我们可以采用代码或者命令行的形式创建多一个`Worker`。在介绍`Docket`和`Worker`之前,我们先通过一个简单的实例演示一个后台任务是如何被`Docket`调度并最终在某个`Worker`中执行的。原创 2026-04-17 08:22:03 · 749 阅读 · 0 评论 -
[FastMCP设计、原理与应用-08]FastMCP核心组件:工具和提示词
原语(Primitive)是MCP规范中最为核心的概念,我们在“Primitive——MCP最核心的概念”的四大核心原语(工具、静态资源、动态资源模板和提示词)进行了系统介绍。FastMCP实现了这个四个原语,并将它们统称为“组件”,对应的类型以FastMCPComponent为基类,“[上篇]”介绍了两个与资源相关的组件,这篇介绍余下的两个,即工具和提示词。原创 2026-04-16 08:35:08 · 733 阅读 · 0 评论 -
[FastMCP设计、原理与应用-06]MCP工具函数参数形式注入原理
MCP规范中的原语(工具、静态资源、动态资源模板和提示词)在FastMCP中被统一称为组件,它们都有一个共同的基类`FastMCPComponent`,后者派生自`FastMCPBaseModel`。由于组件常被定义成函数形式,函数除了定义需从外部提供的参数(比如调用工具提供的输入参数)之外,我们还可以采用依赖注入的形式定义一些参数来提供上下文信息。原创 2026-04-14 08:53:37 · 622 阅读 · 0 评论 -
[FastMCP设计、原理与应用-05]Primitive:MCP最核心的概念
工具、资源和提示词在[MCP规范]被同一命名为原语(Primitive)。在计算机科学中,Primitive指的是不可分割、最基础的构建块。MCP官方文档将这三者定义为原语,是为了明确它们是构成AI与外部数据/环境交互的最基础元素:原创 2026-04-13 08:44:05 · 698 阅读 · 0 评论 -
[FastMCP设计、原理与应用-04]正常交流之前,先了解对方的能力!
MCP协议针对服务器和客户端定义了很多特性,它们并非在所有的MCP服务器和客户端中都会被支持,所以客户端和服务器在交互的初始阶段需要交换彼此支持的特性集,这是接下来得以正常工作的基础。原创 2026-04-12 08:25:33 · 702 阅读 · 0 评论 -
[FastMCP设计、原理与应用-03]三种传输协议有何不同?
FastMCP是对[MCP规范]的实现,其消息内容统一采用JSON-RPC 2.0格式。在底层传输层面,FastMCP主要支持In-Memory,STDIO 、Streamable-HTTP和SSE协议。原创 2026-04-10 08:48:03 · 842 阅读 · 0 评论 -
[FastMCP设计、原理与应用-02]以命令行和客户端与MCP服务器交互
在"Hello, MCP"中,我们采用HTTP传输协议搭建了一个简单FastMCP服务器,并直接采用HTTP请求的形式完整MCP的基本操作,包括读取组件列表、调用工具、读取资源和渲染提示词等操作。接下来我们来演示其他两种交互方法,一是使用fastmcp命令行,而是以编程的方式是客户端SDK。原创 2026-04-09 08:41:27 · 731 阅读 · 0 评论 -
[FastMCP设计、原理与应用-01]Hello, MCP
我觉得目前Agent技术圈存在一个很不好的风气,很多人为了博眼球总喜欢抛出一下“语不惊人死不休”的言论,动不动就说什么“XXX已死,XXX才是唯一的未来”。这两个月来,我们已经看到太多人把MCP判了死刑,有些人的理由是:MCP将所有的工具绑定给LLM,选择过多反而让LLM“无从选择”,同时让上下文极具膨胀,导致推理质量下降。原创 2026-04-08 08:34:14 · 740 阅读 · 0 评论
分享