
Schwab Model Context Protocol Server

2025.03.25
2
Python金融数据服务交易APIAI金融集成金融服务
Schwab Model Context Protocol Server (schwab-mcp) 是一个实现了Model Context Protocol (MCP)的服务器,专门为Schwab API设计。它通过MCP协议暴露Schwab API的功能,支持获取账户信息、股票报价、市场数据、期权链、订单历史等,并可与大型语言模型(LLMs)集成。该服务器还提供账户状态修改工具(需启用特殊标志),适用于金融数据分析和自动化交易场景。
View on GitHub
Overview
基本能力
产品定位
Schwab-mcp是一个金融数据服务中间件,通过MCP协议将Schwab交易API标准化,便于与AI系统集成。
核心功能
- 账户信息查询:获取账户余额、持仓等
- 市场数据获取:股票报价、价格历史、市场动态
- 期权数据:期权链、到期日信息
- 订单管理:查询订单/交易历史
- 账户修改工具:取消订单等操作(需特殊权限)
- LLM集成:专为大型语言模型设计的数据接口
适用场景
- 金融数据分析平台
- 自动化交易系统
- AI投资助手开发
- 量化研究工具
- 个人投资组合管理
工具列表
- 市场信息工具:获取市场时间、涨跌股、证券信息等
- 账户工具:查询账户详情、持仓、用户偏好等
- 订单工具:获取订单详情和列表
- 报价工具:获取股票实时报价
- 历史价格工具:多种时间粒度的价格历史(1分钟至周线)
- 期权工具:期权链查询和到期日信息
- 交易工具:查询交易记录
- 账户修改工具:取消订单等(需特殊权限)
常见问题
- 认证令牌5天后会过期需要重新认证
- 账户修改功能需显式启用
--jesus-take-the-wheel
标志 - 修改操作具有真实财务影响,需谨慎使用
使用教程
使用依赖
需要Python环境和以下SDK: - schwab-py - MCP python-sdk
安装教程
# 安装主程序
uv add -e .
# 安装开发依赖(可选)
uv add -e .[dev]
认证配置
uv run schwab-mcp auth \
--client-id YOUR_CLIENT_ID \
--client-secret YOUR_CLIENT_SECRET \
--callback-url YOUR_CALLBACK_URL
可通过环境变量设置认证信息:
export SCHWAB_CLIENT_ID='your_id'
export SCHWAB_CLIENT_SECRET='your_secret'
export SCHWAB_CALLBACK_URL='https://127.0.0.1:8182'
运行服务
# 基础模式
uv run schwab-mcp server \
--client-id YOUR_CLIENT_ID \
--client-secret YOUR_CLIENT_SECRET \
--callback-url YOUR_CALLBACK_URL
# 启用账户修改功能(危险)
uv run schwab-mcp server \
--jesus-take-the-wheel \
--client-id YOUR_CLIENT_ID \
--client-secret YOUR_CLIENT_SECRET \
--callback-url YOUR_CALLBACK_URL
调试方式
# 类型检查
uv run pyright
# 代码格式化
uv run ruff format .
# 代码检查
uv run ruff check .
# 运行测试
uv run pytest