项目结构.md4.66 kB
# 股票分析MCP工具 - 项目结构
```
stock_mcp/
├── README.md # 项目说明文档
├── requirements.txt # Python依赖包列表
├── config.py # 配置文件
├── stock_mcp_server.py # 主服务器文件
├── start_server.py # 服务器启动脚本
├── test_tools.py # 功能测试脚本
├── examples.py # 使用示例
├── cherry_studio_config.json # CherryStudio配置文件
├── install.sh # Linux/Mac安装脚本
├── install.bat # Windows安装脚本
└── 项目结构.md # 本文件
```
## 文件说明
### 核心文件
- **stock_mcp_server.py**: MCP服务器主文件,包含所有股票分析工具
- **config.py**: 配置参数,包括缓存、API、日志等设置
- **start_server.py**: 服务器启动脚本,包含日志配置和错误处理
### 工具文件
- **test_tools.py**: 功能测试脚本,用于验证各个工具是否正常工作
- **examples.py**: 详细的使用示例,展示如何进行股票分析
### 配置文件
- **requirements.txt**: Python依赖包列表
- **cherry_studio_config.json**: CherryStudio的MCP服务器配置
### 安装脚本
- **install.sh**: Linux/Mac系统的自动安装脚本
- **install.bat**: Windows系统的自动安装脚本
## 快速开始
### 1. 安装依赖
**Linux/Mac:**
```bash
chmod +x install.sh
./install.sh
```
**Windows:**
```cmd
install.bat
```
**手动安装:**
```bash
pip install -r requirements.txt
```
### 2. 启动服务器
```bash
python start_server.py
```
### 3. 配置CherryStudio
将 `cherry_studio_config.json` 中的配置添加到CherryStudio的MCP服务器设置中。
### 4. 测试功能
```bash
python test_tools.py
```
### 5. 查看示例
```bash
python examples.py
```
## 主要功能
### 🔄 实时数据
- `get_stock_realtime_data()`: 获取股票实时行情
- 支持价格、涨跌幅、成交量等实时数据
### 📊 历史数据
- `get_stock_history_data()`: 获取历史K线数据
- 支持日线、周线、月线数据
- 可指定时间范围
### 📈 技术指标
- `calculate_technical_indicators()`: 计算技术指标
- 支持MA、MACD、RSI等常用指标
- 提供买卖信号判断
### 💭 市场情绪
- `get_market_sentiment()`: 分析市场情绪
- 包括资金流向、涨跌比例等
- 支持个股和整体市场分析
### 🔍 股票搜索
- `search_stock_info()`: 搜索股票信息
- 支持按名称或代码搜索
- 返回匹配的股票列表
### 📰 新闻资讯
- `get_stock_news()`: 获取股票新闻
- 支持个股新闻和市场新闻
- 可限制返回数量
## 技术特性
### 🚀 高性能
- 内置缓存机制,减少API调用
- 异步处理,支持并发请求
- 智能错误重试机制
### 🔧 易扩展
- 模块化设计,易于添加新功能
- 配置文件集中管理
- 完善的日志系统
### 🛡️ 稳定可靠
- 完善的错误处理
- 数据验证和清洗
- 超时和重试机制
## 配置说明
### 缓存配置
```python
CACHE_CONFIG = {
"timeout": 300, # 缓存超时时间(秒)
"max_size": 1000, # 最大缓存条目数
"enable": True # 是否启用缓存
}
```
### 数据限制
```python
DATA_LIMITS = {
"history_max_records": 100, # 历史数据最大返回条数
"news_max_records": 20, # 新闻最大返回条数
"search_max_results": 10 # 搜索结果最大返回数
}
```
## 注意事项
1. **数据来源**: 使用AKShare API,请遵守使用条款
2. **网络要求**: 需要稳定的网络连接访问数据源
3. **Python版本**: 需要Python 3.8或更高版本
4. **依赖管理**: 建议使用虚拟环境管理依赖
## 故障排除
### 常见问题
1. **导入错误**: 检查是否安装了所有依赖包
2. **网络超时**: 检查网络连接,可能需要配置代理
3. **数据获取失败**: AKShare API可能暂时不可用,稍后重试
4. **权限错误**: 确保脚本有执行权限
### 日志查看
服务器运行时会生成 `stock_mcp.log` 日志文件,可以查看详细的运行信息和错误信息。
## 开发扩展
### 添加新工具
1. 在 `stock_mcp_server.py` 中添加新的 `@mcp.tool()` 装饰的函数
2. 更新 `cherry_studio_config.json` 中的工具配置
3. 在 `test_tools.py` 中添加测试用例
4. 在 `examples.py` 中添加使用示例
### 修改配置
编辑 `config.py` 文件来调整各种配置参数,如缓存时间、数据限制等。
## 许可证
MIT License - 详见项目根目录的LICENSE文件