Token导航 LogoToken导航TokenDH.com
Snaptrade MCP Server logo
AI代理stdio官方级别未说明来源级核验

Snaptrade MCP Server

MCP Server

一个只读的MCP服务器,通过SnapTrade将AI代理连接到经纪数据,适用于Claude Code、Claude Desktop、Cursor等MCP兼容客户端。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
AI代理金融工具PythonClaudeClaude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

l3a0

提供方

l3a0

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install snaptrade-mcp

详细介绍

SnapTrade MCP服务器

![CI](https://github.com/l3a0/snaptrade-mcp-server/actions/workflows/ci.yml)

一个只读的MCP(模型上下文协议)服务器,通过SnapTrade将AI代理连接到经纪数据。适用于Claude Code、Claude Desktop、Cursor、Windsurf和任何兼容MCP的客户端。

10个工具。只读。没有交易。设计安全。

你能做什么

工具说明
snaptrade_list_accounts列出所有关联的经纪账户
snaptrade_get_balance账户现金余额
snaptrade_get_positions当前持有量(股票、ETF)
snaptrade_get_orders带过滤器的订单历史记录
snaptrade_get_activities交易日志(股息、费用)
snaptrade_portfolio_summary所有账户+余额+头寸在一次通话中
snaptrade_search_symbols按名称或股票代码查找股票/ETF
snaptrade_list_brokerages支持的经纪公司
snaptrade_check_statusAPI健康检查
snaptrade_setup生成URL以连接新的经纪公司

先决条件

  1. SnapTrade API证书clientIdconsumerKeysnaptrade.com。注册一个开发人员帐户,并在仪表板中找到您的密钥。
  2. Python 3.10+

我的API密钥在哪里?

您的SnapTrade凭据永远不会离开您的计算机。事情是这样的:

  • 你的 clientIdconsumerKey 存储在a 本地配置文件 在您的计算机上(或在您自己设置的环境变量中)。
  • MCP服务器在启动时读取它们,以通过SnapTrade的API进行身份验证。
  • 他们是 从不 发送到您的AI客户端, 从不 包含在工具响应中,以及 从不 记录。
  • 服务器是只读的,它不能交易、修改帐户或删除任何内容。

这与任何API集成处理凭据的方式相同。你的钥匙留在你的机器上,就这样。

安装

选项A:pip(推荐)

pip install snaptrade-mcp

这将安装 snaptrade-mcp 命令和所有依赖项。

选项B:uvx(无需安装)

如果你有 紫外线 安装后,您可以直接运行服务器,而无需安装任何东西:

uvx snaptrade-mcp

这会自动下载并在隔离环境中运行它。

选项C:从源代码安装

git clone https://github.com/l3a0/snaptrade-mcp-server.git
cd snaptrade-mcp-server
pip install .

将MCP服务器添加到您的AI客户端

克劳德代码

-s user flag将您的凭据存储在您的个人Claude配置中(~/.claude/),不在项目中,所以它们永远不会出现在git中。

claude mcp add snaptrade -s user \
  -e SNAPTRADE_CLIENT_ID=your_client_id \
  -e SNAPTRADE_CONSUMER_KEY=your_consumer_key \
  -- snaptrade-mcp

然后重新启动Claude Code并运行 /mcp 验证服务器是否与所有10个工具一起出现。

备选方案: 如果您更喜欢将凭据设置为shell中的环境变量(添加到 ~/.zshrc~/.bashrc),您可以跳过 -e 旗帜:

# In your ~/.zshrc or ~/.bashrc:
export SNAPTRADE_CLIENT_ID="your_client_id"
export SNAPTRADE_CONSUMER_KEY="your_consumer_key"

# Then register without -e flags:
claude mcp add snaptrade -s user -- snaptrade-mcp

克劳德桌面

添加到您的 claude_desktop_config.json (设置>开发人员>编辑配置)。此文件位于您的用户目录中,不属于任何项目。

{
  "mcpServers": {
    "snaptrade": {
      "command": "snaptrade-mcp",
      "env": {
        "SNAPTRADE_CLIENT_ID": "your_client_id",
        "SNAPTRADE_CONSUMER_KEY": "your_consumer_key"
      }
    }
  }
}

重新启动克劳德桌面。SnapTrade工具将出现在工具菜单中。

光标

添加 .cursor/mcp.json 在您的项目根目录中。 添加 .cursor/mcp.json 到你的 .gitignore 因此,凭据不会被提交。

{
  "mcpServers": {
    "snaptrade": {
      "command": "snaptrade-mcp",
      "env": {
        "SNAPTRADE_CLIENT_ID": "your_client_id",
        "SNAPTRADE_CONSUMER_KEY": "your_consumer_key"
      }
    }
  }
}

ChatGPT(通过可流式传输的http)

ChatGPT需要流式HTTP(--transport streamable-http)使用OAuth 2.0。

第一步——启动隧道吸烟 要获取公共HTTPS URL:

ngrok http 8000
# note the forwarding URL, e.g. https://abc123.ngrok-free.app

步骤2——生成OAuth客户端ID和密钥 您将使用此连接器:

python -c "import secrets; print('client_id=' + secrets.token_urlsafe(24)); print('client_secret=' + secrets.token_urlsafe(48))"

保存这两个值。您将在ChatGPT和您的 .env 下面的文件。

步骤3——创建连接器 在ChatGPT中(需要Pro、Team、Enterprise或Edu):

  1. 首选 设置→ Apps,启用 开发者模式,然后单击 创建应用程序

ChatGPT Developer Mode

  1. 设置 MCP服务器URLhttps://abc123.ngrok-free.app/mcp
  1. 认证OAuth 并注意 回调URL 显示(例如。 https://chatgpt.com/connector/oauth/xxxx)
  1. 扩展 高级设置 并设置 注册方法User-Defined OAuth Client
  1. 使用您在步骤2中生成的值填写OAuth客户端ID和secret字段
  1. 选择 令牌端点身份验证方法: client_secret_post

ChatGPT OAuth settings

  1. 确认OAuth端点是从您的服务器自动发现的——它们都应该显示您的ngrok主机名

ChatGPT OAuth endpoints auto-discovered

  1. 点击 创建

步骤4——启动服务器 具有相同的客户端ID和密钥以及步骤3中的回调URL。

填写您的 .env 文件:

SNAPTRADE_CLIENT_ID=your_client_id
SNAPTRADE_CONSUMER_KEY=your_consumer_key
SNAPTRADE_OAUTH_CLIENT_ID=paste-the-client-id-from-step-2
SNAPTRADE_OAUTH_CLIENT_SECRET=paste-the-client-secret-from-step-2
SNAPTRADE_OAUTH_REDIRECT_URI=https://chatgpt.com/connector/oauth/xxxx
SNAPTRADE_PUBLIC_URL=https://abc123.ngrok-free.app

然后启动服务器:

set -a && source .env && set +a  # export all vars from .env to child processes
snaptrade-mcp --transport streamable-http

Streamable HTTP需要所有四个OAuth环境变量。集 SNAPTRADE_OAUTH_CLIENT_IDSNAPTRADE_OAUTH_CLIENT_SECRET 将您在步骤2中生成并输入到ChatGPT连接器中的确切值。集 SNAPTRADE_OAUTH_REDIRECT_URI 指向上述步骤3中的回调URL(例如。 https://chatgpt.com/connector/oauth/xxxx).集 SNAPTRADE_PUBLIC_URL 指向您的面向公众的基本URL(例如您的ngrok URL),以便OAuth发现元数据通告可访问的端点。

两者 SNAPTRADE_OAUTH_REDIRECT_URISNAPTRADE_PUBLIC_URL 必须满 https://... URL。无效的URL值可能会导致在CLI达到正常验证错误之前启动失败。

要自定义主机或端口,请执行以下操作:

snaptrade-mcp --transport streamable-http --host 0.0.0.0 --port 3000

首次设置

安装后,询问您的AI代理:

“设置我的SnapTrade连接”

这叫 snaptrade_setup,打开浏览器窗口 在运行服务器的计算机上 您在哪里授权您的经纪业务。这也适用于ChatGPT——AI会触发该工具,但浏览器会在本地打开。你只需要做一次。您的用户凭据保存在本地 ~/.snaptrade/config.json.

示例提示

  • “我有什么经纪账户?”
  • “显示我的完整投资组合摘要”
  • “我所有账户的现金余额是多少?”
  • “分析我的投资组合的多样化风险”
  • “我最近做了什么交易?”
  • “搜索苹果股票”
  • “SnapTrade支持哪些券商?”

故障排除

服务器连接失败/“重新连接失败”

  • 验证软件包是否已安装: python -c "from snaptrade_mcp.server import main; print('OK')"
  • 如果使用虚拟环境,请确保 snaptrade-mcp 安装在该环境中。

“缺少凭据”错误

  • 检查一下 SNAPTRADE_CLIENT_IDSNAPTRADE_CONSUMER_KEY 设置在 -e 旗帜(克劳德代码)或 env 块(克劳德桌面/光标)。

“未找到配置”错误

  • snaptrade_setup 首先通过MCP服务器连接代理并创建 ~/.snaptrade/config.json.

“需要OAuth环境变量”/“需要PUBLIC_URL”错误

  • 使用Streamable HTTP时会出现这些错误(--transport streamable-http)没有所需的OAuth环境变量。必须设置所有四个:

- SNAPTRADE_OAUTH_CLIENT_ID --您生成并输入到ChatGPT连接器中的客户端ID - SNAPTRADE_OAUTH_CLIENT_SECRET --您生成并输入到ChatGPT连接器中的匹配客户端密钥 - SNAPTRADE_OAUTH_REDIRECT_URI --来自ChatGPT连接器的回调URL(上述步骤3) - SNAPTRADE_PUBLIC_URL --您面向公众的基本URL(例如您的ngrok转发URL)

“无效URL”启动错误

  • SNAPTRADE_OAUTH_REDIRECT_URISNAPTRADE_PUBLIC_URL 必须是有效的绝对值 https:// URL。
  • 有效值示例:

- SNAPTRADE_OAUTH_REDIRECT_URI=https://chatgpt.com/connector/oauth/xxxx - SNAPTRADE_PUBLIC_URL=https://abc123.ngrok-free.app

安全

  • 只读 --无交易、无账户修改、无删除
  • 已隔离凭据 -API密钥从env vars加载,用户机密存储在 ~/.snaptrade/config.json (600克)。两者均未出现在工具响应中。
  • 无危险操作 --无法删除用户、重置机密或修改任何内容

建筑

snaptrade_mcp/
  server.py           # All 10 tools, 2 resources, 2 prompt templates
  oauth_provider.py   # In-memory OAuth 2.0 authorization server (for HTTP transport)
  __init__.py         # Package marker + version
  __main__.py         # Entry point (python -m snaptrade_mcp)

服务器支持两种传输模式:

  • 工作室 (默认)--用于本地MCP客户端(Claude Code、Claude Desktop、Cursor)
  • 可流式传输的HTTP (--transport streamable-http)--用于远程客户端(ChatGPT)。需要 SNAPTRADE_OAUTH_CLIENT_ID, SNAPTRADE_OAUTH_CLIENT_SECRET, SNAPTRADE_OAUTH_REDIRECT_URI (来自OAuth客户端的回调URL),以及 SNAPTRADE_PUBLIC_URL (您的ngrok URL)用于OAuth 2.0身份验证。

每个工具函数都调用SnapTrade Python SDK,将响应扁平化为干净的JSON,并将其返回给AI客户端。

目录标签

目录标签

AI代理金融工具PythonClaude本地部署经纪数据MCP协议数据连接

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP