FastAPI转MCP服务研究报告

🎯 核心结论 问题:如何让LLM直接调用我的FastAPI网页抓取服务? 答案:完全可行,推荐使用FastMCP方案! 完全可行,推荐使用FastMCP方案 FastMCP是最佳解决方案,能够将现有的FastAPI网页抓取服务无缝转换为MCP服务,实现LLM直接调用。 关键发现: ✅ 技术成熟:FastMCP提供完整的Python SDK,支持装饰器式开发 ✅ 零业务逻辑修改:现有FastAPI代码无需改动,只需添加MCP层 ✅ 快速部署:几行代码即可完成MCP服务搭建 ✅ 完美集成:与Claude Desktop等LLM客户端无缝集成 ✅ 向后兼容:原FastAPI服务继续正常运行,不影响现有功能 📋 研究背景 现状分析 现有服务:FastAPI网页抓取服务,运行在本地8001端口 功能需求:希望LLM能够直接调用抓取功能 技术挑战:需要将REST API转换为MCP协议 集成需求:与Claude Desktop等LLM客户端集成 MCP协议概述 Model Context Protocol (MCP) 是一种标准化的协议,用于LLM与外部工具的通信: Tools:LLM可调用的工具函数 Resources:提供给LLM的数据资源 Prompts:可重用的提示模板 Context:请求上下文和会话管理 🚀 技术方案对比 方案一:FastMCP直接转换 ⭐⭐⭐⭐⭐(推荐) 实现原理:使用FastMCP Python SDK,通过装饰器将现有函数包装为MCP工具 优势: 🎯 开发简单,装饰器语法 🔄 复用现有业务逻辑 🏗️ 完整的MCP功能支持 🔧 类型安全和Pydantic集成 📊 丰富的上下文管理 劣势: ⚙️ 需要手动维护MCP接口 🔄 双重接口维护成本 适用场景:需要快速实现,希望保留完整控制权的场景 方案二:OpenAPI-MCP自动转换 ⭐⭐⭐⭐ 实现原理:通过FastAPI的OpenAPI文档自动生成MCP工具 优势: ⚡ 零代码修改,自动转换 🔄 实时同步API变更 📊 支持完整的OpenAPI规范 🔍 自动生成工具描述 劣势: ...

September 14, 2025 · 数居老Z

Claude Code 代理切换教程 - Windows 用户指南

🚀 常用命令速查 # 查看帮助 ai-help # 切换到智谱AI ai-env zhipu # 切换到Anytop AI ai-env anytop # 切换到Kimi AI (Moonshot) - 默认慢速版 ai-env kimi # 切换到Kimi AI - 高速版 ai-env kimi-turbo # 重置为默认 Anthropic Claude ai-env # 使用简短别名切换 ce zhipu ce kimi # 默认慢速版 ce kimi-turbo # 高速版 ce anytop # 查看当前环境变量 echo $env:ANTHROPIC_BASE_URL echo $env:ANTHROPIC_AUTH_TOKEN # Windows PowerShell 临时设置 Kimi 慢速版模型(默认) $env:ANTHROPIC_BASE_URL="https://api.moonshot.cn/anthropic" $env:ANTHROPIC_AUTH_TOKEN="YOUR_MOONSHOT_API_KEY" $env:ANTHROPIC_MODEL="kimi-k2-0711-preview" $env:ANTHROPIC_SMALL_FAST_MODEL="kimi-k2-0711-preview" # Windows PowerShell 临时设置 Kimi 高速版模型 $env:ANTHROPIC_BASE_URL="https://api.moonshot.cn/anthropic" $env:ANTHROPIC_AUTH_TOKEN="YOUR_MOONSHOT_API_KEY" $env:ANTHROPIC_MODEL="kimi-k2-turbo-preview" $env:ANTHROPIC_SMALL_FAST_MODEL="kimi-k2-turbo-preview" # 编辑 PowerShell Profile notepad $PROFILE # 重新加载 PowerShell Profile . $PROFILE 📖 教程目录 系统要求 安装步骤 配置API Token 使用方法 支持的AI服务 故障排除 高级配置 系统要求 Windows 10/11 PowerShell 5.1 或更高版本 Claude Code CLI 已安装 各AI服务的有效API Token 安装步骤 步骤 1: 检查 PowerShell Profile # 查看 Profile 路径 $PROFILE # 检查是否存在 Test-Path $PROFILE 步骤 2: 创建或编辑 Profile 如果 Profile 不存在,创建它: ...

August 22, 2025 · 数居老Z

Claude code MCP 完整指南 2508

MCP 完整指南 - Claude Code Model Context Protocol 目录 1. 概述与快速开始 1.1 什么是MCP 1.2 5分钟快速开始 1.3 MCP生态系统概览 2. MCP服务器完整列表 2.1 Web自动化与浏览器 2.2 文件系统与开发工具 2.3 云服务与API 2.4 数据库与存储 2.5 AI与机器学习 2.6 通信与消息 2.7 系统与监控 2.8 其他实用工具 3. 最佳实践与配置 3.1 配置文件最佳实践 3.2 安全配置 3.3 性能优化 3.4 故障排除 4. 实际应用示例 4.1 开发环境自动化 4.2 测试自动化 4.3 数据抓取与处理 4.4 CI/CD集成 4.5 项目实战案例 5. Playwright专题 5.1 Playwright安装与配置 5.2 全局可用性说明 5.3 Playwright使用示例 5.4 常见问题解决 6. 高级主题 6.1 自定义MCP服务器开发 6.2 MCP服务器管理与维护 6.3 企业级部署 7. 附录 7.1 常见问题FAQ 7.2 参考资料 7.3 术语表 1. 概述与快速开始 1.1 什么是MCP MCP (Model Context Protocol) 是Claude Code的扩展协议,允许AI助手访问外部工具和服务。通过MCP,Claude可以: ...

August 20, 2025 · 文九歌

极简个人AI创作流系统v1.0 - 3) 工作流创建

前言 本篇是系列的终章。在拥有了强大的“洞察引擎”和自动化的“发布引擎”之后,我们将引入“行动引擎”,并将三者完美连接。其最终目标是为您呈现一套终极日常工作流,让您在深度思考与高效执行之间无缝切换,实现反脆弱的个人成长。本文是一个参考,让结构为你自己服务,实现人机协同。 引入行动引擎:Notion / 飞书 我们需要明确两个核心工具的定位: Obsidian 是“思想家”:它负责回答“为什么做”和“长期是什么”。它是一个用于深度思考、知识沉淀和网络化联想的非线性空间。 Notion/飞书是“执行者”:它负责回答“具体怎么做”和“本周做什么”。它是一个用于项目管理、任务分解和团队协作的线性空间。 核心传动轴:双向深度链接 要让思想家和执行者高效对话,我们需要建立一条稳固的“传动轴”。 从 Obsidian 到 Notion/飞书: 在 Obsidian 笔记中,直接粘贴 Notion 页面或飞书文档的 Web 链接。 从 Notion/飞书到 Obsidian: 在 Notion 页面或飞书文档中,粘贴指向 Obsidian 特定笔记的 URI 链接。 Obsidian URI 格式: obsidian://open?vault=库名&file=文件名 (请确保文件名经过 URL编码,Obsidian 有插件可以一键复制此链接) 终极闭环工作流:从思想到行动,再到智慧 这是您未来每天、每个项目都可以遵循的优雅而高效的运行方式。 黄金法则 开始工作前先 git pull,结束工作后就 git push。 这能确保您的思想库在多设备间始终同步,且历史版本安全可追溯。 阶段一:播种与孕育 (在 Obsidian 中) 一切始于一个想法。 您获得一个项目灵感,例如“用 AI 赋能内容创作”。在 00_INBOX 或 20_PERMANENT 中创建相关笔记,进行自由的头脑风暴,链接已有的相关知识,让想法自然生长。 阶段二:从构想到规划 (连接两大引擎) 当想法成熟,准备付诸行动时。 在 Notion 或飞书中创建相应的项目看板,将宏大的构想分解为可执行的任务,并设定好时间线。 建立连接:复制 Notion/飞书 的项目链接,粘贴到 Obsidian 的源头笔记顶部;同时,复制 Obsidian 笔记的 URI,粘贴到 Notion/飞书 的项目页面顶部。至此,双向链接建立,成长闭环形成! 阶段三:执行与追踪 (在 Notion/飞书中) 这是日常战斗的主战场。 ...

August 18, 2025 · 文九歌

极简个人AI创作流系统v1.0 - 2)设计您的“思想炼金炉”

这是系列的第二篇文章,将重点放在 Obsidian 内部的结构设计和工作流上,使其成为一个强大的思想引擎,以下的结构只是一个参考,每个人的思维路径不一样,让结构为自己服务,这是根本出发点。 前言 在上一篇中,我们成功搭建了技术基石。然而,仅仅拥有工具是不够的。本篇将为您注入灵魂,将您的 Obsidian 库从一个简单的文件夹,升级为一个能够持续产生“啊哈!”时刻的、有生命力的思想花园。 核心定位:您的私密思想宇宙 在我们的系统中,Obsidian 的角色是思想的炼金炉 (Alchemy Furnace):它负责将零散的灵感(铅),通过深度连接和思考(炼金过程),提炼成永恒的智慧(金)。 高保真 Obsidian 库结构设计 一个精心设计的结构是知识复利的基础。请在您的 my-second-brain 库中,创建以下文件夹结构,这套结构是为知识的完整生命周期而设计的。 00_INBOX - 灵感缓冲区 角色:所有灵感的统一入口,思想的临时停泊港。 用途:所有未经处理的想法、网页剪藏、语音笔记、一闪而过的念头,第一时间存入这里。核心目标是实现零摩擦捕捉。 10_LITERATURE - 外部知识消化室 角色:您对外部世界知识的加工与吸收车间。 用途:存放您对书籍、文章、课程的摘要和笔记。这是将外部知识转化为“你自己的话”的第一步。 20_PERMANENT - 永恒智慧沉淀区 角色:思想炼金炉的核心,您个人知识网络的基石。 用途:存放“原子化”的常青笔记。每条笔记只包含一个核心概念,用你自己的语言书写,并与其他笔记进行深度链接。这是您知识复利的主要发生地。 30_CREATIONS - 思想组装车间 角色:将智慧转化为成品的输出端口。 用途:当您准备撰写一篇博客文章时,在这里创建一个“创作笔记”,通过块引用和链接,将 20_PERMANENT 中的原子笔记像乐高一样组装成一篇完整的作品。 40_MOCS_AND_HUBS - 个人维基索引 角色:您的知识导航地图。 用途:存放“内容地图”(Map of Content, MOC)。例如,一张“AI 知识地图”笔记,可以链接所有与 AI 相关的原子笔记和文献笔记,为您提供一个主题的宏观鸟瞰图。 myBlog/content - 公共发布区 角色:这是 Hugo 的魔法发生地。 用途:所有放在这里的文章,才有可能被发布到您的公开网站上。它是思想从私密走向公开的最后一道门。 PRIVATE - 绝对隐私空间 角色:您完全私密的个人日记本。 用途:存放日记、草稿、个人反思等一切不打算公开的内容。 防火墙设置:为了确保绝对隐私,请打开项目根目录的 .gitignore 文件,在末尾添加一行 PRIVATE/。此文件夹的内容将永远不会被上传到 GitHub。 ...

August 18, 2025 · 文九歌

极简个人AI创作流系统v1.0 - 1) 笔记环境构建

系列引言 | 核心哲学 您即将构建的,远不止是一个博客或一个笔记系统。这是一个活的、能自我进化的“思想操作系统”。 它由三大核心引擎驱动,旨在将您零散的灵感,系统性地转化为深刻的洞察,并最终自动化地发布为影响世界的内容。我们将这套系统称为“个人成长号”星舰,它将带您航向知识的深海。 🚀 洞察引擎 (The Insight Engine):以 Obsidian 为核心,这是您私密的、网络化的“第二大脑”,负责长期思考、深度连接与知识沉淀。 ⚙️ 行动引擎 (The Action Engine):以 Notion/飞书 为代表,这是您高效的“项目舰桥”,负责中期规划、短期执行与任务管理。 🌍 发布引擎 (The Publishing Engine):由 Hugo + Git + Vercel/Cloudflare 构成,这是一条忠诚、高效的自动化流水线,负责将您的思想结晶完美呈现给全世界。 本系列将分为三篇,从构建思想到自动化发布,再到日常的完美融合,手把手带您打造这艘属于您自己的星舰。 第一章:思想驾驶舱初始化 (Obsidian & Hugo) 本篇的目标是完成所有技术基建工作,为您打造一个坚实的本地思想库和一条直通全球的自动化发布管道。 1. 安装核心工具链 (Windows) 首先,我们使用包管理器 Chocolatey 在 PowerShell 中一键安装所有必需品。 # 安装网站生成器Hugo和版本控制工具Git choco install hugo-extended git -y 2. 创建 Hugo 项目骨架 现在,我们来创建您未来网站的“骨架”。 重要提示:为了方便管理,我们采用二级目录结构。首先创建一个根目录(例如 my-second-brain),然后在根目录内创建 Hugo 站点(例如 myBlog)。 # 切换到您选择的工作目录,例如 D:\ cd D:\ # 创建根目录 mkdir my-second-brain cd my-second-brain # 在根目录内创建Hugo站点 hugo new site myBlog 3. 让 Obsidian 接管项目 现在,我们将强大的 Obsidian 作为我们思想库的图形化前端,与整个项目连接起来。 ...

August 18, 2025 · 文九歌

通过 Cursor + Claude Code + API 模式提升开发效率

本指南专为 Windows 用户设计,将指导您如何在 Cursor 编辑器中配置和使用 Claude Code,并接入强大的第三方大模型 API。 第一步:安装 Node.js 1Claude Code 需要 Node.js 环境才能运行,并且版本需要大于或等于 18.0。 **下载安装包:**打开浏览器,访问 Node.js 官方网站。网站首页会推荐两个版本,请点击下载 LTS (Long Term Support / 长期支持版) 版本的安装包。 **安装 Node.js:**双击下载好的 .msi 安装文件。按照安装向导的提示,一路点击“Next”即可完成安装。安装程序会自动将 Node.js 添加到你的系统路径中。 **验证安装:**打开 Cursor,通过快捷键 `Ctrl + `` 打开内置终端。输入以下命令并按回车。如果能看到对应的版本号,就说明安装成功了。 注意:如果在安装 Node.js 之前 Cursor 已经是打开状态,请务必重启 Cursor,这样内置终端才能识别到新安装的 Node.js。 node -v npm -v 第二步:安装 Claude Code 2在 Cursor 的终端中,输入下面的命令来安装 claude-code 工具: npm install -g @anthropic-ai/claude-code 安装完成后,终端光标会回到新的一行且没有红色错误提示。 第三步:获取第三方 API 密钥 3选择一个您想使用的模型,并获取其 API Key。API Key 是您调用服务的身份凭证。 获取智谱AI (Zhipu GLM) API Key:点击注册智谱AI。新用户会赠送大量免费额度。 获取月之暗面 (Kimi) API Key:访问 Kimi 开发者平台。注册后在“API密钥”页面创建您的 Key。 关键优势:惊人的性价比与速度 关键是价格,国产模型的价格都非常良心,但这次智谱官方放出的 GLM-4.5 API 价格还是相当惊人。没有对比就没有伤害,看看它和 Claude 官方模型的 API 价格: ...

August 6, 2025 · 文九歌

为AI共创改进新的笔记系统

你是不是学了一个又一个笔记组织方法,PARA,卡片式笔记法,每次学到个新的方法就像发现了新大陆,充满好奇地开始了堆山工程,直到大山满到你根本不想打开,然后换个笔记软件再开始一个新方法? 你是否意识到一个资料室的资料是没有意义的,直到有一天你忽然发现里面又一段历史,指导了你理解解决了某个问题。 今天,外面充斥了AI+的声浪和席卷一切的浪潮,在这个时候,你是否也会思考,笔记为的什么,如何逃离这个记忆的诅咒。 我的回答是:别再为自己记笔记了,开始为AI写。 这话听着有点疯,我知道。 但你听我说完。我们以前记笔记,是想对抗遗忘。现在AI来了,它的记忆力比我们好一万倍。我们还跟它拼“存储”?那不是拿自己的短处去碰人家的长处么? 要知道,AI最缺的,不是信息。它缺的是上下文。 它缺的是一个想法,怎么从一个傻问题开始,中间拐了多少弯,最后变成了什么样。它缺的是看到你在两个矛盾的观点之间,是怎么挣扎、怎么权衡的。 这才是我们作为人类,最应该拿出来的东西。 所以,大道至简,不要试图构建一个完美的“第二大脑”。要立即动手构建一个“认知基因组”——一个能让AI读懂你思考“DNA”的系统。 这篇东西,就是我摸索出来的几个土办法。 第一条:保护那条磕磕绊绊的“故事线” 别再迷信“原子化”了。保护一个想法的“故事线”,比把它拆成完美的知识点更重要。 比如学“摄影”,在🌳 艺术探索主干.md里,AI看到的不是一个完美的定义,而是这样一条挣扎的路线: 2025-08-10: 🎯 光圈(Aperture)就是控制进光量的孔,F值越小,光圈越大,越亮。 2025-08-15: ❓ 怪了,为啥我用大光圈拍人像,背景会糊掉?这跟亮度有啥关系?我之前的理解肯定漏了什么。 2025-08-20: 🎯 我靠,原来是这样!光圈不只管亮度,还直接管景深!这不是个技术问题,这是个艺术选择,是个权衡。 第二条:保留原始的混乱现场 摒弃完美主义,保留思考的现场。那些自我怀疑、脑子里的吐槽、没想明白的问题,跟最后得出的结论一样重要。 比如设计一个API,笔记可能是这样: ### 2025-09-01: API设计构思 💡 或许可以把用户认证和数据获取分开。 <!-- 等等,这样前端请求次数不就多了?性能上划不来。--> ❓ 怎么在保证安全的同时,别把认证搞得那么复杂? 🎯 初步结论:上JWT方案。第一次认证拿Token,后面都带Token请求,省得老查数据库了。[[_S_ JWT工作原理.md]] 第三条:你是源,AI是流 人,负责提供原生的、混乱的、充满直觉和跳跃的思考。AI,负责干脏活,基于人的这些“原始数据”,去做那些整理、关联、搜索的脏活累活。 比如你是个创业的,在🌳 创业日志主干.md中记录:🔥 感觉团队对A方向很兴奋,但我内心深处对它的市场规模有种莫名的担忧。数据支持A,但我的直觉在报警。 人的角色就是提供这种原始的、充满情绪的数据。AI的角色呢?干活:“扫描我过去一个月的创业日志,找出‘数据支持’和‘直觉报警’同时出现的模式,并链接所有相关的[[会议纪要]]和[[市场报告]],生成一份《潜在战略风险评估报告》初稿。” 所以,我那套东西现在长啥样? 精简,节省判断成本。文件结构,简单到有点可笑。 👑 MOC (史诗目录) 整个知识库的最高入口。比如👑 我的人生哲学.md。它里面啥都没有,只有一堆按时间顺序链接的我每一个独立的“思想纪元主干”,旁边再加点你的吐槽和评注。 🌳 纪元主干 (史诗的每个章节) 某个“纪元”(比如一年)里的核心思考区。比如🌳 AI主干 - 纪元一:起源 (2024-2025).md。这是我日常写东西的主战场。每个主干的大小控制在一定范围内,这样不管是人还是AI,处理起来都不会“噎着”。 _S_ 深潜笔记 (想法的显微镜) 当“主干”里某个点,可以单独、深入地研究一下了,就新建一个“深潜”笔记。它特像RAG里的“检索”步骤——从巨大的长期记忆(主干)里,精准地捞出一个相关的“块”,加载到工作记忆里好好打磨。 _P_ 出版物 (思想的最终产品) 想法熟了,要写成文章给别人看了,就新建一个。这就是RAG里的“生成”步骤,把琢磨透了的想法,用一种全新的、结构化的形式呈现出来。 具体怎么记?给AI留下能看懂的“面包屑” 这才是关键。 ...

August 5, 2025 · 文九歌

Ubuntu 服务器 Python 环境终极配置指南 (v2.0) - 国内版

本指南旨在提供一个从零开始,在全新的 Ubuntu 服务器上搭建一个安全、隔离、高效的 Python 开发环境的完整流程。遵循本指南将帮助您养成良好的服务器运维习惯。 第一步:创建并切换到安全的普通用户(最重要的第一步) 永远不要使用 root 用户进行日常开发和项目运行。 这是保障服务器安全的第一原则。我们将创建一个普通用户,并只在必要时使用 sudo 临时获取管理员权限。 创建新用户 (以 dev 为例): 以 root 用户身份执行以下命令: adduser dev 系统会提示您为新用户 dev 设置密码,并填写一些可选信息(可以直接按回车键跳过)。 授予 Sudo 权限: 为了让 dev 用户能够执行需要管理员权限的命令,我们需要将其加入 sudo 用户组: usermod -aG sudo dev 切换到新用户: 这是关键一步。从现在开始,我们所有的操作都将在 dev 用户下进行。 su - dev 切换成功后,您的命令行提示符会从 root@... 变为 dev@...。 第二步:为新用户安装 Miniconda 现在,我们以 dev 用户的身份,将 Miniconda 安装在其专属的家目录 (/home/dev) 下。 更新系统并安装 wget: sudo apt-get update sudo apt-get install wget -y 从清华镜像源高速下载 Miniconda 安装脚本: **(优化点)**直接从国内镜像下载,避免从国外官方源下载缓慢的问题。 wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh 运行安装脚本: ...

January 20, 2025