Skip to main content
Glama
NinjaEde

sc-mcp

by NinjaEde

sc-mcp

将你的 Scalable Capital 券商账户连接到任何支持 MCP 的助手。该服务器是 Scalable Capital 官方 sc CLI 的一个轻量、只读友好的封装——智能体可以在 Claude Code、Claude Desktop、Codex、Cursor 和 VS Code 中使用相同的配置获取你的投资组合、交易、分析、报价、图表、自选列表和提醒。

功能

  • 实时券商数据 — 总览、持仓、交易、分析、现金明细、业绩图表、报价、证券新闻。

  • 投资组合管理附加功能 — 自选列表、价格提醒、投资组合分组和储蓄计划配置。

  • 默认快速 — 读取响应会缓存到 SQLite 文件中(重启后仍保留,见 配置)。

  • 安全第一 — 不进行交易,不下单。写入工具默认关闭,除非你主动开启;涉及资金操作的命令在设计上不存在。

  • 随处可运行 — 桌面客户端使用纯 stdio,远程访问使用 HTTP,或者使用完全自包含的 Docker 镜像。

[!Warning] 非官方。 这是 Scalable Capital sc CLI 的社区封装——与 Scalable Capital 无关联,也未获其认可。在官方 MCP 服务器出现之前作为临时方案,一旦官方版本出现,此项目可能被弃用。

无担保。 按 MIT 许可证“按现状”提供;不对损失、损坏、错误数据或任何财务后果承担责任。不构成财务建议——请核实后再据此采取行动。

工具

只读工具会实时访问券商;成功响应会缓存 5 分钟(可配置)到 SQLite 文件中,重启后依然有效。

工具

返回内容

sc CLI 版本

sc_overview

投资组合价值、现金、业绩

v0.1.0

sc_holdings

持仓及其价格、数量、市值

v0.1.0

sc_transactions

带筛选条件的交易历史(日期、ISIN、类型、分页)

v0.1.0

sc_analytics

配置、行业/地区敞口、归因

v0.1.0

sc_security_news

按 ISIN 获取某证券的最新新闻

v0.1.0

sc_quote

按 ISIN 获取当前报价

v0.2.0

sc_search

在投资组合上下文中搜索证券

v0.1.0

sc_transaction

按 ID 获取单笔交易详情

v0.2.0

sc_cash_breakdown

购买力、现金、信用、衍生品可用性

v0.4.0

sc_chart

按 ISIN 获取历史 OHLCV(1d/7d/1m/3m/6m/ytd/1y/max)

v0.5.0

sc_overnight

隔夜储蓄账户摘要

v0.5.0

sc_overnight_transactions

带筛选条件的隔夜交易历史

v0.5.0

sc_portfolio_groups

分组及买入以来表现、未分组持仓

v0.6.0

sc_derivatives_search

衍生品发现(敲出/权证/因子)

v0.3.0

sc_watchlist

自选列表(只读)

v0.1.0

sc_price_alerts

价格提醒,可选仅显示有效项

v0.1.0

sc_savings_plans_config

储蓄计划配置与事前费用(只读)

v0.6.0

sc_capabilities

CLI 能力转储(版本、命令、退出码)

v0.1.0

sc_watchlist_add ⚠️

添加到自选列表

v0.1.0

sc_watchlist_remove ⚠️

从自选列表移除

v0.1.0

sc_price_alert_add ⚠️

创建价格提醒

v0.1.0

sc_price_alert_remove ⚠️

移除价格提醒

v0.2.0

sc_portfolio_group_create ⚠️

创建分组

v0.6.0

sc_portfolio_group_update ⚠️

更新分组名称/描述

v0.6.0

sc_portfolio_group_delete ⚠️

删除分组

v0.6.0

sc_portfolio_group_assign ⚠️

将持仓分配到分组

v0.6.0

sc_portfolio_group_unassign ⚠️

取消持仓与分组的关联

v0.6.0

⚠️ = 需要 SC_MCP_ENABLE_WRITES=true,默认关闭。

sc CLI 还提供 tradesavings-plans add/remove 命令。这些命令刻意不暴露——涉及资金操作的命令完全不在范围内(上面的写入工具只涉及自选列表、提醒和分组)。

快速开始

选择其中一条路径——三条路径最终都会得到可用的服务器:

路径

你需要什么

文档

Claude Code 插件

仅需 Claude Code——零配置

下方

uvx 单行命令

uv 和已登录的 sc CLI

任意客户端

Docker

仅需 Docker——本地无需安装任何东西

下方

Claude Code 插件

/plugin marketplace add NinjaEde/mcp-scalable-capital
/plugin install sc-mcp

这会注册 scalable-capital MCP 服务器和一个技能,告诉 Claude 何时以及如何使用这些工具。

uvx 单行命令

uvx --from git+https://github.com/NinjaEde/mcp-scalable-capital@v0.2.0 sc-mcp

将任何 MCP 客户端指向该命令(sc-mcp 以 stdio 启动,按 版本控制 固定标签)。

要求

  1. PATH 中安装 uv —— 使用 Docker 可跳过此步骤。

  2. PATH 中安装 sc CLI(见 认证)。

  3. 已认证的会话:sc login(见 认证)。

Docker 同时打包了 CLI 和此服务器,因此那里唯一的手动步骤就是下面的登录。

认证

每个 sc_* 工具都会调用 Scalable Capital 官方 sc CLI,该 CLI 必须在每台机器(或每个 Docker 卷)上安装登录一次。

安装 CLI

macOS(Homebrew):

brew install scalablecapital/tap/scalable-cli

Linux(也是 Docker 镜像内置的二进制):下载适合你架构的官方构建,并将 sc 放到 PATH 中:

ARCH=$(uname -m)   # x86_64 or aarch64
curl -fSL "https://github.com/ScalableCapital/scalable-cli/releases/download/v0.6.0/sc-v0.6.0-linux-${ARCH}-gnu.tar.gz" -o /tmp/sc.tar.gz
tar xzf /tmp/sc.tar.gz -C /tmp
sudo install -m 0755 /tmp/sc-v0.6.0-linux-${ARCH}-gnu/sc /usr/local/bin/sc

验证:

sc --version   # e.g. "sc 0.6.0"

登录(一次)

sc login       # device flow: open the printed URL, confirm, done
sc whoami      # confirm the session works

如果某个工具之后报告 “会话可能已过期——请运行 sc login,只需重新运行 sc login

会话存储位置

~/.config/scalable-cli/

文件

用途

session.json

你已认证的会话(Docker 中的 sc-cli-config 卷)

config.toml

可选设置——例如会话后端

无头 / 无钥匙环环境(Docker、CI、服务器):CLI 默认使用操作系统钥匙环。如果不存在钥匙环,请将其指向普通文件(Docker 镜像已通过在 docker/entrypoint.sh 中完成此操作):

# ~/.config/scalable-cli/config.toml
[auth]
session_backend = "file"

然后再次运行 sc login——会话会保存到 session.json,并在重启后持续有效。

提示: 在容器内复用主机会话,而不是登录两次:

docker cp ~/.config/scalable-cli/session.json sc-mcp:/home/sc/.config/scalable-cli/session.json
docker compose restart

请像对待密码一样对待该文件——切勿提交到版本库。

与客户端集成

Claude Code(手动)

claude mcp add scalable-capital -- uvx --from git+https://github.com/NinjaEde/mcp-scalable-capital@v0.2.0 sc-mcp

Cursor

添加到 Cursor — 或添加到 .cursor/mcp.json(或 ~/.cursor/mcp.json):

{
  "mcpServers": {
    "scalable-capital": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/NinjaEde/mcp-scalable-capital@v0.2.0", "sc-mcp"]
    }
  }
}

Codex

添加到 ~/.codex/config.toml

[mcp_servers.scalable-capital]
command = "uvx"
args = ["--from", "git+https://github.com/NinjaEde/mcp-scalable-capital@v0.2.0", "sc-mcp"]

Claude Desktop(捆绑包,无需编辑配置)

下载 sc-mcp.mcpb,然后在 Claude Desktop 中进入 设置 → 扩展 → 安装扩展 并选择该文件。

[!Note] 如果 Claude Desktop 找不到 uvx,请打开扩展的设置并设置完整路径(例如 /opt/homebrew/bin/uvx)。macOS 上的图形界面应用并不总会继承你 shell 的 PATH

VS Code / 其他 MCP 客户端

{
  "mcpServers": {
    "scalable-capital": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/NinjaEde/mcp-scalable-capital@v0.2.0", "sc-mcp"]
    }
  }
}

固定 @v0.2.0 标签(见 版本控制)。移除后则跟踪最新的 main 分支。

Docker

整个技术栈——此服务器 sc CLI——都在容器中运行,因此你只需要 Docker(无需本地安装 uv、Python 或 sc):

docker compose up -d --build              # build + start on http://localhost:8000/mcp
docker compose run --rm sc-login          # first time only — interactive device flow

会话存储在 sc-cli-config 卷中,重启后仍然保留。除非你在 docker-compose.yml 中设置 SC_MCP_ENABLE_WRITES: "true",否则写入工具保持关闭。

将任何支持 HTTP 的 MCP 客户端指向服务器 URL:

{
  "mcpServers": {
    "scalable-capital": {
      "type": "http",
      "url": "http://localhost:8000/mcp"
    }
  }
}

容器直接与 scalable.capital 通信。sc login 的设备流 URL 与主机上相同;在浏览器中跟随即可。镜像已自带 session_backend = "file" 配置(见 认证)。

兼容性

已针对 sc 0.6.x 进行测试。该 CLI 尚未到 1.0,其命令面可能在小版本之间变化;如果安装的 sc 与测试的 major.minor 不同,服务器会在启动时向 stderr 记录警告。sc 是外部二进制,不是 Python 依赖,因此这是唯一可用的强制手段。如果你看到警告且某个工具行为异常,版本不匹配很可能是原因。

配置

环境变量

默认值

作用

SC_MCP_CACHE_TTL

300

成功响应的缓存秒数。0 表示禁用缓存(始终实时访问券商)。

SC_MCP_CACHE_DB

~/.cache/sc-mcp/cache.db

SQLite 缓存文件的路径。

SC_MCP_ENABLE_WRITES

未设置

设置为 1trueyes 可启用 ⚠️ 写入工具。

SC_MCP_TRANSPORT

stdio

streamable-http(或 http)通过 HTTP 提供服务,而不是 stdio——用于 Docker。

SC_MCP_HTTP_HOST

0.0.0.0

HTTP 传输的绑定地址。

SC_MCP_HTTP_PORT

8000

HTTP 传输的端口。

开发

uv sync
uv run sc-mcp          # starts the stdio server
# or
SC_MCP_TRANSPORT=streamable-http uv run sc-mcp
uv run pytest

如何与 sc 保持同步(何时添加/更新工具、提升 SUPPORTED_SC_VERSION、保持只读不变量)记录在 CLAUDE.md 中。

版本控制

SemVer——工具就是公共 API:

版本号

触发条件

MAJOR

工具被移除/重命名,或参数发生不兼容更改

MINOR

新增工具或可选参数

PATCH

错误修复、错误消息措辞、内部实现

发布版本以 vX.Y.Z 标记;通过 uvx --from git+... 安装时请固定标签,否则会跟踪默认分支,可能在不知不觉中改变你的工具面。大多数版本提升由 sc CLI 的变更驱动(见 兼容性);此版本是包自身的版本,不是 sc 的版本。

许可证

MIT

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Brazilian Open Finance MCP — 30+ banks (Itaú, Nubank, etc.) to Claude/Cursor. Read-only.

  • Connect your Clear account to AI via Brazil's Open Finance: balances, statements, cards, investments

  • Connect your XP account to AI via Brazil's Open Finance: balances, statements, cards, investments. R

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NinjaEde/mcp-scalable-capital'

If you have feedback or need assistance with the MCP directory API, please join our Discord server