返回 MCP 目录
public公开dns本地运行

Schwab

一个实现Schwab API模型上下文协议(MCP)的服务器,为LLM提供金融数据接口

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_ID
  • SCHWAB_CLIENT_SECRET
  • SCHWAB_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 的形式开源。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端