Developers · MCP

Connect your agents to Rithmo.

Rithmo exposes a read-only Model Context Protocol server. Your tools and agents query the current decision before they act, and react when decisions change. Checking what is current before acting is one requirement for reliable agent execution. Read-only: Rithmo emits the record, your tools act on it.

Early access. The interface is live and stable; access is provisioned per organization.

Getting access

Three steps to a live connection.

01

Request access

Ask us to enable the MCP interface for your organization.

02

We provision a token

You receive an MCP endpoint URL and a per-organization service token (read-only, scoped to your org).

03

Connect

Drop the URL and token into your MCP client, or into n8n. That is it.

The token resolves to exactly one organization; every result is scoped to that org. Keep it in a secret store, never in code. Coverage: answers cover the decisions Rithmo has captured and indexed for your org, so value scales with how much of your decision history Rithmo has ingested.

Connect

MCP over HTTP, with a bearer token.

Streamable HTTP transport, authenticated with the token we provide. Any MCP-compatible client connects the same way.

// Node, official MCP SDK

const transport = new StreamableHTTPClientTransport(

new URL(RITHMO_MCP_URL),

{ requestInit: { headers: { Authorization: `Bearer ${TOKEN}` } } }

);

await client.connect(transport);

const res = await client.callTool({

name: "query_decision",

arguments: { question: "Are we still shipping the new onboarding flow?" }

});

The tools

Three read-only tools.

query_decision

Look up the current decision for a natural-language question. Returns the answer, owner, source, and status, or an explicit no_record.

// input

{

question: "...", // required

type?, owner?, area? // optional filters

}

// output, found

{

result: "found",

answer, status, owner, source,

decided_at, due_at, confidence

}

// or

{ result: "no_record" }

Deterministic: the same decision returns a byte-identical answer (no model in the response path). owner and source are discriminated states, never bare nulls. no_record is a first-class branch, not an error.

list_decision_changes

Drain a cursor-paged feed of decisions that changed state. Poll it on a schedule; includes reversals.

{ since?, limit? }{

changes: [ ... ],

cursor, has_more

}

whoami

No arguments. Returns the organization and scopes your token resolves to. A quick connection check.

whoami() → {

org_id, scopes

}

n8n

Works with n8n out of the box.

n8n’s built-in MCP Client node calls these tools as normal workflow steps, no AI agent required. Query a decision before an execution step and branch on the result, or drain the change feed on a schedule. An importable, verified workflow is in the examples repo.

Examples & n8n workflow

// n8n MCP Client node

Tool: query_decision

Params: { question }

// IF branch

{{ $json.structuredContent.result }} == "found"

found → proceed

no_record → pause / ask a human

Ready to connect?

Request access and we’ll provision a token for your organization.