股票比较MCP服务器
一个模型上下文协议(MCP)服务器实现,演示如何为财务数据构建MCP。此服务器使用TwelveData作为数据提供者提供股票比较分析。
特性
MCP工具
服务器通过MCP协议公开了三个主要工具:
compare_stocks
- 获取并比较多个股票代码 - 返回价格指标、波动率、夏普比率、VAR 95和相关矩阵 - 支持可定制的时间间隔和回顾期
hierarchical_risk_parity_portfolio
- 使用HRP算法构建最优投资组合权重 - 基于关联距离的资产聚类 - 在分层分支机构之间平均分配风险
health_check
- 用于监测的简单健康端点
实施特点
- 缓存:API响应的本地文件系统缓存
- 速率限制:遵守API限制的内置请求延迟
- 错误处理:通过MCP协议进行全面的错误报告
- 类型安全:具有运行时验证的完整类型支持
- 指标:返回关键财务指标,包括:
- 累计回报 - 算出年波幅 - 夏普比率 - 95%风险价值 - 相关矩阵
设置
- 安装紫外线:
curl -LsSf https://astral.sh/uv/install.sh | sh- 创建一个
.env使用TwelveData API密钥文件:
TWELVE_DATA_API_KEY=your_api_key_here使用VS代码
此MCP服务器旨在与VS Code无缝协作(通过GitHub Copilot)。以下是如何设置它:
VS代码设置
- 安装GitHub Copilot和Copilot聊天扩展
- 在settings.json中启用MCP服务器支持:
{
"github.copilot.advanced": {
"mcp.enableStockComparison": true
}
}- 创建.vcode文件夹并添加mcp.json文件:
{
"servers": {
"stock-comparison": {
"command": "uv",
"args": ["run","python", "server/server.py"],
"cwd": "."
}
}
}- 按Ctrl+Shift+P并选择MCP列表服务器\\股票比较
现在,您可以在Copilot Chat中使用自然语言分析股票:
Compare a list of 20 stocks for the past 252 trading days.
Then, based on the comparison and analysis, select 10 of those stocks and perform a portfolio optimization using the hierarchical risk parity method.缓存配置
- 缓存位置:
~/.stock_mcp_cache - 报价缓存TTL:15分钟
- 历史数据缓存TTL:1小时
- 基础缓存TTL:24小时
错误处理
服务器为常见场景提供详细的错误消息:
- 缺少/无效的API密钥
- 利率限制问题
- 无效符号
- 分析数据不足
许可证
MIT许可证
