MCP图表生成器
MCP(模型上下文协议)服务器,公开交易实验室图表生成器功能,允许Claude按需生成专业交易图表。
概述
此MCP服务器提供对 交易实验室 图表生成系统,启用:
- 按需生成图表 在克劳德的谈话中
- 28+技术研究 (RSI、MACD、布林带等)
- ML预测 来自Chronos、TOTO、Prophet、Burg型号
- 信号叠加 带有买入/卖出标记
- 多个主题 (深色休闲装、深色专业装、浅色等)
- 灵活的时间框架 (每日、每周、每月、每年)
建筑
Claude Code
↓ (MCP Protocol)
MCP Chart Generator Server
↓ (Python Import)
trading-lab/src/services/chart_generation/
↓
PNG Chart Image可用工具
1. render_chart
生成交易图表PNG图像。
所需参数:
symbol_code-股票代码(例如“AAPL”、“SPY”)file_name-不带扩展名的输出文件名
可选参数:
exchange_code-Exchange(默认值:“US”)symbol_type-类型(默认:“普通股”)study-研究名称(默认:“ChartOnly”)theme-图表主题(默认:“深色休闲”)chart_type-烛台/线条/HLC(默认:“烛台”)period-每日/每周/每月/每年(默认值:“每日”)history_length-历史天数(默认值:365)warmup_period-指示器的额外条形图(默认值:200)zoom_level-要显示的条数(默认值:250)width-图像宽度(像素)(默认值:1200)height-图像高度(默认值:自动)prediction_mode-off/view_only/full(默认值:“view_only”)bullish_signal-覆面采用金色信号bearish_signal-覆面采用熊信号marker_source-实际/预测(默认:“实际”)eod_historical_offset-从今天开始的几天(0-30)
例子:
mcp__chart-generator__render_chart(
symbol_code="AAPL",
file_name="aapl_rsi",
study="RSIStudy",
zoom_level=120,
theme="Dark Casual"
)2. list_studies
列出所有可用的图表研究。
退货: 28+项研究的分类列表
3. list_signals
列出所有可用的交易信号。
退货: 看涨和看跌信号名称
4. list_themes
列出所有可用的图表主题。
退货: 可用主题名称
5. validate_config
在渲染之前验证图表配置。
参数:
symbol_code-股票代码study-研究名称(可选)theme-主题名称(可选)bullish_signal-看涨信号(可选)bearish_signal-熊信号(可选)
退货: 验证状态和错误(如有)
安装
先决条件
- Python 3.11+
- 交易实验室 项目按预期路径可用
MARKET_DATABASE_PATH或MARKETDATA_DB_PATH环境变量集
设置
- 创建虚拟环境:
cd /Volumes/Work/development/projects/git/mcp-chart-generator
python3 -m venv venv- 安装依赖项:
venv/bin/pip install -r requirements.txt- 在中配置
.mcp.json(交易实验室项目):
{
"mcpServers": {
"chart-generator": {
"type": "stdio",
"command": "/Volumes/Work/development/projects/git/mcp-chart-generator/venv/bin/python3",
"args": [
"/Volumes/Work/development/projects/git/mcp-chart-generator/chart_generator_mcp_server.py"
],
"env": {
"MARKET_DATABASE_PATH": "/Volumes/Work/marketdata/marketdata.db"
}
}
}
}- 测试服务器:
cd /path/to/trading-lab
claude mcp list你应该看看 chart-generator 在列表中✓ 连接状态。
使用示例
示例1:简单图表
User: "Generate an AAPL chart"
Claude uses:
mcp__chart-generator__render_chart(
symbol_code="AAPL",
file_name="aapl_chart"
)
Output: /tmp/aapl_chart.png示例2:RSI研究图表
User: "Show me SPY with RSI indicator, last 90 days"
Claude uses:
mcp__chart-generator__render_chart(
symbol_code="SPY",
file_name="spy_rsi_90d",
study="RSIStudy",
zoom_level=90
)
Output: /tmp/spy_rsi_90d.png示例3:带有信号叠加的图表
User: "MSFT chart with buy/sell signals using ADM momentum"
Claude uses:
mcp__chart-generator__render_chart(
symbol_code="MSFT",
file_name="msft_signals",
bullish_signal="adm_momentum_low",
bearish_signal="adm_momentum_high",
zoom_level=180
)
Output: /tmp/msft_signals.png with buy/sell markers示例4:发现可用选项
User: "What chart studies are available?"
Claude uses:
mcp__chart-generator__list_studies()
Returns: List of all 28+ studies categorized by type查看生成的图表
重要提示: Claude Code目前不支持内联图像显示(iTerm2图像协议)。
生成图表后,您有两个选项可以查看它:
选项1:退出并使用imgcat(iTerm2)
# Exit Claude Code session (Ctrl+D or /exit)
imgcat /tmp/your_chart.png选项2:在默认查看器中打开
# From within Claude Code or after exiting
open /tmp/your_chart.png这将在预览(macOS默认图像查看器)中打开图表。
为什么会这样
Claude Code拦截终端输出,目前不通过iTerm2的内联图像转义序列。这在 .
解决方法: MCP服务器成功生成图表;查看它们只需要在Claude Code会话之外打开它们。
技术细节
依赖项
MCP服务器本身只需要:
mcp>=1.0.0-MCP协议实现
实际的图表生成是通过从交易实验室项目导入来处理的,该项目有自己的依赖项(pandas、scriptor等)。
输出位置
生成的图表保存到 /tmp/ 具有在中指定的文件名的目录 file_name 参数。
演出
- 每张图表生成需要1-2秒
- 服务器为了提高效率而重复使用资源
- 可以批量生成数百个图表
集成点
市场数据:
- 需要
MARKET_DATABASE_PATH环境变量 - 使用交易实验室
marketdata.database.Database
研究:
- 自动发现来自
trading-lab/src/studies/ - 支持所有28+项研究
信号:
- 用途
trading-lab/src/signals/bullish_signals/ - 用途
trading-lab/src/signals/bearish_signals/
故障排除
服务器无法连接
- 检查虚拟环境:
ls -la /Volumes/Work/development/projects/git/mcp-chart-generator/venv/bin/python3- 验证依赖关系:
/Volumes/Work/development/projects/git/mcp-chart-generator/venv/bin/pip list | grep mcp- 检查交易实验室路径:
确保 /Volumes/Work/development/projects/git/trading-lab/src 存在
- 验证环境变量:
echo $MARKET_DATABASE_PATH图表生成失败
- 检查数据库:
ls -la $MARKET_DATABASE_PATH- 直接测试交易实验室:
cd /Volumes/Work/development/projects/git/trading-lab
source venv/bin/activate
python tests/test_chart_generation_poc.py- 验证配置:
使用 validate_config 工具之前 render_chart
发展
运行测试
独立测试MCP服务器:
cd /Volumes/Work/development/projects/git/mcp-chart-generator
venv/bin/python3 chart_generator_mcp_server.py这将以stdio模式启动服务器(等待MCP协议消息)。
添加新工具
编辑 chart_generator_mcp_server.py:
- 在中添加工具定义
list_tools() - 在中添加处理程序
call_tool() - 实现异步函数
调试
在交易实验室中启用调试日志记录:
import logging
logging.basicConfig(level=logging.DEBUG)相关项目
- 交易实验室 -主要交易分析平台
- mcp市场数据数据库 -市场数据MCP服务器
- mcp战略研究数据库 -策略回溯测试MCP服务器
- mcp金融 -雅虎金融MCP服务器
许可证
与交易实验室项目相同。
作者
作为交易实验室生态系统的一部分,通过MCP生成程序化图表。
