想象一下,你的 AI 助手不仅能告诉你某只股票的实时价格,还能分析整个市场的涨跌情绪!我们的股票分析助手,就是这么酷炫:
- 实时股票行情查询:只需输入股票代码,AI 立即为你呈现最新价格、涨跌幅等核心数据! [这里插入 CherryStudio 运行截图或 GIF,展示查询实时股价,例如输入“查询平安银行(000001)的实时股价”,AI 返回详细数据]
- 市场情绪智能分析:想知道今天大盘是涨是跌?市场情绪如何?AI 一句话告诉你! [这里插入 CherryStudio 运行截图或 GIF,展示市场情绪分析,例如输入“分析一下当前 A 股市场的整体情绪”,AI 返回上涨/下跌股票数和情绪判断]
- 实时数据流支持:基于先进的 SSE 协议,数据推送毫秒级响应,让你永远快人一步!

一、什么是 MCP?AI 世界的“万能插座”
MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 公司(Claude 模型所在公司)推出的开放协议,它就像是 AI 世界的“万能插座”。它的核心目标是:让不同的大语言模型能够统一、低成本地连接各种外部工具和数据。
简单来说,MCP 让 AI 不再是“信息孤岛”,而是能通过标准化的方式,调用外部 API、查询数据库、读取文件等,从而极大地扩展 AI 的能力边界。
MCP 的核心能力:
- Resource (资源): 定义 AI 可以访问的数据源,比如 API 接口、数据库记录、文件内容等。
- Prompts (提示): 预定义的交互模板,指导 AI 完成特定任务。
- Sampling (采样): 根据条件生成或采样输出,可用于生成提示或操作确认。
- Roots (根): 访问权限控制,限制 AI 对特定资源的访问范围。
在本文中,我们主要关注如何通过 Resource 能力,让 AI 调用外部数据源(这里是 AKShare)

二、FastMCP:快速开发 AI 工具的利器
开发 MCP 工具听起来很复杂?别担心!FastMCP 是一个基于 Python 的轻量级框架,它极大地简化了 MCP 工具的开发流程,让你用最少的代码,就能将普通函数封装成强大的 AI 工具。
通过本教程,你将解锁以下超能力:
- 掌握 FastMCP 框架,轻松构建高性能 MCP 服务器
- 集成 AKShare,实时获取海量金融数据
- 在 CherryStudio 中玩转自定义工具,让 AI 更懂你
- 实现 SSE 协议,体验毫秒级的实时数据流
准备好了吗?让我们一起开启 AI 量化投资的新篇章!
三、实战:打造你的“股票数据查询”MCP 工具
核心技术栈
- FastMCP: 官方推荐的 MCP 服务器框架,高效稳定。
- Starlette: 轻量级高性能异步 Web 框架,为服务器提供强大动力。
- AKShare: 开源免费的金融数据接口,数据来源丰富可靠。
- SSE 协议: 服务器发送事件,实现客户端与服务器的实时单向通信。
核心代码实现:揭秘 AI 大脑
接下来,我们将一步步揭示 AI 助手的“大脑”是如何构建的。
-
1. 服务器主体代码:FastMCP
这是我们 MCP 服务器的入口,基于 FastMCP 和 Starlette 构建,确保了高性能和协议兼容性。
#!/usr/bin/env python3"""
股票分析SSE服务器 - 官方推荐方案最终版
基于Starlette和mcp.py库内置的SseServerTransport,确保协议兼容性。
"""import json
import logging
import akshare as ak
import uvicorn
from datetime import datetime
from mcp.server.fastmcp import FastMCP
from mcp.server.sse import SseServerTransport
from starlette.applications import Starlette
from starlette.routing import Mount, Route
# --- 配置 ---
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)# --- MCP服务器初始化 ---
mcp = FastMCP("StockAnalysisServer") # 为你的服务器命名!
代码解析:我们导入了必要的库,并初始化了 FastMCP 服务器实例。FastMCP("StockAnalysisServer") 定义了服务器的名称,方便后续识别。
-
2. 股票实时数据工具:AI 的“千里眼”
这个工具让 AI 能够“看到”最新的股票行情。我们使用@mcp.tool()装饰器将其注册为 MCP 工具。
@mcp.tool()async def get_stock_realtime_data(symbol: str) -> str:"""
获取指定股票代码的实时行情数据。
:param symbol: 股票代码, 例如 '000001'
:return: JSON格式的股票数据字符串
"""
logger.info(f"执行工具 get_stock_realtime_data,参数: {symbol}")try:
df = ak.stock_zh_a_spot_em() # 从AKShare获取A股实时行情
stock_data = df[df['代码'] == symbol]if stock_data.empty:
result = {"error": f"未找到股票代码 {symbol} 的数据"}else:
data = stock_data.iloc[0]
result = {"股票代码": symbol,"股票名称": data['名称'],"最新价": float(data['最新价']),"涨跌幅": float(data['涨跌幅']),"更新时间": datetime.now().strftime("%Y-%m-%d %H:%M:%S")}return json.dumps(result, ensure_ascii=False) # 确保中文显示正常except Exception as e:
logger.error(f"获取实时数据失败: {e}")
error_result = {"error": f"获取实时数据失败: {str(e)}"}return json.dumps(error_result, ensure_ascii=False)
代码解析:get_stock_realtime_data 函数接收股票代码,通过akshare.stock_zh_a_spot_em()获取 A 股实时数据,并筛选出指定股票的信息。数据以 JSON 格式返回,方便 AI 解析。
-
3. 市场情绪分析工具:AI 的“读心术”
这个工具让 AI 能够分析整个市场的涨跌情况,判断当前的市场情绪。
@mcp.tool()async def get_market_sentiment() -> str:"""
获取当前市场的整体情绪分析。
:return: JSON格式的市场情绪数据字符串
"""
logger.info("执行工具 get_market_sentiment")try:
df_market = ak.stock_zh_a_spot_em() # 再次获取全市场数据
up_count = len(df_market[df_market['涨跌幅'] > 0])
down_count = len(df_market[df_market['涨跌幅'] < 0])
total_count = len(df_market)
sentiment = "乐观" if up_count > down_count else "悲观" if down_count > up_count else "中性"
result = {"上涨股票数": up_count,"下跌股票数": down_count,"市场情绪": sentiment,"分析时间": datetime.now().strftime("%Y-%m-%d %H:%M:%S")}return json.dumps(result, ensure_ascii=False)except Exception as e:
logger.error(f"获取市场情绪失败: {e}")
error_result = {"error": f"获取市场情绪失败: {str(e)}"}return json.dumps(error_result, ensure_ascii=False)
代码解析:get_market_sentiment 函数统计了 A 股市场中上涨和下跌的股票数量,并据此判断出“乐观”、“悲观”或“中性”的市场情绪。
-
4. SSE 服务器配置:实时通信的桥梁
这是实现实时数据流的关键部分,我们利用SseServerTransport和 Starlette 来构建 SSE 端点。
# --- SSE传输和Starlette应用设置 ---
sse_transport = SseServerTransport('/messages/') # 定义SSE消息路径async def sse_handler(request):"""处理初始SSE连接并运行MCP服务器会话。"""async with sse_transport.connect_sse(request.scope, request.receive, request._send) as streams:# 核心:将SSE连接与MCP服务器会话绑定await mcp._mcp_server.run(streams[0], streams[1], mcp._mcp_server.create_initialization_options())# 定义Starlette应用的路由
app = Starlette(
debug=True,
routes=[
Route('/sse', endpoint=sse_handler), # MCP主端点
Mount('/messages/', app=sse_transport.handle_post_message) # SSE消息处理端点])
代码解析:sse_transport 负责 SSE 协议的具体实现。/sse 是 CherryStudio 连接服务器的主入口,而/messages/ 则用于处理 SSE 消息的推送。
启动项目
uv run main.py
看到类似以下输出,说明你的 MCP 服务已经成功启动,并监听在 http://127.0.0.1:8001/sse:
(base) jwangkundeMacBook-Pro-2:stock_mcp jwangkun$ python server.py
███████╗ █████╗ ███████╗████████╗███╗ ███╗ ██████╗██████╗
██╔════╝██╔══██╗██╔════╝╚══██╔══╝████╗ ████║██╔════╝██╔══██╗
█████╗ ███████║███████╗ ██║ ██╔████╔██║██║ ██████╔╝
██╔══╝ ██╔══██║╚════██║ ██║ ██║╚██╔╝██║██║ ██╔═══╝
██║ ██║ ██║███████║ ██║ ██║ ╚═╝ ██║╚██████╗██║
╚═╝ ╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝
INFO:__main__:启动基于官方推荐方案的股票分析SSE服务器...
INFO:__main__:服务器名称: 股票分析MCP服务器
INFO:__main__:服务器版本: v1.0.0
INFO:__main__:描述: 基于AKShare API的股票分析工具,支持SSE协议
INFO:__main__:MCP主端点 (请在CherryStudio中配置此URL): http://127.0.0.1:8001/sse
INFO:__main__:所有依赖包检查通过
INFO:__main__:正在启动MCP服务器...
INFO: Started server process [76966]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8001 (Press CTRL+C to quit)
四、连接 CherryStudio:让 AI 开口说话
CherryStudio 是一款强大的 LLM 客户端,类似于 Cursor、Claude Desktop。它能让你以自然语言的方式与 AI 交互,并无缝调用我们刚刚开发的 MCP 工具。
-
1. 添加 MCP 服务器
打开 CherryStudio,进入 设置 (Settings) 页面。
- 选中 MCP 服务器 (MCP Servers) 选项。
- 点击 添加服务器 (Add Server)。
- 在类型中选中 SSE。
- 填写对应的 URL 地址 http://127.0.0.1:8001/sse (如果你在本地运行)。

-
2. 启用你的工具
- 切换到 工具 (Tools) Tab 页。
- 在这里,你会看到我们刚才定义的工具 股票分析 SSE 工具。
- 勾选 该工具,使其处于启用状态。
-
3. 开始与 AI 对话!
- 回到 聊天界面 (Chat Interface)。
- 在对话框下方,选择你刚刚添加的 MCP 服务器。
- 现在,你可以尝试用自然语言提问了!

- “帮我查下贵州茅台(600519)的实时股价是多少?”
- “查询一下中国平安(601318)的基本信息。”
- “我想知道比亚迪(002594)今天的行情。”
- “给我看看招商银行(600036)的最新价格和总市值。”

AI 会根据你的提问,智能地识别并调用你开发的 MCP 工具,然后将工具返回的数据整合到对话中,实现 LLM 与外部数据源的无缝对接!
五、如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

01.大模型风口已至:月薪30K+的AI岗正在批量诞生

2025年大模型应用呈现爆发式增长,根据工信部最新数据:
国内大模型相关岗位缺口达47万
初级工程师平均薪资28K(数据来源:BOSS直聘报告)
70%企业存在"能用模型不会调优"的痛点
真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!
02.如何学习大模型 AI ?
🔥AI取代的不是人类,而是不会用AI的人!麦肯锡最新报告显示:掌握AI工具的从业者生产效率提升47%,薪资溢价达34%!🚀
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工
📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)






第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

3万+

被折叠的 条评论
为什么被折叠?



