Right Reasons MCP Server

AI agents using Markdown + RAG score 0% recall on "why?" questions. The same agents using Right Reasons score 100%. Tested across 48 sessions with 2

Local serverstdioPython

What is the Right Reasons MCP server?

Most database access work still happens through a UI a human drives. Right Reasons MCP server moves it into the conversation instead. AI agents using Markdown + RAG score 0% recall on "why?" questions. The same agents using Right Reasons score 100%. Tested across 48 sessions with 2 independent judges. Full experiment results →.

The tools it exposes

The server publishes 14 tools. What each one is for:

  • list_objects — List objects filtered by layer, type, search, validation status
  • get_object — Full details of a single object
  • list_relations — List relations with assertion explanations
  • get_relation_assertion — Full assertion history for a relation
  • traverse_graph — Navigate the ontology graph — trace "why?" chains
  • get_schema_info — All object types (14) and relation types (20)
  • get_authentication_trail — Audit trail: who proposed, confirmed, validated
  • get_explanation_packet — Complete context for an object in one call
  • query_sql — Read-only SQL for advanced queries
  • create_session — Start an EPICAL intake session
  • propose_object — Stage a candidate object (requires authentication before promotion)
  • propose_relation — Stage a candidate relation

What it needs from you

Configuration is passed through the environment: RR_DOLT_HOST, RR_DOLT_PORT, RR_DOLT_DATABASE. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  • Docker and Docker Compose - Python 3.11+

Getting it running

Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client.

How it compares

Plenty of database access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Right Reasons's toolset — list_objects, get_object, list_relations and 11 more — is a fair guide to whether it matches your workflow. It is maintained by right-reasons; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Right Reasons.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
list_objectsList objects filtered by layer, type, search, validation status
get_objectFull details of a single object
list_relationsList relations with assertion explanations
get_relation_assertionFull assertion history for a relation
traverse_graphNavigate the ontology graph — trace "why?" chains
get_schema_infoAll object types (14) and relation types (20)
get_authentication_trailAudit trail: who proposed, confirmed, validated
get_explanation_packetComplete context for an object in one call
query_sqlRead-only SQL for advanced queries
create_sessionStart an EPICAL intake session
propose_objectStage a candidate object (requires authentication before promotion)
propose_relationStage a candidate relation
promote_candidatePromote authenticated candidate to canonical
generate_ops_contractAuto-generate reasoning envelope from ontology for external work

Configuration

  • Docker and Docker Compose - Python 3.11+
VariableDescriptionRequired
RR_DOLT_HOSTEndpoint or connection string the server talks to.Optional
RR_DOLT_PORTConfiguration value read at startup.Optional
RR_DOLT_DATABASEConfiguration value read at startup.Optional

Example prompts to try

  • Use Right Reasons to list objects.
  • Use Right Reasons to get object.
  • Use Right Reasons to list relations.

Frequently asked questions

It connects Right Reasons to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (list_objects, get_object, list_relations, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Right Reasons directly.