Ouroboros
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OUROBOROS_RUNTIME | No | The runtime backend to use (e.g., claude, codex, opencode, hermes, gemini, kiro, copilot, pi, zcode). If not set, the runtime is auto-detected. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ouroboros_execute_seedC | Execute a seed (task specification) in Ouroboros. A seed defines a task to be executed with acceptance criteria. This is the handler for 'ooo run' commands — do NOT run 'ooo' in the shell; call this MCP tool instead. |
| ouroboros_start_execute_seedA | Start a seed execution in the background and return a job ID immediately. Use ouroboros_ac_tree_hud for live progress snapshots and ouroboros_job_result for terminal output. In plugin mode, execution is delegated to an OpenCode Task pane and job_id is None — results appear in the Task pane instead of being pollable via job_status/job_result. This is the handler for 'ooo run' commands — do NOT run 'ooo' in the shell; call this MCP tool instead. |
| ouroboros_autoA | Run full-quality ooo auto: automatically interview, generate an A-grade Seed, and start execution only after the A-grade gate passes. All loops are bounded. |
| ouroboros_start_autoA | Start ooo auto in the background and return auto_session_id + job_id immediately. Resume with the returned auto_session_id; poll with ouroboros_job_status / ouroboros_job_wait and read final state via ouroboros_job_result. |
| ouroboros_session_statusA | Get the status of an Ouroboros session. Returns information about the current phase, progress, and any errors. |
| ouroboros_record_conductor_decisionA | Record an audited Active Conductor decision. Record phase=selected before an action, then completed, failed, or declined after the outcome. Mutating successors require engine_ownership_state=closed. |
| ouroboros_session_signal_targetsA | List exact active AC attempts and each attempt's live SessionSignal capabilities for one execution before sending a signal. Advertised modes are valid direct requested modes for that exact attempt. One explicit fallback path is also valid: redirect may be requested while omitted from discovery only with fallback_mode=after_turn when after_turn is advertised, and the effective queued mode is after_turn. Shipped adapters currently do not advertise or effect redirect or replace; other unsupported requests fail closed. Match the user's intent to AC content, and ask only when multiple candidates remain genuinely ambiguous. |
| ouroboros_session_signalA | Send one audited Ouroboros Synapse intent signal to an exact active AC session attempt. Shipped runtime adapters currently advertise and apply only inform and after_turn; direct requested modes require the selected exact attempt to advertise that mode. redirect and replace remain reserved, capability-gated advertised/effective modes; no shipped adapter currently advertises or applies either directly. redirect nevertheless remains a valid requested mode on one explicit fallback path: fallback_mode=after_turn must be present and that exact attempt must advertise after_turn, which becomes the effective queued mode. All other unsupported requests fail closed, including redirect without that fallback and replace without its capabilities. Query ouroboros_session_signal_targets for the selected exact attempt's live capabilities before sending. A queued result does not mean the signal was applied. |
| ouroboros_job_statusB | Get the latest summary for a background Ouroboros job. |
| ouroboros_job_waitA | Wait briefly for a background job to change state. Useful for conversational polling after a start command. |
| ouroboros_job_resultA | Get the final output for a completed background job. |
| ouroboros_cancel_jobC | Request cancellation for a background job. |
| ouroboros_query_eventsB | Query the event history for an Ouroboros session. Returns a list of events matching the specified criteria. |
| ouroboros_query_projectionA | Build a read-only Run/Stage/Step projection from persisted Ouroboros events for a session or execution aggregate. |
| ouroboros_project_statusA | Resolve a project identity and rebuild its complete read-only run status from persisted Ouroboros session events. Identity conflicts, projection failures, and limits below the complete population return no partial record. |
| ouroboros_generate_seedA | Generate an immutable Seed from a completed interview session. The seed contains structured requirements (goal, constraints, acceptance criteria) extracted from the interview conversation. Generation requires ambiguity_score <= 0.2 unless force=true is passed to deliberately bypass the gate. |
| ouroboros_measure_driftA | Measure drift from the original seed goal. Calculates goal deviation score using weighted components: goal drift (50%), constraint drift (30%), ontology drift (20%). Returns drift metrics, analysis, and suggestions if drift exceeds threshold. |
| ouroboros_interviewA | Interactive interview for requirement clarification. Start a new interview with initial_context, resume with session_id, or record an answer to the current question. In plugin mode, returns a delegation receipt (status=delegated_to_subagent) and the interview executes in an OpenCode Task pane — the real session_id is returned there. |
| ouroboros_pm_interviewA | PM interview for product requirements gathering. Start with initial_context, continue with session_id + answer, or generate PM seed with action='generate'. In plugin mode, returns a delegation receipt (status=delegated_to_subagent) and the PM interview executes in an OpenCode Task pane — the real session_id is returned there. |
| ouroboros_brownfieldA | Manage brownfield repository registrations. Scan home directory for repos, register/query repos, or set the default brownfield context for PM interviews. |
| ouroboros_evaluateA | Evaluate an Ouroboros execution session using the three-stage evaluation pipeline. Stage 1 performs mechanical verification (lint, build, test). Stage 2 performs semantic evaluation of AC compliance and goal alignment. Stage 3 runs multi-model consensus if triggered by uncertainty or manual request. |
| ouroboros_start_evaluateA | Start an evaluation in the background and return a job ID immediately. Use this instead of ouroboros_evaluate when the three-stage pipeline (mechanical + semantic + optional consensus) is expected to exceed the MCP client tool-call timeout. Poll with ouroboros_job_status / ouroboros_job_wait and read the verdict via ouroboros_job_result. In plugin mode with auto_evolve disabled, evaluation is delegated to an OpenCode Task pane and job_id is None. With auto_evolve enabled, the parent keeps evaluation pollable so a rejection can start Ralph. |
| ouroboros_lateral_thinkA | Generate alternative thinking approaches using lateral thinking personas. Use this tool when stuck on a problem to get fresh perspectives from different thinking modes: hacker (unconventional workarounds), researcher (seeks information), simplifier (reduces complexity), architect (restructures approach), or contrarian (challenges assumptions). Set persona='all' (or pass personas=['hacker','architect',...]) to fan out to MULTIPLE personas in parallel — each runs in its own Task pane with an independent LLM context (no cross-contamination). |
| ouroboros_submit_fanout_resultsA | Submit correlated results from a subagent fan-out back to Ouroboros. After spawning the advisory/persona/investigation subagents declared by a prior tool's |
| ouroboros_evolve_stepA | Run exactly ONE generation of the evolutionary loop. For Gen 1: provide lineage_id and seed_content (YAML). For Gen 2+: provide lineage_id only (state reconstructed from events). Returns generation result, convergence signal, and next action (continue/converged/ontology_stable/stagnated/exhausted/failed). ontology_stable is a non-success handoff; rerun the same lineage with execute=true to perform Execute→Evaluate. |
| ouroboros_start_evolve_stepA | Start one evolve_step generation in the background and return a job ID immediately for later status checks. In plugin mode, evolution is delegated to an OpenCode Task pane and job_id is None — results appear in the Task pane instead of being pollable via job_status/job_result. |
| ouroboros_ralphA | Start a first-class Ralph loop in the background. The loop repeatedly runs evolve_step until QA passes, convergence is reached, a terminal evolution action occurs, cancellation is requested, or max_generations is reached. In non-plugin runtimes, returns a job_id immediately for ouroboros_job_status, ouroboros_job_wait, ouroboros_job_result, and ouroboros_cancel_job. In OpenCode plugin mode, returns job_id=None and delegates the loop to the plugin child session. |
| ouroboros_start_ralphA | Fire-and-forget alias for ouroboros_ralph. Starts the same runtime-owned Ralph loop. In non-plugin runtimes, returns a job_id immediately for ouroboros_job_status, ouroboros_job_wait, ouroboros_job_result, and ouroboros_cancel_job. In OpenCode plugin mode, delegates to a plugin child session and returns job_id=None with status='delegated_to_plugin'; results are not pollable via job_status/job_result. |
| ouroboros_lineage_statusB | Query the current state of an evolutionary lineage. Returns generation count, status, ontology evolution, and convergence progress. |
| ouroboros_evolve_rewindA | Rewind an evolutionary lineage to a specific generation. Truncates all generations after the target and emits a lineage.rewound event. The lineage can then continue evolving from the rewind point. |
| ouroboros_ac_dashboardA | Display per-AC pass/fail compliance dashboard across generations. Shows which acceptance criteria passed, failed, or are flaky. Modes: 'summary' (default), 'full' (AC x Gen matrix), 'ac' (single AC history). |
| ouroboros_ac_tree_hudB | Return a render-ready markdown snapshot of the live acceptance-criteria tree for an Ouroboros session. |
| ouroboros_qaA | General-purpose QA verdict for any artifact type. Evaluates code, API responses, documents, screenshots, or custom artifacts against a quality bar. Returns structured verdict with score, differences, and actionable suggestions. Designed for iterative loop usage. |
| ouroboros_cancel_executionA | Cancel a running or paused Ouroboros execution. Validates that the execution exists and is not already in a terminal state (completed, failed, cancelled) before cancelling. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Seeds List | List of all available seeds in the system |
| Sessions List | List of all sessions |
| Current Session | The currently active session |
| Events | Recent event history |
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/Q00/ouroboros'
If you have feedback or need assistance with the MCP directory API, please join our Discord server