sc-mcp
sc-mcp
将你的 Scalable Capital 券商账户连接到任何支持 MCP 的助手。该服务器是 Scalable Capital 官方 sc CLI 的一个轻量、只读友好的封装——智能体可以在 Claude Code、Claude Desktop、Codex、Cursor 和 VS Code 中使用相同的配置获取你的投资组合、交易、分析、报价、图表、自选列表和提醒。
功能
实时券商数据 — 总览、持仓、交易、分析、现金明细、业绩图表、报价、证券新闻。
投资组合管理附加功能 — 自选列表、价格提醒、投资组合分组和储蓄计划配置。
默认快速 — 读取响应会缓存到 SQLite 文件中(重启后仍保留,见 配置)。
安全第一 — 不进行交易,不下单。写入工具默认关闭,除非你主动开启;涉及资金操作的命令在设计上不存在。
随处可运行 — 桌面客户端使用纯 stdio,远程访问使用 HTTP,或者使用完全自包含的 Docker 镜像。
[!Warning] 非官方。 这是 Scalable Capital
scCLI 的社区封装——与 Scalable Capital 无关联,也未获其认可。在官方 MCP 服务器出现之前作为临时方案,一旦官方版本出现,此项目可能被弃用。无担保。 按 MIT 许可证“按现状”提供;不对损失、损坏、错误数据或任何财务后果承担责任。不构成财务建议——请核实后再据此采取行动。
工具
只读工具会实时访问券商;成功响应会缓存 5 分钟(可配置)到 SQLite 文件中,重启后依然有效。
工具 | 返回内容 |
|
| 投资组合价值、现金、业绩 | v0.1.0 |
| 持仓及其价格、数量、市值 | v0.1.0 |
| 带筛选条件的交易历史(日期、ISIN、类型、分页) | v0.1.0 |
| 配置、行业/地区敞口、归因 | v0.1.0 |
| 按 ISIN 获取某证券的最新新闻 | v0.1.0 |
| 按 ISIN 获取当前报价 | v0.2.0 |
| 在投资组合上下文中搜索证券 | v0.1.0 |
| 按 ID 获取单笔交易详情 | v0.2.0 |
| 购买力、现金、信用、衍生品可用性 | v0.4.0 |
| 按 ISIN 获取历史 OHLCV(1d/7d/1m/3m/6m/ytd/1y/max) | v0.5.0 |
| 隔夜储蓄账户摘要 | v0.5.0 |
| 带筛选条件的隔夜交易历史 | v0.5.0 |
| 分组及买入以来表现、未分组持仓 | v0.6.0 |
| 衍生品发现(敲出/权证/因子) | v0.3.0 |
| 自选列表(只读) | v0.1.0 |
| 价格提醒,可选仅显示有效项 | v0.1.0 |
| 储蓄计划配置与事前费用(只读) | v0.6.0 |
| CLI 能力转储(版本、命令、退出码) | v0.1.0 |
| 添加到自选列表 | v0.1.0 |
| 从自选列表移除 | v0.1.0 |
| 创建价格提醒 | v0.1.0 |
| 移除价格提醒 | v0.2.0 |
| 创建分组 | v0.6.0 |
| 更新分组名称/描述 | v0.6.0 |
| 删除分组 | v0.6.0 |
| 将持仓分配到分组 | v0.6.0 |
| 取消持仓与分组的关联 | v0.6.0 |
⚠️ = 需要 SC_MCP_ENABLE_WRITES=true,默认关闭。
sc CLI 还提供 trade 和 savings-plans add/remove 命令。这些命令刻意不暴露——涉及资金操作的命令完全不在范围内(上面的写入工具只涉及自选列表、提醒和分组)。
快速开始
选择其中一条路径——三条路径最终都会得到可用的服务器:
路径 | 你需要什么 | 文档 |
Claude Code 插件 | 仅需 Claude Code——零配置 | |
|
| |
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 启动,按 版本控制 固定标签)。
要求
Docker 同时打包了 CLI 和此服务器,因此那里唯一的手动步骤就是下面的登录。
认证
每个 sc_* 工具都会调用 Scalable Capital 官方 sc CLI,该 CLI 必须在每台机器(或每个 Docker 卷)上安装并登录一次。
安装 CLI
macOS(Homebrew):
brew install scalablecapital/tap/scalable-cliLinux(也是 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/:
文件 | 用途 |
| 你已认证的会话(Docker 中的 |
| 可选设置——例如会话后端 |
无头 / 无钥匙环环境(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-mcpCursor
添加到 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 依赖,因此这是唯一可用的强制手段。如果你看到警告且某个工具行为异常,版本不匹配很可能是原因。
配置
环境变量 | 默认值 | 作用 |
|
| 成功响应的缓存秒数。 |
|
| SQLite 缓存文件的路径。 |
| 未设置 | 设置为 |
|
|
|
|
| HTTP 传输的绑定地址。 |
|
| 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 的版本。
许可证
This server cannot be installed
Maintenance
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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