Skip to main content
Glama
ratulotron

sc-mcp

by ratulotron

sc-mcp

An MCP server that wraps the Scalable Capital sc CLI, exposing your broker data to any MCP-capable harness (Claude Code, Claude Desktop, Codex, Cursor, …).

Unofficial. This is a community, read-only wrapper around Scalable Capital's official sc CLI — not affiliated with or endorsed by Scalable Capital. It's a stopgap until they ship a first-party MCP server; expect to retire it when they do.

No warranty / use at your own risk. Provided "as is" under the MIT License, with no warranty of any kind. The author takes no responsibility for any loss, damage, incorrect data, or financial consequence arising from its use. This is a personal tool for your own broker data — you are responsible for verifying anything you act on. It is not financial advice.

Tools

Tool

What it returns

sc_overview

Portfolio total value, cash, performance

sc_holdings

All positions with prices, quantities, market values

sc_transactions

Trade history with filters (date, ISIN, type, paging)

sc_analytics

Allocation, sector/region exposure, attribution

sc_security_news

Latest news summary for a security by ISIN

sc_quote

Current quote for a security by ISIN

sc_search

Search securities within the portfolio context

sc_transaction

Details for a single transaction by ID

This server is read-only — it never places trades or mutates account state. All calls hit the broker live. Responses are cached in-process for 5 minutes.

The sc CLI also exposes write operations (watchlist, price-alerts, savings-plans, trades). These are deliberately not included in this release. Any future write support will be opt-in, disabled by default, and enabled only via an explicit environment flag — never on by default. Money-moving commands (trade, savings-plans) are out of scope entirely.

Related MCP server: Schwab MCP Server

Prerequisites

  1. The sc CLI installed and on PATH.

  2. An authenticated session: sc login.

Compatibility

Tested against sc 0.2.x. The sc CLI is pre-1.0, so its command surface can change between minor versions — the server logs a warning to stderr at startup if your installed sc differs from the tested major.minor. sc is an external binary, not a Python dependency, so this is the only enforcement available; if you see the warning and a tool misbehaves, that mismatch is the likely cause.

Install

Requires uv (provides uvx). Every method below launches the server via uvx — no manual clone or pip install.

Claude Code (plugin — easiest)

This repo is also a Claude Code plugin marketplace. Two commands:

/plugin marketplace add ratulotron/sc-mcp
/plugin install sc-mcp@ratulotron

That registers the scalable-capital MCP server and a usage skill. It also bundles a light skill that tells Claude when and how to use the tools.

Claude Code (manual)

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

Cursor

Add to Cursor — or add to .cursor/mcp.json (or ~/.cursor/mcp.json):

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

Codex

Add to ~/.codex/config.toml:

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

Claude Desktop / VS Code / other MCP clients

Add the standard server config (in claude_desktop_config.json, VS Code mcp.json, etc.):

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

Pin the @v0.1.0 tag (see Versioning). Drop it to track the latest main.

Configuration

Env var

Default

Effect

SC_MCP_CACHE_TTL

300

Seconds to cache successful responses in-process. Set 0 to disable caching (always hit the broker live).

Develop

uv sync
uv run sc-mcp      # starts the stdio server
uv run pytest

Maintaining compatibility as sc evolves — when to add/update tools, bump SUPPORTED_SC_VERSION, and the read-only invariants — is documented in CLAUDE.md.

Versioning

This package uses SemVer. The tools are the public API:

Bump

Trigger

MAJOR

A tool is removed/renamed, or a parameter changes incompatibly

MINOR

A tool or optional parameter is added

PATCH

Bug fix, error-message wording, internals

Releases are tagged vX.Y.Z. Pin a tag when installing — uvx --from git+... tracks the default branch (latest) by default, so without a pin your tool surface can change underneath you:

uvx --from git+https://github.com/ratulotron/sc-mcp@v0.1.0 sc-mcp

Most version bumps here are driven by sc CLI changes (see Compatibility), but the version number is this package's own — it does not mirror the sc version.

License

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (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.

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/ratulotron/sc-mcp'

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