Developers · MCP

Integrate the decision layer.

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. 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.