Theta数据MCP服务器
Theta Data API的本地MCP(模型上下文协议)包装器,为AI模型提供对实时和历史股票、期权和指数数据的访问。
概述
此MCP服务器由Theta Data OpenAPI规范生成,使用 FastMCP。它将API端点公开为MCP工具,允许人工智能助手直接查询市场数据。
支持的数据类型
- 股票:交易品种、EOD数据、OHLC、交易、报价、快照
- 选项:符号、到期、罢工、合同、希腊语、隐含波动率
- 指数:符号、价格、OHLC、市场价值
- 日历:市场开放日期
先决条件
安装
# Create virtual environment and install all dependencies (including dev)
uv sync用法
运行服务器
# Run with stdio transport (default)
uv run server.py
# Run with SSE transport
uv run server.py --transport sse
# Custom base URL
uv run server.py --base-url http://localhost:25503/v3
# Custom timeout
uv run server.py --timeout 60.0环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
THETADATA_BASE_URL | Theta数据API基础URL | http://127.0.0.1:25503/v3 |
THETADATA_TIMEOUT | 请求超时(秒) | 30.0 |
MCP客户端配置
将以下内容添加到MCP客户端配置中,替换 /path/to/thetadata-mcp 使用此存储库的实际路径:
{
"mcpServers": {
"thetadata": {
"command": "uv",
"args": [
"--directory",
"/path/to/thetadata-mcp",
"run",
"server.py"
],
"env": {
"THETADATA_BASE_URL": "http://127.0.0.1:25503/v3",
"THETADATA_TIMEOUT": "30.0"
}
}
}
}可用工具
服务器将所有Theta Data v3 API端点公开为MCP工具,包括:
股票数据
stock_list_symbols-列出所有股票代码stock_list_dates-列出请求类型的可用日期stock_snapshot_ohlc-实时OHLC数据stock_snapshot_trade-实时交易数据stock_snapshot_quote-实时报价数据stock_history_eod-历史EOD数据stock_history_ohlc-历史悠久的OHLC酒吧stock_history_trade-历史贸易数据stock_history_quote-历史报价数据
选项数据
option_list_symbols-列出可选符号option_list_expirations-列出某个符号的过期时间option_list_strikes-列表因过期而罢工option_list_contracts-列出期权合约option_snapshot_ohlc-实时选项OHLCoption_snapshot_greeks_all-所有希腊人(δ、γ、θ、维加、ρ)option_snapshot_greeks_implied_volatility-隐含波动性option_history_eod-历史选项EOD数据option_history_greeks_all-希腊历史数据
索引数据
index_list_symbols-列出索引符号index_snapshot_price-实时指数价格index_history_eod-历史索引EOD数据
日历
calendar_open_today-查看今天市场是否开放calendar_on_date-检查市场是否在特定日期开放
看 Theta Data API文档 有关参数和响应的完整详细信息。
查询示例
连接到MCP客户端后,您可以问:
- “列出所有可用的股票代码”
- “获取AAPL的当前OHLC数据”
- “SPY的可用期权到期日是什么?”
- “让我看看下周五到期的SPY 500电话的希腊人”
- “今天市场开放吗?”
发展
预提交钩子
此项目使用 预承诺 跑 ruff 每次提交时自动进行linting和格式化。
安装程序(每个克隆一次):
uv run pre-commit install钩子现在将在您提交更改时自动检查并修复代码格式。
手动开发命令
# Run linting with uv
uv run ruff check .
# Format code with uv
uv run ruff format .
# Regenerate endpoints_by_subscription documentation
uv run python generate_endpoint_docs.py正在重新生成端点文档
这 generate_endpoint_docs.py 脚本读取 x-min-subscription 场从 openapiv3_updated.yaml 并在中重新生成markdown文件 endpoints_by_subscription/。每个层文件显示该订阅级别及以下可用的所有端点(累积):
endpoints_free.md-免费层端点endpoints_value.md-免费+价值层端点endpoints_standard.md-免费+价值+标准层端点endpoints_professional.md-所有端点
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
