为什么选 FastMCP 官方 SDK 当然也能实现 MCP 服务器,但 FastMCP 提供的东西更多。可以说是一个生产级框架,内置了企业身份认证、客户端库、测试工具,还能自动生成 API 文档。 动手搭建第一个服务器 先装好 FastMCP,推荐用 uv 这个工具,依赖管理比 pip 效率高: uv pip install fastmcp 每个 MCP 服务器都从 FastMCP 类开始初始化 新建 server.py 文件: from fastmcp import FastMCP mcp = FastMCP("Demo Server ") @mcp.tool def add 启用 OAuth 认证只需要几行配置: from fastmcp.server.auth.providers.google import GoogleProvider from fastmcp 测试阶段 fastmcp run 命令足够用。生产环境可以部署到 FastMCP Cloud,它提供现成的 HTTPS 端点和认证服务。
安装核心依赖# 基础版(适合个人开发)uv add mcp>=1.9.1 requests python-dotenv # 企业版(需处理高并发)uv add fastmcp httpx uvicorn 验证安装# 创建test_install.pyfrom mcp.server.fastmcp import FastMCPprint("MCP SDK安装成功" if 'FastMCP' in globals 三、工具开发:让AI可调用的"魔法函数"案例1:实时天气查询工具# weather_tool.pyimport requestsfrom mcp.server.fastmcp import toolfrom import FastMCPfrom weather_tool import get_weatherfrom db_tool import query_sales_data mcp = FastMCP import FastMCPfrom weather_tool import get_weatherimport uvicorn mcp = FastMCP("Cloud Tools Server")
FastMCP 最引人注目的特点就是其极简的 API 设计。 有了 MCP 协议,不同的 AI 和工具之间就有了统一的语言,但这套规则只是纸上的说明书,要让它真正能用,还需要像 FastMCP 这样的落地工具。四、什么是FastMCP1. 架构流程详细说明:3.1 第一层:FastMCP 应用层 (Application Layer)这是开发者直接交互的层面,体现了 FastMCP 的"开发友好"设计哲学。 导入 FastMCP 核心类from fastmcp import FastMCP# 2. 代码说明2.1 导入核心类:from fastmcp import FastMCP作用:从 FastMCP 库中导入最核心的 FastMCP 类,这个类就像 “服务器的骨架”,包含了搭建服务、注册工具、
此外,FastMCP 包括针对高效、分布式和可扩展的 AI 驱动应用程序的优化。 使用 FastMCP 设置服务器 为了说明,考虑服务器提供的基本"greet"工具。 确保您已安装 FastMCP: ## pip install fastmcp from fastmcp import FastMCP, Client ## 初始化 FastMCP 服务器。 使用 ADK Agent 消费 FastMCP 服务器 可以将 ADK Agent 设置为 MCP 客户端,以使用正在运行的 FastMCP 服务器。 首先,打开一个新终端并运行 python fastmcp_server.py 来启动 FastMCP 服务器。 FastMCP. https://github.com/jlowin/fastmcp MCP Tools for Genmedia Services.
fastmcp MCP Server开发 FastMCP中提供了三种类型的MCP函数 Tool Resource Prompt Tool FastMCP 中的工具将常规 Python 函数转换为 LLM from typing import Annotated from fastmcp import FastMCP, Context from fastmcp.prompts import UserMessage from typing import Annotated from fastmcp import FastMCP, Context from fastmcp.prompts import UserMessage from typing import Annotated from fastmcp import FastMCP, Context from fastmcp.prompts import UserMessage from fastmcp import FastMCP, Context mcp = FastMCP(name="ContextDemo") @mcp.tool() async def process_file
测试阶段可以用 FastMCP 自带的客户端,开箱即用。 Server 暴露工具,Client 调用工具。就这么简单。 传输方式、JSON-RPC、能力协商这些都是实现细节,上生产之前不用管。 步骤 1:安装 FastMCP FastMCP 是让 MCP 用起来简单的 Python 框架。装一下就行,不需要任何配置。 pip install fastmcp 本教程不需要虚拟环境,生产环境建议还是用一个。 步骤 2:创建 Server 新建一个 my_server.py 文件: from fastmcp import FastMCP # Initialize the server with a name 步骤 5:增加更多工具 MCP 真正好用的地方在于扩展成本极低,再往 Server 里再加两个工具: from fastmcp import FastMCP from datetime import
FastMCP 是由 punkpeye 开发的一个 TypeScript 框架,旨在简化构建 MCP 服务器的流程,让语言模型无缝连接各种工具与数据资源 。 FastMCP 的出现正是解决以下痛点:难以快速搭建 MCP 服务器;工具定义与参数验证逻辑重复书写;缺少统一部署与调试工具;无法灵活支持多种传输方式。 应用场景桌面 AI 客户端集成:例如在 Claude Desktop 客户端通过 MCP 与 FastMCP 服务通信,执行自定义工具。 总结FastMCP 提供了一套简洁、轻量、高效的方式,让开发者可以快速构建符合 MCP 协议的服务器,将业务逻辑、数据资源、安全传输统一暴露给 LLM。 无论是桌面客户端集成还是 Web API 封装,FastMCP 都能以 minimal code 快速进入生产。项目地址 https://github.com/punkpeye/fastmcp
FastMCP在原有mcp-server的基础上做了哪些开发简化 MCP的经典Demo多是用low level构建,而在最新版本中推出了高级FastMCP,但工程上的简化,意味着很多功能被隐藏,所以更适合从 有了Low-Level API的基础FastMCP就好理解多了。 from mcp.server.fastmcp import FastMCP logging.basicConfig( level=logging.INFO, format='%(asctime ⚙️ 简单说下FastMCP的架构核心: FastMCP引入了3个核心管理器Tool、Resource、Prompt Manger:每个manager内部都各自实现了注册(add_tool)、获取(list_tool 接口也存在细微差异,简单说fastmcp返回值嵌套减少了一层,考虑后面都会以FastMCP为主,这里只展示FastMCP对应client的相关代码和结果 from fastmcp import Client
fastmcp库在使用uv运行代码时效果最佳。uv很容易下载和使用,类似于Poetry和pip。 使用以下命令将所需库添加到你的项目中: uv add fastmcp ollama 这会同时安装MCP服务器和Ollama聊天库,以便你在它们的基础上构建客户端和服务器逻辑。 示例MCP服务器 首先,让我们使用fastmcp库创建一个简单的MCP服务器。该服务器暴露了一个名为magicoutput的工具。这个函数接受两个字符串输入并返回一个固定的字符串作为输出。 # server.py from fastmcp import FastMCP # 创建MCP服务器 mcp = FastMCP("TestServer") # 我的工具: @mcp.tool() def obj2},魔法输出:Hello MCP,MCP Hello" if __name__ == "__main__": mcp.run() 我们运行下面命令,进行调试服务端的工具: fastmcp
本文将详细介绍如何使用FastMCP框架快速构建完整的MCP服务器,包括数学计算服务器和BMI计算服务器,并展示如何定义工具、资源和提示模板。 FastMCP框架简介FastMCP是一个用于快速构建MCP服务器的Python框架,它提供了简洁的API和强大的功能。 服务器基础结构首先创建数学计算服务器的基础结构:展开代码语言:PythonAI代码解释frommcp.server.fastmcpimportFastMCPimportmath#创建MCP服务器实例mcp=FastMCP 完整代码展开代码语言:PythonAI代码解释frommcp.server.fastmcpimportFastMCPmcp=FastMCP("BMI")@mcp.tool()defcalculate_bmi 参考资源FastMCP文档MCP协议规范Python类型注解文章标签展开代码语言:TXTAI代码解释FastMCP,MCP服务器,Python开发,工具调用,资源管理,提示模板,HTTP服务器,stdio
核心功能解析一、多语言开发支持项目覆盖Python/TypeScript/Go/Rust等主流开发语言,提供: Python系:FastMCP框架、Wolfram Alpha接口 TypeScript系 HomeAssistant智能家居设备控制嵌入式开发树莓派GPIO控制IoT设备管理多媒体处理TikTok视频交互/WhatsApp接口社交媒体内容运营三、开箱即用工具链# 示例:使用Python快速创建MCP服务from fastmcp import FastMCPapp = FastMCP()@app.tool()def get_current_time(): """获取当前服务器时间""" from datetime 200+现成服务组件技术架构解析架构层级技术实现典型组件协议层Model Context Protocol 1.2标准化API规范传输层SSE/WebSocket/HTTP2mcp-proxy网关框架层FastMCP
工具注册核心代码from fastmcp import FastMCPmcp = FastMCP("Math Server")@mcp.tool(name="calculate") # 装饰器注册工具 错误处理eventSource.onerror = (err) => { console.error("SSE连接异常:", err);};避坑指南:需添加会话ID防止消息串扰六、数学问答应用开发(FastMCP = await client.call_tool(tool_call.name, tool_call.params) return result[0].text # 返回文本结果七、FastMCP V2框架进阶特性革命性改进统一端点管理:mcp = FastMCP("AI Server", endpoint="/mcp") # 单端点支持POST/GET/SSE上下文共享:@mcp.tool( request.client} called {request.url.path}") return await call_next(request)九、从开发到部署全流程源码与资源:MCP协议规范FastMCP
核心开发步骤 定义工具函数(Tools) • 使用@mcp.tool()装饰器暴露函数能力,并通过文档字符串描述功能(供大模型理解用途): # custom_mcp.py from mcp.server.fastmcp import FastMCP import os mcp = FastMCP() @mcp.tool() deflist_desktop_files() -> list: """获取当前用户桌面上的所有文件列表 完整示例 # custom_mcp.py from mcp.server.fastmcp import FastMCP import os mcp = FastMCP() @mcp.tool() def
天气查询 → 封装为get_weather(city)函数数据库操作 → 封装为sql_query(query)函数本地命令执行 → 封装为run_command(cmd)函数二、方案一:Python + FastMCP 适合轻量级工具)环境准备# 创建Python环境(推荐uv)uv init mcp-demo && cd mcp-demouv venv && source .venv/bin/activateuv add fastmcp requests # 核心依赖工具函数开发from fastmcp import FastMCPimport requestsmcp = FastMCP(name="Weather Tools")@ mcp.session.set("order_expire", "2025-12-31 23:59:59")六、避坑指南:安全与性能优化实践敏感数据隔离使用环境变量存储API密钥Higress网关自动过滤非常规参数执行超时控制在FastMCP 中设置超时阈值:mcp = FastMCP( name="SafeTools", tool_timeout=10 # 强制超时(秒) )SSE模式心跳检测避免长连接中断:# Higress
我最初的实验是使用 FastMCP Python 框架以及 Anthropic 和 OpenAI 的 API 创建 MCP 服务器,以便 AI 访问 PostgreSQL 数据库。 使用 FastMCP 创建 MySQL MCP 服务器 正如我在第一篇博客文章中解释的那样, FastMCP 框架[2]为我们完成了大部分工作。 在最简单的实现中,我们需要做的就是指示如何访问我们的 MySQL 数据库: import json import mysql.connector from fastmcp import FastMCP mcp = FastMCP(name="MySQL demo") @mcp.tool() def query_data(sql_query: str) -> str: '''Execute MySQL FastMCP 客户端和 Gemini 客户端: from fastmcp import Client from google import genai mcp_client = Client("http
www.percona.com/blog/how-can-ai-talk-to-my-database-part-two-mysql-and-gemini/,July 18, 2025 我最初的实验是使用 FastMCP 使用 FastMCP 创建 MySQL MCP 服务器 正如我在第一篇博客文章中解释的那样, FastMCP 框架[2]为我们完成了大部分工作。 在最简单的实现中,我们需要做的就是指示如何访问我们的 MySQL 数据库: import json import mysql.connector from fastmcp import FastMCP mcp = FastMCP(name="MySQL demo") @mcp.tool() def query_data(sql_query: str) -> str: '''Execute MySQL FastMCP 客户端和 Gemini 客户端: from fastmcp import Client from google import genai mcp_client = Client("http
// 引入 FastMCP 和 zodimport { FastMCP } from "fastmcp"; // 用于创建 MCP 服务器的库import { z } from "zod"; // 用于参数校验 // 创建一个 MCP 服务器实例const server = new FastMCP({ name: "calculator", version: "1.0.0",});// 添加一个工具,处理加法计算 20行极简代码、无typescript配置、原生nodejs直接运行 Note:本MCP教程项目代码中所使用的FastMCP是基于MCP官方SDK封装的、更简洁易用的MCP服务端构建库,更详细的信息请访问 FastMCP官方文档在上述代码中添加减法工具代码如下:/** 在加法计算工具代码后添加以下代码 start **/// 再添加一个工具,处理减法计算server.addTool({ name: "
今天我们就来探讨使用FastMCP框架进行采样的概念、实现和应用。一、MCP 采样:概念与核心动机LLM 采样(Sampling) 正是为解决这一矛盾而设计的创新机制。 FastMCP 等框架抽象了底层传输细节(stdio, SSE, WebSocket 等)。安全边界: 采样请求严格限定为请求文本生成。 上下文对象 (ctx): 在 FastMCP 中,服务器工具函数通过 Context 对象(通常命名为 ctx)访问采样功能(ctx.sample())。 FastMCP 实现示例 # 服务器端 (FastMCP Server - Blue)from fastmcp import tool, Context@toolasync def analyze_data final_result = process_analysis(llm_analysis, input_data) return final_result# 客户端 (FastMCP Client
fast-mcp>=1.5" mcp-toolkit anthropic-mcp # 验证安装 python -c "from fast_mcp import __version__; print(f'FastMCP 启动Mock MCP服务端 创建 demo_server.py: from fast_mcp import FastMCP, MCPTool @MCPTool(name="greet") def 当前用户: {context.get('user')}" if __name__ == "__main__": server = FastMCP(port=8080) server.register_tool VS Code推荐插件 插件名 作用 安装ID MCP Inspector 协议调试可视化 anthropic.mcp-inspector FastMCP Runner 一键启停服务 fast-mcp.runner 修复方案:在服务端添加CORS支持 # 在demo_server.py中添加 from fast_mcp.middleware import CORSMiddleware server = FastMCP
也有很多爬虫项目,包括模拟的接口的, 本文不关心数据的上游生产,只考虑基金数据作为消费者如何通过 MCP Server 暴露给大模型, 首先定义一个 MCP 服务实例, from mcp.server.fastmcp import FastMCP # 创建 MCP 实例 mcp = FastMCP( name="FundTrendQuery", instructions="一个基金涨跌查询器,可根据基金代码和时间段返回净值和涨跌详情 主要有三种传输格式,这里使用 SSE transport 行业新闻数据 MCP Server 这个流程其实和基金涨跌数据差不多,照猫画虎就行,直接贴代码,不再赘述, from mcp.server.fastmcp import FastMCP mcp = FastMCP(name="NewsQuery", instructions="一个新闻提取器,可根据关键词和时间段查询新闻数据