使用说明
鳍mcp
MCP(模型上下文协议)服务器,用于使用多代理LangGraph工作流对SEC 10-K文件进行人工智能分析。
概述
鳍mcp 抓取SEC EDGAR 10-K报告,并使用LangChain和LangGraph构建的扇入扇出多代理系统对其进行分析。该系统提取关键见解,包括战略风险、管理基调/情绪和全面的财务摘要。
特性
- 🔍 SEC数据报废:从SEC EDGAR数据库自动检索10-K文件
- 🤖 多智能体分析:与专业AI代理并行处理:
- Parse10K代理:从10-K文件中提取关键部分
- 风险代理人:从风险因素中识别出三大战略风险
- 音调代理:分析MD&A的管理基调和情绪
- 主管代理:将见解综合为综合报告
- 🔌 MCP服务器:通过模型上下文协议公开分析工具,用于LLM集成
- 💬 Gradio聊天演示:用于浏览10-K文档的交互式聊天机器人UI
建筑
User Query → Parse10K Agent → [Risk Agent + Tone Agent (parallel)] → Supervisor Agent → Final Report
安装
先决条件
- Python 3.11或更高版本
- OpenAI API密钥
- SEC API密钥
克隆并安装
# Clone the repository
git clone https://github.com/yourusername/fin-mcp.git
cd fin-mcp
uv venv # Create virtual environment, needs to be activated
uv sync # Pull in dependencies
# Install dependencies (using uv)
uv pip install -e .
# Or install with pip
pip install -e .
# Optional: Install demo dependencies
uv pip install -e ".[demo]"
# Or with pip
pip install -e ".[demo]"
环境设置
创建一个 .env 项目根目录中的文件:
OPENAI_API_KEY=your_openai_api_key_here
SEC_API_KEY=your_sec_api_key_here
用法
运行MCP服务器
启动MCP服务器以公开10-K分析工具:
# Using the Python module
# Helpful tip: Run the MCP server in a standalone terminal/bash shell
python -m fin_mcp.server
服务器将在HTTP传输上启动,并公开以下MCP工具:
fetch_10k_analysis:分析给定股票代码和年份的10-K文件fetch_ticker:从公司名称中查找股票代码fetch_cik:从股票代码中获取CIK编号fetch_accession_numbers:检索可用的10-K登录号fetch_10k_sections:从10-K文件中解析特定部分
运行Gradio演示
启动交互式聊天界面:
# Using Python module
# Helpful tip: Run the MCP server in a standalone terminal/bash shell
python -m chat_demo.gradio_ui
然后打开浏览器到显示的URL(通常 http://127.0.0.1:7860).
查询示例
在Gradio演示中尝试以下查询:
- “分析苹果2023年10-K文件”
- “2022年特斯拉面临的主要风险是什么?”
- “比较微软2021年和2023年的管理基调”
- “告诉我NVDA的风险因素”
可用的MCP工具
将MCP客户端连接到fin-MCP服务器时,您将可以访问:
- fetch_10k_分析(股票代码:str,年份:int |无) -完整的人工智能分析
- fetch_ticker(公司名称:str) -将公司名称转换为股票代码
- fetch_cik(股票代码:str) -获取SEC CIK标识符
- fetch_access_numbers(cik:str) -列出可用的10-K文件
- fetch_10k_sections(访问编号:str,cik:str) -提取特定文档部分
项目结构
fin-mcp/
├── fin_mcp/
│ ├── agents/ # LangChain agent implementations
│ │ ├── base_agent.py
│ │ ├── parse10k_agent.py
│ │ ├── risk_agent.py
│ │ ├── tone_agent.py
│ │ └── supervisor_agent.py
│ ├── graph/ # LangGraph workflow builder
│ │ └── langgraph_builder.py
│ ├── models/ # Pydantic state models
│ │ └── state_models.py
│ ├── tools/ # SEC scraping and agent tools
│ │ ├── sec_tools.py
│ │ └── agent_tools.py
│ └── server.py # FastMCP server
├── chat_demo/ # Gradio demo application
│ ├── chat_agent.py
│ └── gradio_ui.py
├── pyproject.toml # Package configuration
└── README.md
运作原理
- 数据收集:Parse10K代理使用股票代码从SEC EDGAR获取公司10-K文件
- 剖面提取:从HTML文件中解析关键部分(第1A项-风险因素,第7项-MD&A,第7A项)
- 平行分析:风险和音调代理同时分析各自的部分
- 合成:主管代理将见解整合到一份综合报告中
- 交付:结果通过MCP工具或Gradio聊天界面返回
需求
beautifulsoup4>=4.12.0-HTML解析fastmcp>=2.9.2-MCP服务器框架langchain>=0.3.26-代理框架langchain-core>=0.3.0-核心LangChain原语langchain-openai>=0.3.27-OpenAI集成langgraph>=0.5.0-多代理编排lxml>=6.0.0-XML/HTML解析器openai>=1.93.0-OpenAI API客户端pandas>=2.3.0-数据处理python-dotenv>=1.0.0-环境配置requests>=2.32.4-HTTP请求gradio>=5.35.0-聊天演示UI(可选)
许可证
MIT许可证-有关详细信息,请参阅许可证文件
贡献
欢迎投稿!请随时提交问题或拉取请求。
致谢
内置: