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_peers | Query official provider APIs to discover available models for the current API keys, select the highest-capability documented model, and verify provider reachability. |
| session_init | Create a durable cross-review session after probing provider availability and model selection. This does not call reviewer models yet. AI callers should submit raw proof through the |
| session_list | 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_read | Read a durable session meta.json by session_id. |
| ask_peers | Run a real API review round against selected peers. AI evidence supplied in |
| session_start_roundB | Start a real peer-review round in the background and return immediately with a session_id/job_id for polling. AI evidence supplied in |
| 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. AI evidence supplied in |
| session_start_unanimousA | Start real API generation/revision rounds in the background until unanimity, max_rounds or budget limit. AI evidence supplied in |
| session_cancel_jobB | Request cancellation for running background jobs in a durable session. The reason accepts at most 300 characters. Requires the verified capability token of the persisted session petitioner, or the dedicated operator token; another peer cannot cancel the job. 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_pollA | Return durable session state and background job status without waiting for provider calls to finish. Default detail=summary keeps prior-round peer text/raw payloads out of polling responses; use detail=full or session_read only when full forensic data is required. |
| 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_preflight_checkA | Run the same enabled evidence and truthfulness gates used by a real review round, without calling providers. Peer-submitted inline/structured evidence is checked as review material and requires no manual operator attachment. |
| session_truthfulness_preflight_checkC | Backward-compatible alias for session_preflight_check. Its top-level pass now reflects both enabled runtime gates, eliminating truthfulness-only false positives. |
| session_attach_evidenceA | Optional operator-only authority promotion; AI callers must not use this tool. No human operator action is required for ordinary reviews: pass raw proof through the |
| session_evidence_checklist_update | 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_pass | Operator-authorized LLM satisfied-detection for the Evidence Broker. Requires the dedicated operator capability token. The configured judge peer reads each currently-open checklist item against the supplied draft and returns a structured judgment; a peer can never judge its own evidence ask. The runtime promotes only items where satisfied=true AND confidence='verified'; everything else stays open. Terminal operator statuses and already-addressed items are never touched. Optional shadow_mode records non-mutating decisions. |
| session_evidence_judge_consensus_pass | Operator-authorized multi-peer evidence judgment. Requires the dedicated operator capability token and at least two distinct enabled judge peers. A peer is forbidden from ruling on its own evidence ask; any self-judge member makes that item's consensus fail closed. Active mode promotes only unanimous verified-satisfied judgments with non-empty rationales and zero parser warnings; shadow mode never mutates state. |
| session_judgment_precision_report | 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_verdict | v2.14.0 — formally contest a final verdict and open a new deliberation cycle. The reason accepts at most 4,000 characters. Requires the verified capability token of the persisted session petitioner, or the dedicated operator token. Petitioner READY (acata) → notify the human operator so the dedicated console can finalize; petitioner NOT_READY (contesta) → contest_verdict. Stamps the original session's meta with a |
| regenerate_caller_tokens | Rotate the seven caller capability tokens (six peer identities plus a distinct operator). Requires the current dedicated operator token. The response exposes fingerprints only. Distribute each peer token only to its matching model host; keep the operator token exclusively in a separate human-console MCP host. Never place the operator token in Codex, Claude, Gemini, DeepSeek, Grok or Perplexity host configuration. |
| escalate_to_operator | Record a durable operator escalation for sessions that require human judgment or external intervention. The reason accepts at most 1,000 characters. |
| session_sweep | Finalize unfinished sessions whose metadata has been idle for at least 24 hours. The terminal reason accepts at most 200 characters. v3.7.5 (B1): opt-in |
| session_finalize | Operator-only: mark a durable session as converged, aborted or max-rounds with an optional reason of at most 200 characters. Requires the dedicated operator capability token from a separate human-console host. |
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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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