Skip to content
CapitalSourceThe CapitalOps platform
Recurser CLIThe command-line harness for commercial lending

Your terminal is now
a deal desk.

Recurser drives CSG-1003 applications and the Intake agent from a single command — the same Core Service the portal and the MCP server call, with the same audit trail.

Binary recursercsg alias for back-compatClaude Desktop over MCP stdio
~ recurser
recurser apps create
{ "application_id": "cm7q4f9x0000…", "conversation_handle": "cm7q4f9x0000…" }
recurser apps chat cm7q4f9x0000… “Acme HVAC LLC, Texas, $150k WC”
{ "type": "text-delta", "delta": "Got it. How long has Acme" }
{ "type": "field-recorded", "field": "legal_business_name" }
recurser apps qualify cm7q4f9x0000…
{ "status": "qualified", "qualifying_products": ["Working Capital Financing"] }
Install

Build it today. Registry install is next.

The binary is recurser, with csg kept as an alias for existing scripts. The workspace package is not published yet, so the only path that works right now is building from the repo.

From source

shipping

The only path today. Node 22+ and pnpm, inside the monorepo.

$pnpm --filter @capitalsource/cli build

npm

planned

@capitalsource/cli is still private at 0.0.0. Not published yet.

$npm i -g @capitalsource/cli

Homebrew

planned

No tap exists yet. Tracked for a later release.

$brew install capitalsourceai/tap/recurser
# Then, from the repo root:
pnpm --filter @capitalsource/cli dev auth login --token csg_pat_live_…
pnpm --filter @capitalsource/cli dev doctor
Command grammar

Five verbs. Every deal in one shell.

doctor, auth, apps, agent, mcp. Pipe it, script it, cron it. Every LLM-backed call writes a usage_events row in the same transaction as the response — whether you typed it or your agent did.

Apps

shipping

The deal. A CSG-1003 from draft to certified package.

  • $recurser apps create

    Opens a draft CSG-1003 and prints its id. Takes no arguments.

  • $recurser apps chat <id> "Acme HVAC LLC, Texas, $150k WC, 3 yrs in biz"

    Streams the Intake agent's SSE events as newline-delimited JSON.

  • $recurser apps qualify <id>

    Runs the gating engine and flips status to qualified.

  • $recurser apps certify <id> --full-name "Dana Ruiz" --ssn-last-4 4821

    FCRA credit authorization + signature. Persists the certified package.

  • $recurser apps package <id>

    Fetches the certified package payload, including the signed PDF URL.

Agents

shipping

The CLI's own agent registry — six entries, one of them callable today. It is a narrower list than the eleven-agent catalog on /agents.

  • $recurser agent list

    The six agents in the CLI registry with model assignment and implementation status.

  • $recurser agent show chaser

    Metadata for one agent. BirdDog’s lookup key is the Prisma enum value, chaser.

  • $recurser agent chat intake --app-id <id> "we bill net-60 and need $150k"

    Intake is the only callable agent. Streams the same events as apps chat.

MCP

shipping

The bridge. Make Claude Desktop a CapitalSource client.

  • $recurser mcp install

    Writes a csg entry into Claude Desktop's config with your stored token. --client claude-desktop is the only supported host.

  • $recurser mcp serve

    Runs the MCP server in-process over stdio. Claude Desktop launches this for you; there is no HTTP flag.

Auth & ops

shipping

Credentials and diagnostics.

  • $recurser auth login --token csg_pat_live_…

    Stores the PAT in ~/.csg/config.json. --token is required — there is no browser or device flow yet.

  • $recurser doctor

    Preflight: Node version, stored credentials, Core reachability.

On the roadmap

planned

Shapes we intend to ship. None of these do the job yet.

  • $recurser agent chat underwriter "credit memo for <id>"

    Parses today, then raises AgentNotAvailableError. Processor and Underwriter are built, but this CLI chat binding is unavailable. BirdDog, Closer, and Recruiter also have no chat binding here.

  • $recurser apps submit <id> --funder fnd_blueacme

    Funder dispatch. The Funder model exists in the schema; the endpoint and command do not.

  • $recurser funders list --product mca

    Read the funder registry and submission templates.

  • $recurser usage --by surface

    GET /v1/usage/by-surface already exists in the REST API; the CLI wrapper does not.

CapitalSource Agent Harness · Processor pilot

A command line for your stack. An agent harness in Core.

Use Recurser for supported application commands and MCP setup. The CapitalSource Agent Harness powers the Processor readiness pilot in the Core worker, keeping task progress, approval decisions, and spending records together.

Where it fits your stack

  • Prepare and inspect CSG-1003 applications with the CLI’s existing commands.
  • Configure the Processor pilot in Flows and inspect its agent execution history.
  • Use REST or the TypeScript SDK when your integration needs harness task controls.

Dedicated Recurser harness commands are not available yet. The current pilot is managed through REST, the SDK, and the portal.

MCP bridge

Make Claude Desktop a CapitalSource client.

Recurser doubles as a Model Context Protocol server. One install command wires Claude Desktop to the CSG-1003 tools, so your assistant can open, advance, qualify, and certify an application without leaving the chat.

14 MCP tools — applications, capabilities, pingstdio transport, launched by the hostSame auth, same audit, same usage rail
~ recurser mcp
# Wire up Claude Desktop in one line
recurser mcp install
added entry at ~/.config/Claude/claude_desktop_config.json
# Restart Claude Desktop. Tools registered:
apps_create
apps_chat
apps_qualify
apps_certify
score_csg_1003_completeness
… + 9 more
# Claude Desktop runs this for you; or run it directly
recurser mcp serve
connected to api.capitalsource.ai via stdio
Why Recurser

CSG-1003 is the protocol. Recurser is the command line.

Recurser gives people and their agents a command-line surface for the headless Core. CSG-1003 standardizes the application; Recurser lets you work with it from a shell. The CapitalSource Agent Harness manages the Processor pilot’s execution inside Core.

The CLI is one of four clients of the same Core Service. The others are the REST API, the MCP server, and the portal. Same auth, same router, same usage rail — pick the surface that fits the task.