Skip to main content
All tools accept a response_format of "markdown" or "json" (default "markdown").
ToolRead/WriteSummary
reality_harness_connect_folderlocal-mutatingRegister a local folder. Must exist, be under your home directory, and have a .git or docs/ folder.
reality_harness_scan_progressread-onlyAggregate git + planning-doc activity over a window. Returns metrics + short text — never source code.
reality_harness_preview_xppureApply the published XP mapping + multiplier to a summary. No I/O, no side effects.
reality_harness_submit_progressnetworkSend a summary to Conquoreum; returns exactly what the backend awards (XP, level, streak, tier).
reality_harness_submit_outcomenetworkSubmit a Level 2 outcome event (proof.payment / proof.release / proof.evaluation). Requires the rhp:outcome scope.
reality_harness_generate_reportread-onlyA markdown report (daily/weekly), suitable for pasting anywhere.
reality_harness_write_reportlocal-mutating (own vault dir)Same report, written as a note into your configured vault directory.
reality_harness_statusnetworkYour current tier, total XP, level, streak, and connected folders.

Security posture

  • Thin, untrusted client. The MCP never asserts an XP total or grants itself a tier — Conquoreum’s backend is the sole authority on XP, tier limits, and anti-cheat.
  • Read-only on your source repos. No write methods, no shell, no executing your repo’s code. It writes only its own local state and, if you use it, your configured report note.
  • No source code or diffs ever leave your machine. Scans return only aggregate metrics, commit subjects, and completed-checkbox headlines.
  • Path safety. Folder paths are home-directory-contained and rejected if they try to traverse outside it.
  • No secrets in code. All secrets are read from your environment only, never logged.

Offline queue

submit_progress and submit_outcome are resilient to network flakes. If Conquoreum is briefly unreachable, the submission queues locally and retries with backoff; a submission that’s permanently rejected (bad auth, a genuine duplicate) is dropped rather than retried forever. A queued retry that already landed is a safe no-op — you’re never double-awarded.