article
README
🚀 Schwab 模型上下文协议 (MCP) 服务端
这是一个实现模型上下文协议(MCP)的服务器,用于 Schwab API。借助 schwab-py 和 MCP 的 python-sdk,它能为用户提供便捷的服务。
🚀 快速开始
本服务器通过模型上下文协议 (MCP) 暴露 Schwab API 功能,能帮助用户获取各类金融信息和管理账户。下面将详细介绍其安装、使用等步骤。
✨ 主要特性
- 通过模型上下文协议 (MCP) 暴露 Schwab API 功能
- 获取账户信息和持仓
- 获取股票报价和价格历史
- 获取市场信息和动量股
- 获取期权链和到期数据
- 查看订单和交易记录历史
- 修改账户状态(需要
--jesus-take-the-wheel标志)
📦 安装指南
# 安装所有依赖项
uv add -e .
# 安装开发依赖项
uv add -e .[dev]
💻 使用示例
基础用法
认证
第一步是通过 Schwab API 进行认证并生成令牌:
# 认证并生成令牌
uv run schwab-mcp auth --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --callback-url YOUR_CALLBACK_URL
您可以通过环境变量设置这些凭证,以避免每次输入:
SCHWAB_CLIENT_IDSCHWAB_CLIENT_SECRETSCHWAB_CALLBACK_URL(默认为 https://127.0.0.1:8182)
默认情况下,令牌保存在 ~/.local/share/schwab-mcp/token.yaml(根据平台不同而有所变化)。您可以指定其他路径:
uv run schwab-mcp auth --token-path /path/to/token.yaml
支持 YAML 和 JSON 格式的令牌文件,并会根据文件扩展名自动推断格式。
运行服务器
认证完成后,运行服务器:
# 运行服务器
uv run schwab-mcp serve
高级用法
--jesus-take-the-wheel 标志启用后,LLM 可以执行以下操作:
- 删除特定订单
- 其他可能具有财务影响的操作(未来版本中将添加更多功能)
请仅在受控环境中使用此标志,并理解其中的风险。
🔧 技术细节
开发
# 类型检查
uv run pyright
# 格式化代码
uv run ruff format .
# 代码检查
uv run ruff check .
# 运行测试
uv run pytest
📄 许可证
本项目以 MIT License 的形式开源。
扫码联系在线客服