cross-review
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GROK_API_KEY | Yes | xAI Grok API key | |
| GEMINI_API_KEY | Yes | Google Gemini API key | |
| OPENAI_API_KEY | Yes | OpenAI API key for Codex/OpenAI peer | |
| DEEPSEEK_API_KEY | Yes | DeepSeek API key | |
| ANTHROPIC_API_KEY | Yes | Anthropic API key for Claude | |
| CROSS_REVIEW_STUB | No | Set to '1' for stub mode (smoke tests, no cost) | 0 |
| PERPLEXITY_API_KEY | Yes | Perplexity API key | |
| CROSS_REVIEW_MAX_SESSION_COST_USD | No | Maximum session cost in USD for paid calls | |
| CROSS_REVIEW_UNTIL_STOPPED_MAX_COST_USD | No | Until-stopped max cost in USD for paid calls | |
| CROSS_REVIEW_PREFLIGHT_MAX_ROUND_COST_USD | No | Preflight max round cost in USD for paid calls |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| server_infoB | Return runtime information for the API-only Cross Review MCP server, including version, data directory and active security mode. |
| runtime_capabilitiesA | Return the stable cross-review runtime capability contract and active tool list. |
| probe_peersB | Query official provider APIs to discover available models for the current API keys, select the highest-capability documented model, and verify provider reachability. |
| session_initA | Create a durable cross-review session after probing provider availability and model selection. This does not call reviewer models yet. |
| session_listA | List durable sessions saved under the local data directory. The default response is paginated and summary-only to keep stdio transports bounded; use session_read for one full session or detail='full' for a bounded page of full metadata. |
| session_readB | Read a durable session meta.json by session_id. |
| ask_peersB | Run a real API review round against selected peers. Runtime default uses real provider APIs; stubs run only when CROSS_REVIEW_STUB=1. |
| session_start_roundC | Start a real peer-review round in the background and return immediately with a session_id/job_id for polling. |
| run_until_unanimousA | Generate or revise a draft and continue real API peer-review rounds until unanimous READY or the configured max_rounds is reached. v2.11.0: when |
| session_start_unanimousC | Start real API generation/revision rounds in the background until unanimity, max_rounds or budget limit. v2.11.0: same |
| session_cancel_jobC | Request cancellation for running background jobs in a durable session. Provider calls receive AbortSignal where the provider client supports it. |
| session_recover_interruptedA | Mark unfinished sessions with stale in-flight rounds as recovered after a MCP host restart so they can be resumed explicitly. |
| session_pollB | Return durable session state and background job status without waiting for provider calls to finish. |
| session_metricsA | Return aggregate observability metrics across all sessions, or only one session when session_id is provided. |
| session_peer_reliability_reportA | Read-only per-peer reliability telemetry: READY/NEEDS_EVIDENCE/NOT_READY counts, parser warnings, provider errors, unresolved evidence asks, fabrication events, latency and cost. Observational only; does not change peer selection or mutate sessions. |
| session_doctorA | Operational audit across durable sessions: open/stale/blocked cases, legacy self-lead metadata, open evidence asks (with per-peer item type drill-down + chronic blockers since v2.22), Grok provider errors, and token-event noise. Read-only by default (does not modify sessions). Terminal max-rounds and terminal not_resurfaced history stay in totals but are not default operational findings; pass include_terminal_findings=true to enumerate that historical inventory. Pass include_legacy=true to enumerate per-session self_lead_metadata entries (hidden by default since v2.22 because pre-v2.16 sessions carry the legacy artifact at ~38% rate; totals.self_lead_metadata count is always visible). v3.6.0: pass repair=true (opt-in) to recompute convergence_health for sessions stuck in the contradictory outcome="converged"+health="blocked" state left by pre-v3.2.0 corruption — only that specific contradiction is touched, only when explicitly requested; the |
| session_eventsA | Read durable session events from events.ndjson. Use since_seq to incrementally poll long-running sessions. |
| session_reportC | Generate and save a Markdown report with convergence, peer decisions, failures, costs and latest events. |
| session_check_convergenceA | Return the latest durable convergence state, health and scope for a saved session without calling providers. |
| session_truthfulness_preflight_checkA | Re-run the local truthfulness preflight for a saved session without calling providers. Useful after attaching evidence to confirm whether a prior truthfulness_preflight abort is now supported. |
| session_attach_evidenceB | Persist a text evidence artifact under a durable session evidence directory and register it in session metadata. |
| session_evidence_checklist_updateA | Operator workflow for the v2.7.0 Evidence Broker. Mark a checklist item as 'satisfied' (operator confirms the ask was answered), 'deferred' (out of scope for this session), 'rejected' (ask itself is unfounded), or 'open' (retract a prior terminal status). The 'addressed' status is reserved for runtime auto-promotion (resurfacing inference) and cannot be set via this tool. Every transition is appended to evidence_status_history with the operator's optional note. |
| session_evidence_judge_passB | v2.9.0 LLM-based satisfied detection for the Evidence Broker. The configured judge peer reads each currently-open checklist item against the supplied draft and returns a structured judgment (satisfied + confidence + rationale). The runtime promotes only items where satisfied=true AND confidence='verified'; everything else stays open. Terminal operator statuses (satisfied/deferred/rejected) and items already addressed by resurfacing-inference are NEVER touched. Items per pass are capped via CROSS_REVIEW_EVIDENCE_JUDGE_MAX_ITEMS_PER_PASS (default 8). Optional item_ids filter narrows the pass to specific items; omit for all-open. The judge_peer is the LLM that performs the judgment — choose any peer with a configured API key. v2.10.0: optional shadow_mode (default false) routes the pass through a non-mutating path that emits session.evidence_judge_pass.shadow_decision events without touching checklist state — operators use it to collect empirical judgment-quality data before relying on active mutation. |
| session_evidence_judge_consensus_passA | v2.14.0 — multi-peer consensus judge pass. Fires |
| session_judgment_precision_reportA | v2.14.0 — compute precision/recall/F1 of the shadow judge against the empirical ground truth (whether peers raised the same ask in a subsequent round). Walks |
| contest_verdictA | v2.14.0 — formally contest a final verdict and open a new deliberation cycle. Per the cross-review tribunal-colegiado model: caller READY (acata) → session_finalize as usual; caller NOT_READY (contesta) → contest_verdict. Stamps the original session's meta with a |
| regenerate_caller_tokensA | v2.18.0 / F1 (caller capability tokens). Rotate the per-host secret tokens used by the F1 identity gate. OVERWRITES the existing host-tokens.json file (default location: /host-tokens.json; override via CROSS_REVIEW_TOKENS_FILE env var) with freshly generated 256-bit hex secrets — one per agent (codex, claude, gemini, deepseek, grok, perplexity). The MCP response returns only token fingerprints, never plaintext secrets; read the local host-tokens.json file directly when redistributing CROSS_REVIEW_CALLER_TOKEN values. AFTER calling this tool, every MCP host carrying a stale token will start being rejected with identity_forgery_blocked: token does not match any known agent. The operator MUST redistribute the secrets and reload the affected hosts. Use cases: (a) initial deployment after first-boot generation; (b) suspected token leak; (c) periodic rotation. |
| escalate_to_operatorA | Record a durable operator escalation for sessions that require human judgment or external intervention. |
| session_sweepC | Finalize unfinished sessions whose metadata has been idle for at least 24 hours. v3.7.5 (B1): opt-in |
| session_finalizeB | Mark a durable session as converged, aborted or max-rounds with an optional reason. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LCV-Ideas-Software/cross-review'
If you have feedback or need assistance with the MCP directory API, please join our Discord server