Ouroboros
PYPI · OUROBOROS-AI
Pins an acceptance spec; the verify command and expected output never enter the success contract.
Available components
Last scanned (2 hours ago)
Scores higher than 65% of PyPI servers
Category Developer Tools
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 3 of 29 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 1 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability77
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 10440 tokens (~261/item across 40 items; 36 tools + 4 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management73
- Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (3% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "ouroboros_execute_seed" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 38 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 17 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- 16 Oct 26 +16
- Malware scan: unverified → pass ▲ security
- 15 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- 14 Oct 26 +16
- Malware scan: unverified → pass ▲ security
- 13 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- 12 Oct 26 +19
- Malware scan: unverified → pass ▲ security
- 4 Oct 26 −15
- Malware scan: pass → unverified ▼ security
- 3 Oct 26 +4
- Stability: unverified → 0.27 ▲ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 17 Oct 2026 · Analysed pypi/ouroboros-ai@0.51.5
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 29 packages
| Packages resolved | 29 |
|---|---|
| Stale | 3 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ouroboros_ac_dashboard ~121
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).
| Name | Type | Req | Description |
|---|---|---|---|
| ac_index | integer | – | AC index (1-based) for 'ac' mode. Required when mode='ac'. |
| lineage_id | string | yes | ID of the lineage to display |
| mode | string | – | Display mode: 'summary' (default), 'full', or 'ac' |
No output schema declared.
No examples provided.
ouroboros_ac_tree_hud ~113
Return a render-ready markdown snapshot of the live acceptance-criteria tree for an Ouroboros session.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | integer | – | Previous EventStore row ID cursor. |
| max_nodes | integer | – | Maximum tree nodes to render when view='tree'. |
| session_id | string | yes | Session ID to inspect. |
| view | string | – | Verbosity: 'tree' (default) for the full AC tree, 'summary' for a short monitor, or 'compact' for one-line polling. |
No output schema declared.
No examples provided.
ouroboros_auto ~565
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.
| Name | Type | Req | Description |
|---|---|---|---|
| attach_execution | string | – | Attach an externally verified execution id to an unknown run handoff |
| attach_job | string | – | Attach an externally verified job id to an unknown run handoff |
| attach_session | string | – | Attach an externally verified run session id to an unknown run handoff |
| attach_source | string | – | Source label for an attached run handle |
| commit_policy | string | – | Checkpoint commit policy: ac_checkpoint, final_only, or none |
| complete_product | boolean | – | When true, chain RUN → RALPH_HANDOFF after a successful run handoff so a single ouroboros_auto invocation iterates Ralph until QA passes, convergence, or a budget bound trips. Defaults to false (opt-… |
| cwd | string | – | Working directory |
| domain | string | – | Optional domain profile name (for example, coding) |
| efficiency_mode | string | – | Execution efficiency policy: adaptive may use lower-cost child tiers with recovery escalation; quality_first keeps child ACs at the parent starting tier. When omitted on a fresh start, a configured e… |
| frugality_assurance | string | – | Frugality assurance: off, observe, or explicitly authorized strict. Defaults from efficiency_mode and is immutable on resume. |
| goal | string | – | Goal/task for ooo auto |
| max_interview_rounds | integer | – | Max interview rounds |
| max_repair_rounds | integer | – | Max repair rounds |
| pipeline_timeout_seconds | number | – | Top-level pipeline deadline in seconds. Defaults to 7200s for new sessions. Range: 60-86400. Cannot be changed on resume; the deadline is preserved across process restarts. |
| reconcile_run | boolean | – | Try to reconcile an unknown run handoff without starting a duplicate run |
| reconcile_source | string | – | Source label for run handoff reconciliation |
| resume | string | – | Auto session id to resume |
| skip_run | boolean | – | Stop after A-grade Seed |
| user_preferences | object | – | Caller-supplied user preferences keyed by ledger section name (e.g. runtime_context, constraints, non_goals). The Driver tags matching answers with [from-auto][user_preference] in the ledger. Keys mu… |
| worktree_policy | string | – | Worktree isolation policy: auto, always, current, or none |
No output schema declared.
No examples provided.
ouroboros_brownfield ~348
Manage brownfield repository registrations. Scan home directory for repos, register/query repos, or set the default brownfield context for PM interviews.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Action to perform: 'scan' to discover repos from ~/, 'register' to add a single repo, 'query' to list all repos or get default, 'set_default' to toggle a repo's default flag (supports multiple defaul… |
| default_only | boolean | – | When true with 'query' action, return only the default repo instead of the full list. Defaults to false. |
| desc | string | – | One-line description of the repository. Used with 'register'. Optional. |
| indices | string | – | Comma-separated repo numbers from the scan list (e.g. '6,18,19'). Used with 'set_defaults' action to replace all defaults at once. |
| is_default | boolean | – | For 'set_default' action: set to true to mark as default, false to unmark. Defaults to true. |
| limit | integer | – | Maximum number of rows to return for 'query' pagination. Omit for no limit. |
| name | string | – | Human-readable name for the repository. Used with 'register'. Defaults to directory name. |
| offset | integer | – | Number of rows to skip for 'query' pagination. Defaults to 0. |
| path | string | – | Absolute filesystem path of the repository. Required for 'register' and 'set_default' actions. |
| scan_root | string | – | Existing directory to walk for the 'scan' action. Defaults to the current user's home directory. |
No output schema declared.
No examples provided.
ouroboros_cancel_execution ~69
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.
| Name | Type | Req | Description |
|---|---|---|---|
| execution_id | string | yes | The execution/session ID to cancel |
| reason | string | – | Reason for cancellation |
No output schema declared.
No examples provided.
ouroboros_cancel_job ~33
Request cancellation for a background job.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Job ID returned by a start tool |
No output schema declared.
No examples provided.
ouroboros_checklist_verify ~182
Verify that a Run artifact satisfies every acceptance criterion in a Seed. Returns a per-AC checklist (pass/fail with evidence and failure reasons) plus ready-to-use run_feedback strings the caller can inject into a re-run prompt. Does NOT automatically re-execute — the caller (Ralph, workflow, or human) decides.
| Name | Type | Req | Description |
|---|---|---|---|
| artifact | string | yes | The Run output/artifact to verify against the seed's ACs |
| artifact_type | string | – | Type of artifact: code, docs, config. Default: code |
| seed_content | string | yes | Seed YAML containing acceptance_criteria, goal, constraints. The seed's acceptance_criteria list is evaluated in full. |
| session_id | string | yes | The execution session ID being verified |
| working_dir | string | – | Project working directory (for language auto-detection). |
No output schema declared.
No examples provided.
ouroboros_evaluate ~308
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.
| Name | Type | Req | Description |
|---|---|---|---|
| acceptance_criteria | array | – | Multiple acceptance criteria for checklist evaluation. When two or more items are provided, each AC is evaluated independently and the results are aggregated into a pass/fail checklist (#366). Overri… |
| acceptance_criterion | string | – | Specific acceptance criterion to evaluate against |
| artifact | string | yes | The execution output/artifact to evaluate |
| artifact_type | string | – | Type of artifact: code, docs, config. Default: code |
| seed_content | string | – | Original seed YAML for goal/constraints extraction |
| session_id | string | yes | The execution session ID to evaluate |
| trigger_consensus | boolean | – | Force Stage 3 consensus evaluation. Default: False |
| working_dir | string | – | Project root used to resolve Stage 1 mechanical verification commands and Stage 2 source-file visibility. Commands are read from .ouroboros/mechanical.toml; when the file is missing, the evaluator ma… |
No output schema declared.
No examples provided.
ouroboros_evolve_rewind ~80
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.
| Name | Type | Req | Description |
|---|---|---|---|
| lineage_id | string | yes | ID of the lineage to rewind |
| to_generation | integer | yes | Generation number to rewind to (inclusive) |
No output schema declared.
No examples provided.
ouroboros_evolve_step ~537
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_session_id | string | – | Optional auto session id for checkpoint commit metadata. |
| benchmark_control | boolean | – | Run a deliberate full-graph frugality control. Default: false. Requires execute=true, Gen 2+, an explicit Git project_dir, and a clean baseline; unavailable through plugin delegation. |
| checkpoint_attempted_ac_ids | array | – | Acceptance criteria already considered for checkpoint commits. |
| checkpoint_commits | array | – | Existing checkpoint commit records for idempotency. |
| commit_policy | string | – | Optional checkpoint commit policy for passed ACs. |
| conductor_decision_id | string | – | Selected conductor decision authorizing this successor generation. |
| conductor_directive | object | – | Bounded corrective context for this successor generation. |
| execute | boolean | – | Whether to run seed execution and evaluation. True (default): full pipeline with Execute→Validate→Evaluate. False: ontology-only evolution (fast, no execution). |
| execution_id | string | – | Optional execution id for checkpoint commit metadata. |
| lineage_id | string | yes | Lineage ID to continue or new ID for Gen 1 |
| parallel | boolean | – | Whether to run ACs in parallel. True (default): parallel execution (fast, may cause import conflicts). False: sequential execution (slower, more stable code generation). |
| predecessor_execution_id | string | – | Execution or generation that this successor follows. |
| project_dir | string | – | Project root directory for validation (pytest collection check). If omitted, auto-detected from execution output or CWD. |
| recover_expired_claim | boolean | – | Explicitly recover an expired lineage writer claim after confirming the prior owner process is dead. Default: false |
| seed_content | string | – | Seed YAML text for Gen 1. Pass a YAML-formatted string (for example, newline-delimited 'goal: ...' fields), not JSON-shaped text or an object literal; some MCP clients may otherwise coerce the value… |
| skip_qa | boolean | – | Skip post-execution QA evaluation. Default: false |
No output schema declared.
No examples provided.
ouroboros_execute_seed ~463
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_evaluate | boolean | – | Override execution.auto_evaluate for this call. When true, a completed background execute_seed run enqueues formal 3-stage evaluation as a separate bounded background job. |
| auto_evolve | boolean | – | Override execution.auto_evolve for the chained evaluation. When true, an explicitly rejected evaluation starts a bounded Ralph continuation loop. |
| conductor_decision_id | string | – | Selected conductor decision receipt authorizing a fresh successor. |
| conductor_directive | object | – | Bounded corrective context copied exactly from the selected conductor decision. Fresh successor executions only. |
| cwd | string | – | Working directory used to resolve relative seed paths. |
| efficiency_mode | string | – | Execution efficiency policy. adaptive may start decomposed ACs on lower-cost tiers and escalate on recovery; quality_first keeps children at the parent starting tier. When omitted on a fresh start, a… |
| frugality_assurance | string | – | Frugality assurance: off, lightweight observe, or explicit strict baseline eligibility. Defaults from efficiency_mode; strict is never enabled implicitly. |
| max_iterations | integer | – | Maximum number of execution iterations. Default: 10 |
| model_tier | string | – | Model-tier routing: small/medium/large → frugal/standard/frontier execution tier (trusted decomposed children may run one tier below; retries escalate). Omit to preserve automatic runtime selection;… |
| predecessor_execution_id | string | – | Execution ID that the new successor follows. |
| seed_content | string | – | Inline seed YAML content to execute. |
| seed_path | string | – | Path to a seed YAML file. If the path does not exist, the value is treated as inline seed YAML. |
| session_id | string | – | Optional session ID to resume. If not provided, a new session is created. |
| skip_qa | boolean | – | Skip post-execution QA evaluation. Default: false |
No output schema declared.
No examples provided.
ouroboros_fetch_artifact ~78
Fetch and integrity-check a disposable Ouroboros artifact by the contract_id returned in an artifact envelope. For fan-out completion, continue from the synthesis in the returned `body`. This is an explicit read and never re-executes the originating work.
| Name | Type | Req | Description |
|---|---|---|---|
| contract_id | string | yes | The contract_id from a disposable artifact envelope. |
No output schema declared.
No examples provided.
ouroboros_generate_seed ~215
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.
| Name | Type | Req | Description |
|---|---|---|---|
| ambiguity_score | number | – | Ambiguity score for the interview (0.0 = clear, 1.0 = ambiguous). Required if interview didn't calculate it. Generation fails if > 0.2. |
| client_gates | array | – | Client-side interview gates acknowledged before seed generation. Expected values include seed_ready_acceptance_guard and restate_goal_approved. |
| force | boolean | – | Bypass the ambiguity-score threshold and generate the seed even when ambiguity_score > 0.2. Mirrors the CLI 'Generate Seed anyway' opt-in: the real score is still recorded in seed metadata for proven… |
| session_id | string | yes | Interview session ID to convert to a seed |
No output schema declared.
No examples provided.
ouroboros_interview ~388
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.
| Name | Type | Req | Description |
|---|---|---|---|
| answer | string | – | Response to the current interview question |
| confused_terms | array | – | Explicit domain terms the user says they do not understand. Queued on the start turn and applied only after the first answer. |
| cwd | string | – | Working directory for brownfield auto-detection. Defaults to the current working directory if not provided. |
| initial_context | string | – | Initial context to start a new interview session |
| interview_id | string | – | Optional caller-supplied id for a brand-new interview. Must match the server format 'interview_<16 lowercase hex>' and must NOT collide with an existing interview file. Only valid for the start actio… |
| last_question | string | – | The question text from the previous child session's response. In plugin mode each dispatch creates a new child session whose questions are not automatically persisted server-side. Pass the child's la… |
| references | array | – | Bounded user-provided reference cues. Each object requires reference_id, label, and origin; url/excerpt are optional. |
| session_id | string | – | Session ID to resume an existing interview |
No output schema declared.
No examples provided.
ouroboros_job_result ~36
Get the final output for a completed background job.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Job ID returned by a start tool |
No output schema declared.
No examples provided.
ouroboros_job_status ~57
Get the latest summary for a background Ouroboros job.
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | Job ID returned by a start tool |
| view | string | – | 'full' (default), 'summary', or 'compact'. |
No output schema declared.
No examples provided.
ouroboros_job_wait ~249
Wait briefly for a background job to change state. Useful for conversational polling after a start command.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | integer | – | Previous cursor from job_status or job_wait |
| job_id | string | yes | Job ID returned by a start tool |
| stream | string | – | 'progress' (default) watches job/execution progress; 'linked' also streams linked session, lineage, and subagent events. |
| timeout_seconds | integer | – | Maximum seconds to wait for a change. Defaults to 0 so the tool returns an immediate snapshot and never holds the MCP client open unless the caller explicitly asks for long-polling. Values above 5 ar… |
| view | string | – | 'full' (default), 'summary', or 'compact'. |
| wait_for | string | – | 'raw' (default) returns on any job event, preserving existing behavior; 'ac_change' waits for AC/Sub-AC/phase progress or terminal status; 'attention_or_ac_change' additionally wakes for Synapse deli… |
No output schema declared.
No examples provided.
ouroboros_lateral_think ~275
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).
| Name | Type | Req | Description |
|---|---|---|---|
| current_approach | string | yes | What has been tried so far that isn't working |
| failed_attempts | array | – | Previous failed approaches to avoid repeating |
| persona | string | – | Single persona (hacker, researcher, simplifier, architect, contrarian) OR 'all' to dispatch ALL 5 personas in parallel as separate Task panes. |
| personas | array | – | Explicit list of personas to dispatch in parallel. Takes precedence over 'persona' arg. Example: ['hacker','contrarian','architect']. Each runs in its own parallel Task pane. |
| problem_context | string | yes | Description of the stuck situation or problem |
| stagnation_pattern | string | – | Detected stagnation pattern used to suggest a persona when persona is omitted. |
No output schema declared.
No examples provided.
ouroboros_lineage_status ~48
Query the current state of an evolutionary lineage. Returns generation count, status, ontology evolution, and convergence progress.
| Name | Type | Req | Description |
|---|---|---|---|
| lineage_id | string | yes | ID of the lineage to query |
No output schema declared.
No examples provided.
ouroboros_measure_drift ~148
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.
| Name | Type | Req | Description |
|---|---|---|---|
| constraint_violations | array | – | Known constraint violations (e.g., ['Missing tests', 'Wrong language']) |
| current_concepts | array | – | Concepts present in the current output (for ontology drift) |
| current_output | string | yes | Current execution output to measure drift against the seed goal |
| seed_content | string | yes | Original seed YAML content for drift calculation |
| session_id | string | yes | The execution session ID to measure drift for |
No output schema declared.
No examples provided.
ouroboros_pm_interview ~348
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | Action to perform. Auto-detected from parameter presence when omitted: initial_context → 'start', session_id + answer → 'resume'. Use 'generate' explicitly to produce PM seed from completed interview. |
| answer | string | – | PM's response to the current interview question |
| cwd | string | – | Working directory for PM document output. Defaults to current working directory. Brownfield context is loaded from DB (is_default=true). |
| initial_context | string | – | Initial product description to start a new PM interview |
| last_question | string | – | The question this answer is answering, when the server is not already holding it unanswered. In plugin mode each dispatch creates a new child session whose questions are not persisted server-side, so… |
| selected_repos | array | – | List of repository paths selected for brownfield context (2-step start: returned by step 1, sent back in step 2). All repos are assigned role=main. When provided with initial_context, starts the inte… |
| session_id | string | – | Session ID to resume an existing PM interview |
No output schema declared.
No examples provided.
ouroboros_project_status Project status ~110
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Complete-run safety cap. The query fails instead of truncating when the matching population exceeds this value. |
| project_dir | string | – | Project or workspace directory. Defaults to the MCP server caller directory captured at startup. |
| workspace | string | – | Optional canonical project-relative workspace filter. |
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string | yes | – |
| project_root | string | yes | – |
| run_count | integer | yes | – |
| runs | array | yes | – |
| schema_version | integer | – | – |
| workspace_path | – | – | – |
No examples provided.
ouroboros_qa ~248
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.
| Name | Type | Req | Description |
|---|---|---|---|
| artifact | string | yes | The artifact content to evaluate (code, text, JSON, etc.) |
| artifact_type | string | – | Type of artifact: code, api_response, document, screenshot, test_output, custom. Default: code |
| iteration_history | array | – | Previous iteration results for loop context (JSON array). |
| pass_threshold | number | – | Score threshold for pass verdict (0.0-1.0). Default: 0.80 |
| qa_session_id | string | – | QA session ID for multi-iteration tracking. If omitted, a new session is created. |
| quality_bar | string | yes | Natural language description of what 'pass' means. E.g., 'All public functions must have type hints and docstrings.' |
| reference | string | – | Optional reference artifact for comparison (expected output, target schema, reference description). |
| seed_content | string | – | Optional seed YAML for additional context (goal, constraints). |
No output schema declared.
No examples provided.
ouroboros_query_events ~116
Query the event history for an Ouroboros session. Returns a list of events matching the specified criteria.
| Name | Type | Req | Description |
|---|---|---|---|
| event_type | string | – | Filter by event type (e.g., 'execution', 'evaluation', 'error') |
| limit | integer | – | Maximum number of events to return. Default: 50 |
| offset | integer | – | Number of events to skip for pagination. Default: 0 |
| session_id | string | – | Filter events by session ID. If not provided, returns events across all sessions. |
No output schema declared.
No examples provided.
ouroboros_query_projection ~138
Build a read-only Run/Stage/Step projection from persisted Ouroboros events for a session or execution aggregate.
| Name | Type | Req | Description |
|---|---|---|---|
| execution_id | string | – | Optional execution aggregate ID. When session_id is also provided, this narrows related session-event lookup. |
| limit | integer | – | Optional safety cap for related events. If the run has more events than this cap, the tool fails instead of returning a partial projection. |
| seed_id | string | – | Optional seed ID override. If omitted, the handler derives one from events and falls back to the queried ID. |
| session_id | string | – | Optional orchestrator session ID to project. |
No output schema declared.
No examples provided.
ouroboros_ralph ~752
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_session_id | string | – | Optional auto session id used for checkpoint commit metadata. |
| checkpoint_attempted_ac_ids | array | – | Acceptance criteria already considered for checkpoint commits. |
| checkpoint_commits | array | – | Existing checkpoint commit records forwarded to evolve_step. |
| commit_policy | string | – | Optional checkpoint commit policy forwarded to evolve_step. |
| conductor_decision_id | string | – | Selected conductor decision authorizing one successor generation. |
| conductor_directive | object | – | Deterministic non-relaxing directive for one successor generation. |
| execute | boolean | – | Whether each generation should execute and evaluate. Default: true. |
| execution_id | string | – | Optional execution id used for checkpoint commit metadata. |
| grade_regression_window | integer | – | Number of trailing iterations whose non-None grades must strictly decrease to stop with stop_reason='grade_regressing'. Default: 2. Range: 2-10. Values < 2 are rejected because strict-decrease requir… |
| lineage_id | string | yes | Lineage ID to start or continue. |
| max_generations | integer | – | Maximum generations to run before stopping. Default: 10. Range: 1-10. |
| max_total_seconds | number | – | Total wall-clock budget for the entire Ralph loop in seconds. In the in-process runner this is enforced by RalphLoopRunner: checked at the top of every iteration BEFORE launching evolve_step, and on… |
| oscillation_window | integer | – | Number of trailing iterations whose findings_hash must match (and QA must not have passed) to stop with stop_reason='oscillation_detected'. Default: 3. Range: 2-10. Values < 2 are rejected because a… |
| parallel | boolean | – | Whether each generation may execute ACs in parallel. Default: true. |
| per_iteration_timeout_seconds | number | – | Per-iteration wall-clock bound in seconds. In-process runtime: hard-enforced via asyncio.timeout, the loop stops with stop_reason='iteration_timeout' on expiry. OpenCode plugin runtime: advisory boun… |
| predecessor_execution_id | string | – | Execution or generation that this successor follows. |
| project_dir | string | – | Project root forwarded to each evolve_step generation. |
| seed_content | string | – | Seed YAML content for generation 1. Omit for continuation. |
| skip_qa | boolean | – | Skip post-execution QA. Default: false. |
No output schema declared.
No examples provided.
ouroboros_record_conductor_decision ~316
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.
| Name | Type | Req | Description |
|---|---|---|---|
| action_arguments | object | – | Action arguments; only a digest and bounded key list are persisted. |
| actor_mode | string | – | Host policy mode; required for selected. |
| attention_event_id | string | – | Source attention relay/event ID; required for selected. |
| conductor_directive | object | – | Optional bounded corrective successor directive. |
| decision_id | string | yes | Stable idempotent decision ID. |
| engine_ownership_state | string | – | Authoritative ownership state from the attention envelope. |
| evidence_event_ids | array | – | Bounded evidence event IDs; required for selected. |
| phase | string | yes | Decision phase. |
| predecessor_execution_id | string | – | Execution that the selected successor will follow. |
| result_receipt | string | – | Bounded outcome receipt or failure/decline reason for terminal phases. |
| root_job_id | string | – | Root job used for the two-successor budget. |
| selected_action | string | – | Selected menu action; required for selected. |
| selected_effect | string | – | Action effect class; required for selected. |
| successor_execution_id | string | – | New execution ID returned by a completed successor action. |
| user_approval_event_id | string | – | Required approval receipt for specification changes. |
| verification_summary | string | – | Short read-only verifier conclusion; required for selected. |
No output schema declared.
No examples provided.
ouroboros_session_signal ~476
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.
| Name | Type | Req | Description |
|---|---|---|---|
| contract_effect | string | – | Whether this preserves the approved shared contract or changes the goal, ACs, constraints, or non-goals. |
| expected_contract_version | integer | – | Optional shared execution-contract generation guard. |
| expected_execution_id | string | yes | Execution generation guard. |
| expires_at | string | – | Optional timezone-aware ISO-8601 expiry. |
| fallback_mode | string | – | Explicit redirect-only fallback; after_turn is the sole valid value and is used only when the selected attempt advertises after_turn. |
| idempotency_key | string | yes | Stable key for this exact execution/scope/attempt intent. |
| message | string | yes | Bounded additive implementation intent; no secrets or transcripts. |
| mode | string | yes | Requested Synapse delivery mode. For the direct path, the exact attempt must advertise the requested mode in ouroboros_session_signal_targets. For the sole fallback path, redirect may be requested wh… |
| reason | string | yes | Short user-visible rationale. |
| source | string | yes | Audited source authority. |
| target_session_attempt_id | string | yes | Exact runtime attempt ID; stale attempts fail closed. |
| target_session_scope_id | string | yes | Stable logical AC session scope ID. |
| user_approval_event_id | string | – | Required approval receipt for replace mode. |
No output schema declared.
No examples provided.
ouroboros_session_signal_targets ~146
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.
| Name | Type | Req | Description |
|---|---|---|---|
| execution_id | string | yes | Execution ID returned by run/auto/evolve/ralph start or its job observer. |
No output schema declared.
No examples provided.
ouroboros_session_status ~47
Get the status of an Ouroboros session. Returns information about the current phase, progress, and any errors.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | The session ID to query |
No output schema declared.
No examples provided.
ouroboros_start_auto ~583
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.
| Name | Type | Req | Description |
|---|---|---|---|
| attach_execution | string | – | Attach an externally verified execution id to an unknown run handoff |
| attach_job | string | – | Attach an externally verified job id to an unknown run handoff |
| attach_session | string | – | Attach an externally verified run session id to an unknown run handoff |
| attach_source | string | – | Source label for an attached run handle |
| commit_policy | string | – | Checkpoint commit policy: ac_checkpoint, final_only, or none |
| complete_product | boolean | – | When true, chain RUN → RALPH_HANDOFF after a successful run handoff so a single ouroboros_auto invocation iterates Ralph until QA passes, convergence, or a budget bound trips. Defaults to false (opt-… |
| cwd | string | – | Working directory |
| domain | string | – | Optional domain profile name (for example, coding) |
| efficiency_mode | string | – | Execution efficiency policy: adaptive may use lower-cost child tiers with recovery escalation; quality_first keeps child ACs at the parent starting tier. When omitted on a fresh start, a configured e… |
| frugality_assurance | string | – | Frugality assurance: off, observe, or explicitly authorized strict. Defaults from efficiency_mode and is immutable on resume. |
| goal | string | – | Goal/task for ooo auto |
| max_interview_rounds | integer | – | Max interview rounds |
| max_repair_rounds | integer | – | Max repair rounds |
| pipeline_timeout_seconds | number | – | Top-level pipeline deadline in seconds. Defaults to 7200s for new sessions. Range: 60-86400. Cannot be changed on resume; the deadline is preserved across process restarts. |
| reconcile_run | boolean | – | Try to reconcile an unknown run handoff without starting a duplicate run |
| reconcile_source | string | – | Source label for run handoff reconciliation |
| resume | string | – | Auto session id to resume |
| skip_run | boolean | – | Stop after A-grade Seed |
| user_preferences | object | – | Caller-supplied user preferences keyed by ledger section name (e.g. runtime_context, constraints, non_goals). The Driver tags matching answers with [from-auto][user_preference] in the ledger. Keys mu… |
| worktree_policy | string | – | Worktree isolation policy: auto, always, current, or none |
No output schema declared.
No examples provided.
ouroboros_start_evaluate ~420
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.
| Name | Type | Req | Description |
|---|---|---|---|
| acceptance_criteria | array | – | Multiple acceptance criteria for checklist evaluation. When two or more items are provided, each AC is evaluated independently and the results are aggregated into a pass/fail checklist (#366). Overri… |
| acceptance_criterion | string | – | Specific acceptance criterion to evaluate against |
| artifact | string | yes | The execution output/artifact to evaluate |
| artifact_type | string | – | Type of artifact: code, docs, config. Default: code |
| auto_evolve | boolean | – | Override execution.auto_evolve for this background call. When true, an explicitly rejected formal evaluation starts a bounded Ralph continuation loop. |
| seed_content | string | – | Original seed YAML for goal/constraints extraction |
| seed_handoff_id | string | – | Opaque parent-owned Seed handle for plugin evaluation |
| session_id | string | yes | The execution session ID to evaluate |
| trigger_consensus | boolean | – | Force Stage 3 consensus evaluation. Default: False |
| working_dir | string | – | Project root used to resolve Stage 1 mechanical verification commands and Stage 2 source-file visibility. Commands are read from .ouroboros/mechanical.toml; when the file is missing, the evaluator ma… |
No output schema declared.
No examples provided.
ouroboros_start_evolve_step ~502
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_session_id | string | – | Optional auto session id for checkpoint commit metadata. |
| benchmark_control | boolean | – | Run a deliberate full-graph frugality control. Default: false. Requires execute=true, Gen 2+, an explicit Git project_dir, and a clean baseline; unavailable through plugin delegation. |
| checkpoint_attempted_ac_ids | array | – | Acceptance criteria already considered for checkpoint commits. |
| checkpoint_commits | array | – | Existing checkpoint commit records for idempotency. |
| commit_policy | string | – | Optional checkpoint commit policy for passed ACs. |
| conductor_decision_id | string | – | Selected conductor decision authorizing this successor generation. |
| conductor_directive | object | – | Bounded corrective context for this successor generation. |
| execute | boolean | – | Whether to run seed execution and evaluation. True (default): full pipeline with Execute→Validate→Evaluate. False: ontology-only evolution (fast, no execution). |
| execution_id | string | – | Optional execution id for checkpoint commit metadata. |
| lineage_id | string | yes | Lineage ID to continue or new ID for Gen 1 |
| parallel | boolean | – | Whether to run ACs in parallel. True (default): parallel execution (fast, may cause import conflicts). False: sequential execution (slower, more stable code generation). |
| predecessor_execution_id | string | – | Execution or generation that this successor follows. |
| project_dir | string | – | Project root directory for validation (pytest collection check). If omitted, auto-detected from execution output or CWD. |
| recover_expired_claim | boolean | – | Explicitly recover an expired lineage writer claim after confirming the prior owner process is dead. Default: false |
| seed_content | string | – | Seed YAML text for Gen 1. Pass a YAML-formatted string (for example, newline-delimited 'goal: ...' fields), not JSON-shaped text or an object literal; some MCP clients may otherwise coerce the value… |
| skip_qa | boolean | – | Skip post-execution QA evaluation. Default: false |
No output schema declared.
No examples provided.
ouroboros_start_execute_seed ~562
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_evaluate | boolean | – | Override execution.auto_evaluate for this call. When true, a completed background execute_seed run enqueues formal 3-stage evaluation as a separate bounded background job. |
| auto_evolve | boolean | – | Override execution.auto_evolve for the chained evaluation. When true, an explicitly rejected evaluation starts a bounded Ralph continuation loop. |
| conductor_decision_id | string | – | Selected conductor decision receipt authorizing a fresh successor. |
| conductor_directive | object | – | Bounded corrective context copied exactly from the selected conductor decision. Fresh successor executions only. |
| cwd | string | – | Working directory used to resolve relative seed paths. |
| efficiency_mode | string | – | Execution efficiency policy. adaptive may start decomposed ACs on lower-cost tiers and escalate on recovery; quality_first keeps children at the parent starting tier. When omitted on a fresh start, a… |
| frugality_assurance | string | – | Frugality assurance: off, lightweight observe, or explicit strict baseline eligibility. Defaults from efficiency_mode; strict is never enabled implicitly. |
| idempotency_key | string | – | Optional process-local idempotency key. A second call with the same key returns the same execution metadata and does NOT enqueue a new execution. Map TTL is process lifetime — not persistent across s… |
| max_iterations | integer | – | Maximum number of execution iterations. Default: 10 |
| model_tier | string | – | Model-tier routing: small/medium/large → frugal/standard/frontier execution tier (trusted decomposed children may run one tier below; retries escalate). Omit to preserve automatic runtime selection;… |
| predecessor_execution_id | string | – | Execution ID that the new successor follows. |
| seed_content | string | – | Inline seed YAML content to execute. |
| seed_path | string | – | Path to a seed YAML file. If the path does not exist, the value is treated as inline seed YAML. |
| session_id | string | – | Optional session ID to resume. If not provided, a new session is created. |
| skip_qa | boolean | – | Skip post-execution QA evaluation. Default: false |
No output schema declared.
No examples provided.
ouroboros_start_ralph ~748
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auto_session_id | string | – | Optional auto session id used for checkpoint commit metadata. |
| checkpoint_attempted_ac_ids | array | – | Acceptance criteria already considered for checkpoint commits. |
| checkpoint_commits | array | – | Existing checkpoint commit records forwarded to evolve_step. |
| commit_policy | string | – | Optional checkpoint commit policy forwarded to evolve_step. |
| conductor_decision_id | string | – | Selected conductor decision authorizing one successor generation. |
| conductor_directive | object | – | Deterministic non-relaxing directive for one successor generation. |
| execute | boolean | – | Whether each generation should execute and evaluate. Default: true. |
| execution_id | string | – | Optional execution id used for checkpoint commit metadata. |
| grade_regression_window | integer | – | Number of trailing iterations whose non-None grades must strictly decrease to stop with stop_reason='grade_regressing'. Default: 2. Range: 2-10. Values < 2 are rejected because strict-decrease requir… |
| lineage_id | string | yes | Lineage ID to start or continue. |
| max_generations | integer | – | Maximum generations to run before stopping. Default: 10. Range: 1-10. |
| max_total_seconds | number | – | Total wall-clock budget for the entire Ralph loop in seconds. In the in-process runner this is enforced by RalphLoopRunner: checked at the top of every iteration BEFORE launching evolve_step, and on… |
| oscillation_window | integer | – | Number of trailing iterations whose findings_hash must match (and QA must not have passed) to stop with stop_reason='oscillation_detected'. Default: 3. Range: 2-10. Values < 2 are rejected because a… |
| parallel | boolean | – | Whether each generation may execute ACs in parallel. Default: true. |
| per_iteration_timeout_seconds | number | – | Per-iteration wall-clock bound in seconds. In-process runtime: hard-enforced via asyncio.timeout, the loop stops with stop_reason='iteration_timeout' on expiry. OpenCode plugin runtime: advisory boun… |
| predecessor_execution_id | string | – | Execution or generation that this successor follows. |
| project_dir | string | – | Project root forwarded to each evolve_step generation. |
| seed_content | string | – | Seed YAML content for generation 1. Omit for continuation. |
| skip_qa | boolean | – | Skip post-execution QA. Default: false. |
No output schema declared.
No examples provided.
ouroboros_submit_fanout_results ~270
Submit correlated results from a subagent fan-out back to Ouroboros. After spawning the advisory/persona/investigation subagents declared by a prior tool's `meta` (which stamped a `fanout_id` and a `result_correlation_key`), call this tool with one {key, content} per child output — `key` is the value of the correlation field for that child. A child you could not spawn at all is exactly {key, undispatched: true}; never invent output. Missing required keys return `status=partial`; retry with EVERY lane. A complete submission returns a bounded disposable artifact envelope; fetch its body with the MCP tool `ouroboros_fetch_artifact`.
| Name | Type | Req | Description |
|---|---|---|---|
| correlation_key | string | – | The result_correlation_key from the originating meta (e.g. 'context.persona' or 'code_facts'). |
| fanout_id | string | yes | The fanout_id stamped into the originating tool's meta. |
| results | array | yes | Correlated child outputs: objects with a 'key' (the correlation value) and a 'content' (the child result), or 'undispatched': true when the child never ran. |
| session_id | string | – | Interview/lateral session id the fan-out belongs to. |
No output schema declared.
No examples provided.
How do I install the Ouroboros MCP server?
Ouroboros runs locally as a PyPI package, launched with uvx ouroboros-ai. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · ouroboros-ai
claude mcp add q00-ouroboros -- uvx ouroboros-ai
What is the Ouroboros MCP server?
Ouroboros is an MCP server listed in the public MCP registry as io.github.Q00/ouroboros. Pins an acceptance spec; the verify command and expected output never enter the success contract. This page covers its PyPI package (ouroboros-ai).
Is the Ouroboros MCP server safe to use?
Ouroboros scores 65 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 17 October 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Ouroboros MCP server expose?
Ouroboros exposes 36 tools: ouroboros_execute_seed, ouroboros_start_execute_seed, ouroboros_auto, ouroboros_start_auto, ouroboros_session_status, and 31 more. Their descriptions and schemas cost roughly 10,095 tokens of context every time the server is loaded.
Is the Ouroboros MCP server still maintained?
Ouroboros is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Ouroboros MCP server under?
Ouroboros declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.