基于Python的证券分析流程,使用模型上下文协议(MCP)。该仓库捆绑了市场数据、解析、分析和可视化工具,并通过FastMCP服务器提供这些工具,以便本地或远程的任何MCP感知客户端(如Claude Desktop、LangChain)可以使用它们。
此报告是通过以下步骤半自动生成的:
将MCP工具连接到Claude Desktop,包括网络搜索、Perplexity、维基百科。(详情见claude_desktop_config.json)。你可以将维基百科工具视为一个被邀请进入聊天对话的朋友,它知道如何搜索和浏览维基百科,并将文章、章节、摘要带入聊天上下文中,供用户与AI进一步讨论。
将server.py MCP服务器连接到Claude Desktop。这可以看作是你用Python编写的能够将内容带入聊天上下文的自定义机器人:市场数据、SEC文件或其他任何你能检索或计算的内容。
提示Claude Desktop查询Perplexity、维基百科和10-K,以将有关特斯拉的信息带入上下文中。
提示Claude Desktop查询市场数据工具,获取特斯拉的最新信息。
最后,启用深度研究并提示Claude Desktop编写一份包含8个部分的深度报告,每个部分应涵盖的具体内容,利用从聊天上下文中检索到的信息、额外的网络搜索和工具调用。
查看prompts.txt以了解示例中使用的提示。
虽然这不是一个完全自主的代理,并且处于早期概念验证阶段,但它展示了向完全自主代理发展的方向。创建一个MCP客户端,自主地完成上述步骤,并生成一份关于特斯拉的结构化深度报告,其中包含图表和表格。或者创建一个更高级的多代理工作流,为每个部分设置一组并行代理,以及批评优化工作流,最后生成报告。
FastMCP服务器 – server.py公开了一些MCP 工具,用于获取市场数据、新闻、图表、SEC文件、基础数据、技术数据、来自公共网站、订阅服务和REST API的研究。
市场数据
yfinanceOpenBB. 通过OpenBB平台API,我们可以调用几乎任何市场数据REST API,通过统一的API。SEC文件 - 一个工具通过sec_downloader获取10-K项目1,并使用sec_parser进行解析。
技术分析 - 使用pandas_ta & TA-Lib计算一些技术指标。
交互式图表 - 使用plotly制作图表。
新闻和社会情绪 - Reddit抓取工具。启动时我们启动浏览器上下文,并在整个会话期间保持打开状态。通过指向你的个人资料,你可以访问保存的凭据。然后你可以打开任何URL,并通过提示LLM生成适当的工具调用来抓取链接、文本或完整的HTML。
# 1. 克隆并进入项目(如果你想提交更改,可以fork并克隆)
$ git clone https://github.com/druce/MCP.git
$ cd MCP
# 2. 创建并激活虚拟环境(推荐)
$ python -m venv .venv
$ source .venv/bin/activate
# 3. 安装Python依赖项
$ pip install -r requirements.txt
# 4. 安装Playwright浏览器(仅需一次)
$ playwright install
# 5. 复制环境模板并添加你的密钥
$ cp dotenv.txt .env # 然后根据需要编辑
# 6. 启动并测试服务器
$ LOGLEVEL=DEBUG mcp dev server.py
# 点击终端中的链接以打开测试页面,连接,查看工具,然后单独测试它们
# 7. 在你选择的MCP客户端中使用服务器。对于Claude Desktop,编辑提供的`claude_desktop_config.json`文件,并将其移动到适合你平台的位置(macOS、Windows)。
https://claude.ai/download
https://modelcontextprotocol.io/quickstart/user
# 8. 对于其他可选的市场数据MCP服务器,安装这些仓库
维基百科MCP(无需API密钥)
pip install wikipedia-mcp
文件系统MCP(使用本地文件,无需API密钥)
git clone https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem
雅虎财经MCP(无需API密钥)
git clone https[://Alex2Yang97/yahoo-finance-mcp.git]
财务建模准备MCP(需要API密钥 - https://site.financialmodelingprep.com/developer/docs/stable )
git clone https://github.com/cdtait/fmp-mcp-server
Alpha Vantage MCP(需要API密钥 - https://www.alphavantage.co/documentation/)
git clone https://github.com/calvernaz/alphavantage.git
# 查看alphavantage.patches对alphavantage/src/alphavantage_mcp_server/server.py的修改
Brave搜索MCP(需要API密钥 https://brave.com/search/api/ )
npm install -g @modelcontextprotocol/server-brave-search
Perplexity Ask MCP(需要API密钥,Docker)
遵循此处的设置说明:
https://github.com/ppl-ai/modelcontextprotocol/tree/main
MCP/
├── claude_desktop_config.json # Claude Desktop 配置
├── dotenv.txt # 密钥 / 环境变量
├── README.md # 此文件
├── server.py # FastMCP服务器,由mcp dev或Claude桌面或其他MCP客户端启动
├── requirements.txt # Python依赖项
├── sources.yaml # 服务器使用的数据源配置
├── Market Data.ipynb # 获取市场数据的Jupyter笔记本
├── TearSheet.ipynb # 基本分析的Jupyter笔记本