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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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