scaurmcp.com / open source / codebase 0.7.0

A small control layer
for financial agents.

Scaur gives an agent a few public-equity research tools and a narrow, policy-checked route to Robinhood. Research can read the market. Execution still has to pass policy.

scaur /skɔːr/ noun
A steep cliff or rock face.

Start with the read-only part.

Scaur can research one public equity or compare two to five in the same authenticated Robinhood session. Each result contains the underlying observations and a hash of the assembled evidence.

ToolInputReturnsAccount authority
scaur_research_equityone symbolquote, fundamentals, daily RSI, earnings, evidence hashnone
scaur_compare_equities2–5 symbolscomplete records, compact comparison, combined hashnone
scaur_live_orderone limit orderpolicy decision, then submission receipt if allowedbounded and opt-in

The first two tools do not receive an account number, read portfolio data, or call an order tool. MCP tool identifiers use the scaur_ namespace.

An order follows one path.

The operator chooses the account, policy, state, venue, credentials, and session limits when Scaur starts. The calling agent cannot change those values through an order request.

agent proposes an order
          │
          ▼
┌──────────────────────────┐
│          scaur           │
│  policy + state + limits │
└──────────────────────────┘
          │
          ├── denied ──────► decision receipt / stop
          │
          └── allowed ─────► exact-order permit
                                      │
                                      ▼
                              credentialed relay

The permit is specific. Change the symbol, side, quantity, price, account, or route and it no longer matches.

The permit is consumed once. Reusing an approved action fails instead of creating a second order.

The relay stays separate. Venue credentials never enter the agent-facing tool schema.

What the system leaves behind.

The useful output is not a dashboard. It is a small set of records another process can inspect or replay.

Research evidence
Timestamped market observations and a domain-separated SHA-256 identifier.
Decision receipt
The exact checks that passed or failed and the facts used to evaluate them.
Execution permit
Short-lived, single-use authority bound to one order.
Event history
A local JSONL ledger whose entries are chained by hash.

Two equities, one evidence trail.

A validated AAPL/MSFT comparison returned two complete records and one combined hash. The important boundary is included in the result itself.

{
  "schemaVersion": "scaur.equity-comparison.v1",
  "items": 2,
  "accountDataRead": false,
  "orderToolsCalled": false,
  "combinedEvidenceHash": "sha256:…"
}

The boundary is clearer than the roadmap.

Built read-only equity research, multi-equity comparison, deterministic policy checks, paper cycles, exact-order permits, and the event ledger.

Experimental an explicitly armed Robinhood equity limit-order relay with operator-selected ceilings.

Not built production custody and reconciliation, signed state, a multi-host event store, or Robinhood Chain registry and settlement adapters.

Scaur is experimental software, not a broker or fund. Paper mode is the default. A successful live tool result means submitted, not filled.

Use research mode first.

git clone https://github.com/scaurMCP/scaur.git
cd scaur
npm ci
npm test
npm run mcp:research

Then ask the connected agent to use scaur_compare_equities and return the evidence.