Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GROK_API_KEYYesxAI Grok API key
GEMINI_API_KEYYesGoogle Gemini API key
OPENAI_API_KEYYesOpenAI API key for Codex/OpenAI peer
DEEPSEEK_API_KEYYesDeepSeek API key
ANTHROPIC_API_KEYYesAnthropic API key for Claude
CROSS_REVIEW_STUBNoSet to '1' for stub mode (smoke tests, no cost)0
PERPLEXITY_API_KEYYesPerplexity API key
CROSS_REVIEW_MAX_SESSION_COST_USDNoMaximum session cost in USD for paid calls
CROSS_REVIEW_UNTIL_STOPPED_MAX_COST_USDNoUntil-stopped max cost in USD for paid calls
CROSS_REVIEW_PREFLIGHT_MAX_ROUND_COST_USDNoPreflight max round cost in USD for paid calls

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
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 evidence field of the subsequent review starter; the runtime will persist it automatically without session_attach_evidence or human intervention.

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 evidence is persisted durably and transported automatically; no manual operator attachment is required. Runtime default uses real provider APIs; stubs run only when CROSS_REVIEW_STUB=1.

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 evidence is persisted durably and transported automatically; no manual operator attachment is required.

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 evidence is persisted durably and transported automatically; no manual operator attachment is required. v2.11.0: when caller is set to a peer id (claude|codex|gemini|deepseek|grok|perplexity), the relator lottery activates: omit lead_peer to have the server randomly select a non-caller peer as relator (modeled on judicial colegiados), or supply an explicit lead_peer that is NOT the caller. An explicit lead_peer === caller is rejected at the server with caller_cannot_be_lead_peer — an agent never reviews itself (workspace HARD GATE).

session_start_unanimousA

Start real API generation/revision rounds in the background until unanimity, max_rounds or budget limit. AI evidence supplied in evidence is persisted durably and transported automatically; no manual operator attachment is required. v2.11.0: same caller + relator-lottery semantics as run_until_unanimous — see that tool for details.

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 repaired array lists what was fixed.

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 evidence field of ask_peers, session_start_round, run_until_unanimous, or session_start_unanimous, and the runtime persists it durably as caller_submitted_unverified material.

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 session.evidence_judge_pass.shadow_decision events across all sessions (or a single session via session_id, or filtered by judge peer / since timestamp), correlates each decision with the subsequent evidence_checklist resurfacing behavior, and returns per-peer TP/FP/TN/FN counts plus precision/recall/F1. Decisions whose item.last_round equals the judge round AND no later round exists are excluded as 'no ground truth' (we cannot tell if the ask would have come back). Operator uses this to decide whether to flip a peer from shadow to active mode (item 2 / v2.13).

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 contestation record (timestamp + reason + original_outcome + new_session_id) and initializes a NEW session whose contests_session_id points back to the contested session, preserving the chain of custody append-only across sessions. The original session must be in a final state (converged/aborted/max-rounds); contesting an in-flight session throws cannot_contest_in_flight_session. Once contested, a session cannot be contested again (chain-of-custody invariant) — contest the LATEST session in the chain.

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 prune_corrupt also removes stale entries from the corrupt_sessions/ quarantine directory.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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