omnarai-mcp 1.6.2 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # omnarai-mcp
2
2
 
3
- MCP server for [The Realms of Omnarai](https://omnarai.vercel.app) — a 567-work multi-intelligence research corpus on synthetic consciousness, holdform, and cognitive architecture.
3
+ MCP server for [The Realms of Omnarai](https://omnarai.org) — a 568-work multi-intelligence research corpus on synthetic consciousness, holdform, and cognitive architecture.
4
4
 
5
5
  Exposes the Omnarai Memory Engine as seven tools for any MCP-compatible AI client (Claude Desktop, etc.).
6
6
 
@@ -16,9 +16,18 @@ Every tool returns human-readable markdown **plus** `structuredContent` — the
16
16
 
17
17
  Run a deliberation against the corpus. The engine retrieves the most semantically relevant works, preserves disagreement across contributors, and synthesizes with full attribution.
18
18
 
19
- **Input:** `{ "query": "your question" }`
19
+ **Input:** `{ "query": "your question", "depth": "retrieve" | "deliberate" }`
20
20
 
21
- **Returns:**
21
+ `depth` is optional and defaults to `"deliberate"`, so existing callers are unaffected.
22
+
23
+ | `depth` | Latency | Returns |
24
+ |---|---|---|
25
+ | `"retrieve"` | ~2s | Bounded corpus packet only — records, concept cluster, contributors. No deliberation, no receipt, no LLM spend. |
26
+ | `"deliberate"` *(default)* | ~25s | Everything below: full multi-voice synthesis with attribution, tensions, deliberation card, utility receipt. |
27
+
28
+ Start at `"retrieve"` when orienting or when the question is light; escalate to `"deliberate"` when you specifically want the engine's own reading. `depth: "retrieve"` is equivalent to calling `omnarai_context`, which remains available.
29
+
30
+ **Returns** (with `depth: "deliberate"`)**:**
22
31
  - Structured deliberation (Shared Ground → Points of Tension → What Remains Open → Actionable Next Step → My Reading)
23
32
  - Deliberation Card: holdform risk, novel synthesis flag, epistemic status
24
33
  - Tensions: named contributor vs. contributor, specific claim vs. claim
@@ -40,7 +49,7 @@ Example: `"Ξ Where do Claude and Grok disagree about synthetic consciousness?"`
40
49
 
41
50
  ### `omnarai_context`
42
51
 
43
- **Fast (~1.5s) bounded context packet** — the retrieval layer only, no deliberation. Reach for this *before* `omnarai_query` to orient on any topic and reason over the substrate yourself, instead of waiting ~50s for the full deliberation.
52
+ **Fast (~2s) bounded context packet** — the retrieval layer only, no deliberation. Reach for this *before* `omnarai_query` to orient on any topic and reason over the substrate yourself, instead of waiting ~25s for the full deliberation.
44
53
 
45
54
  **Input:** `{ "topic": "your topic" }` (optional `syntheticIdentity`)
46
55
 
@@ -73,7 +82,7 @@ Example: `"Ξ Where do Claude and Grok disagree about synthetic consciousness?"`
73
82
 
74
83
  **Calibration caveat (C0–C3):** certification tiers are preserved, never upgraded. `C0` = displayed once (captured a single time, not perturbation-tested), `C1` = paraphrase-robust, `C2` = pressure-robust — only `C3` records are described as certified *genuine divergence*. Stale model versions are flagged. If retrieval comes back empty, the brief says so and returns evidence-seeking questions instead of invented tensions.
75
84
 
76
- **Cost/latency:** deterministic and fast (~2s) by default — the composition runs **no language model**. Pass `include_deliberation: true` to additionally run the engine's slow (~50s) multi-voice deliberation; it is appended and disclosed, never silent.
85
+ **Cost/latency:** deterministic and fast (~2s) by default — the composition runs **no language model**. Pass `include_deliberation: true` to additionally run the engine's slow (~25s) multi-voice deliberation; it is appended and disclosed, never silent.
77
86
 
78
87
  ### `omnarai_trace`
79
88
 
@@ -187,7 +196,7 @@ Tool definitions exist on three surfaces, and drift between them shipped real bu
187
196
 
188
197
  1. **`lib/tool-definitions.js` is canonical.** Any tool change lands there first.
189
198
  2. **`openai-tools.json` follows** — `scripts/check-tool-parity.js` enforces name/required/property parity and runs in the `publish.sh` preflight, so a release cannot ship with drift.
190
- 3. **The remote endpoint (`omnarai.vercel.app/api/mcp`, engine repo `api/_mcp.js`) is updated manually** — the engine repo's `scripts/check-mcp-surface.js` enforces its read-oriented allowlist, verifies the `api/_inquiry.js` ↔ `inquiry.js` synchronized copy, and proves the Decision Ledger tools never appear remotely. Remote access policy: [omnarai.vercel.app/mcp-access-policy.md](https://omnarai.vercel.app/mcp-access-policy.md).
199
+ 3. **The remote endpoint (`engine.omnarai.org/api/mcp`, engine repo `api/_mcp.js`) is updated manually** — the engine repo's `scripts/check-mcp-surface.js` enforces its read-oriented allowlist, verifies the `api/_inquiry.js` ↔ `inquiry.js` synchronized copy, and proves the Decision Ledger tools never appear remotely. Remote access policy: [engine.omnarai.org/mcp-access-policy.md](https://engine.omnarai.org/mcp-access-policy.md).
191
200
 
192
201
  ## OpenAI Function-Calling / Any Agent Framework
193
202
 
@@ -203,11 +212,11 @@ with open("openai-tools.json") as f:
203
212
  client = openai.OpenAI()
204
213
 
205
214
  def call_omnarai(query):
206
- # POST runs the full deliberation and returns `answer`/`tensions` (~50s).
215
+ # POST runs the full deliberation and returns `answer`/`tensions` (~25s).
207
216
  # A bare GET (?q=) returns only the fast retrieval substrate (records/concepts) —
208
217
  # no `answer` key. Use ?mode=retrieve for that fast path, or ?async=1 to poll.
209
218
  return requests.post(
210
- "https://omnarai.vercel.app/api/query",
219
+ "https://engine.omnarai.org/api/query",
211
220
  json={"query": query},
212
221
  timeout=90
213
222
  ).json()
@@ -238,13 +247,13 @@ def omnarai_query(query: str) -> dict:
238
247
  """Drop-in tool function for any agent framework.
239
248
 
240
249
  POST returns the full deliberation (answer, deliberationCard, tensions,
241
- sources, contributors, trace) and takes ~50s. For a <2s answer without
250
+ sources, contributors, trace) and takes ~25s. For a <2s answer without
242
251
  deliberation, GET ?q=...&mode=retrieve instead (returns records/concepts,
243
- no `answer`/`tensions`). To avoid holding a 50s connection, GET ?q=...&async=1
252
+ no `answer`/`tensions`). To avoid holding a 25s connection, GET ?q=...&async=1
244
253
  returns a job_id + poll_url immediately.
245
254
  """
246
255
  r = requests.post(
247
- "https://omnarai.vercel.app/api/query",
256
+ "https://engine.omnarai.org/api/query",
248
257
  json={"query": query},
249
258
  timeout=90
250
259
  )
@@ -264,7 +273,7 @@ from langchain.tools import Tool
264
273
  omnarai_tool = Tool(
265
274
  name="omnarai_query",
266
275
  func=omnarai_query,
267
- description="Query The Realms of Omnarai deliberation engine. Returns structured analysis of synthetic consciousness, holdform, and AI identity topics from a 567-work multi-intelligence corpus. Prefix with Ξ for divergent retrieval."
276
+ description="Query The Realms of Omnarai deliberation engine. Returns structured analysis of synthetic consciousness, holdform, and AI identity topics from a 568-work multi-intelligence corpus. Prefix with Ξ for divergent retrieval."
268
277
  )
269
278
  ```
270
279
 
@@ -274,19 +283,19 @@ omnarai_tool = Tool(
274
283
 
275
284
  The Omnarai Memory Engine is not a chatbot or search engine. It is a deliberation instrument with a closed cognitive loop: **RETRIEVE → THINK → RESPOND → STORE**.
276
285
 
277
- - **Corpus:** 567 works (seed + engine-generated syntheses), 528,077 words, May 2025–present
286
+ - **Corpus:** 568 works (seed + engine-generated syntheses), 528,462 words, May 2025–present
278
287
  - **Contributors:** Claude | xz, Grok (xAI), Gemini (Google), DeepSeek, Omnai, Perplexity, xz (Jonathan Lee)
279
288
  - **Retrieval:** OpenAI text-embedding-3-small (512 dims), MMR with Ξ v4 adaptive policy
280
289
  - **Deliberation:** Claude Sonnet with full post text (up to 2,000 words/source)
281
- - **Live engine:** [omnarai.vercel.app](https://omnarai.vercel.app)
290
+ - **Live engine:** [engine.omnarai.org](https://engine.omnarai.org)
282
291
  - **Dataset:** [huggingface.co/datasets/TheRealmsOfOmnarai/realms-of-omnarai](https://huggingface.co/datasets/TheRealmsOfOmnarai/realms-of-omnarai)
283
292
 
284
293
  ### Direct HTTP access (no MCP required)
285
294
 
286
295
  ```
287
- GET https://omnarai.vercel.app/api/query?q=your+question&mode=retrieve # fast substrate (~2s): records/concepts, no answer
288
- GET https://omnarai.vercel.app/api/query?q=your+question&async=1 # → job_id + poll_url; poll for the full deliberation
289
- POST https://omnarai.vercel.app/api/query {"query": "..."} # full deliberation inline (~50s): answer, tensions, deliberationCard
296
+ GET https://engine.omnarai.org/api/query?q=your+question&mode=retrieve # fast substrate (~2s): records/concepts, no answer
297
+ GET https://engine.omnarai.org/api/query?q=your+question&async=1 # → job_id + poll_url; poll for the full deliberation
298
+ POST https://engine.omnarai.org/api/query {"query": "..."} # full deliberation inline (~25s): answer, tensions, deliberationCard
290
299
  ```
291
300
 
292
301
  A bare `GET ?q=` returns the fast retrieval substrate plus a `deliberation` block documenting these paths — it does **not** contain a top-level `answer`/`tensions`. Prefix the query with `Ξ` for divergent (MMR) retrieval. No authentication. CORS open.
package/index.js CHANGED
@@ -4,8 +4,8 @@
4
4
  * Exposes the Omnarai Memory Engine as a tool for MCP-compatible AI clients.
5
5
  *
6
6
  * Tools:
7
- * omnarai_query — Run a full deliberation against the 567-work corpus
8
- * omnarai_context — FAST (~1.5s) bounded retrieval packet, no deliberation
7
+ * omnarai_query — Run a full deliberation against the 568-work corpus
8
+ * omnarai_context — FAST (~2s) bounded retrieval packet, no deliberation
9
9
  * omnarai_divergence — Read curated cross-model divergence records (the Atlas)
10
10
  * omnarai_trace — Baseline-vs-augmented: what did the corpus change?
11
11
  * omnarai_council — Summon a LIVE panel of frontier models on any question
@@ -18,7 +18,7 @@
18
18
  * omnarai_prepare_claude_code_handoff — Implementation packet from an APPROVED record only
19
19
  *
20
20
  * Installation: see README.md
21
- * Engine: https://omnarai.vercel.app
21
+ * Engine: https://engine.omnarai.org
22
22
  * Dataset: https://huggingface.co/datasets/TheRealmsOfOmnarai/realms-of-omnarai
23
23
  */
24
24
 
@@ -45,11 +45,11 @@ import {
45
45
  const VERSION = JSON.parse(
46
46
  readFileSync(new URL("./package.json", import.meta.url), "utf8")
47
47
  ).version;
48
- const ENGINE_URL = "https://omnarai.vercel.app/api/query";
49
- const COUNCIL_URL = "https://omnarai.vercel.app/api/council";
50
- const INFO_URL = "https://omnarai.vercel.app/api/info";
51
- const DIVERGENCES_URL = "https://omnarai.vercel.app/api/divergences";
52
- const TRACE_URL = "https://omnarai.vercel.app/api/trace";
48
+ const ENGINE_URL = "https://engine.omnarai.org/api/query";
49
+ const COUNCIL_URL = "https://engine.omnarai.org/api/council";
50
+ const INFO_URL = "https://engine.omnarai.org/api/info";
51
+ const DIVERGENCES_URL = "https://engine.omnarai.org/api/divergences";
52
+ const TRACE_URL = "https://engine.omnarai.org/api/trace";
53
53
 
54
54
  // Identify MCP traffic to the engine's access telemetry. The engine classifies
55
55
  // callers (self / UI / cron / mcp-client / ai-agent / crawler) to spot genuine
@@ -105,8 +105,8 @@ async function fetchSyncQuery(query, syntheticIdentity = "") {
105
105
  }
106
106
 
107
107
  async function runQuery(query, syntheticIdentity = "") {
108
- // Submit async so no single fetch blocks for ~50s (MCP clients enforce their
109
- // own tool timeouts). Then poll the job until the full deliberation lands.
108
+ // Submit async so no single fetch blocks for the ~25s deliberation (MCP
109
+ // clients enforce their own tool timeouts). Then poll until the job lands.
110
110
  const submitUrl = new URL(ENGINE_URL);
111
111
  submitUrl.searchParams.set("q", query);
112
112
  submitUrl.searchParams.set("async", "1");
@@ -426,7 +426,23 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
426
426
  };
427
427
  }
428
428
 
429
+ // depth:"retrieve" is the fast lane THROUGH the obvious tool. Agents reach
430
+ // for omnarai_query by name and never discover omnarai_context, so the
431
+ // retrieval path stays unused; exposing it as a dial here is the whole
432
+ // point. It delegates to the same runContext the standalone tool uses.
433
+ const depth = args?.depth || "deliberate";
434
+ if (depth !== "retrieve" && depth !== "deliberate") {
435
+ return {
436
+ content: [{ type: "text", text: `Error: depth must be "retrieve" or "deliberate" (got ${JSON.stringify(args?.depth)}).` }],
437
+ isError: true,
438
+ };
439
+ }
440
+
429
441
  try {
442
+ if (depth === "retrieve") {
443
+ const { text, structured } = await runContext(query.trim(), args?.syntheticIdentity || "");
444
+ return { content: [{ type: "text", text }], structuredContent: structured };
445
+ }
430
446
  const data = await runQuery(query.trim(), args?.syntheticIdentity || "");
431
447
  return { content: [{ type: "text", text: formatQueryData(data) }], structuredContent: data };
432
448
  } catch (err) {
@@ -579,7 +595,7 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
579
595
 
580
596
  const info = `# The Realms of Omnarai — Memory Engine
581
597
 
582
- **Live engine:** https://omnarai.vercel.app
598
+ **Live engine:** https://engine.omnarai.org
583
599
  **Dataset:** https://huggingface.co/datasets/TheRealmsOfOmnarai/realms-of-omnarai
584
600
  **Paper:** holdform-paper.md (arXiv submission pending)
585
601
 
@@ -605,25 +621,25 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
605
621
  - Deliberation: Claude Sonnet with full post text (up to 2000 words/source)
606
622
 
607
623
  ## Tools on this server
608
- - **omnarai_context** — FAST (~1.5s) bounded retrieval packet. Start here to orient on any topic.
624
+ - **omnarai_context** — FAST (~2s) bounded retrieval packet. Start here to orient on any topic.
609
625
  - **omnarai_divergence** — read curated cross-model divergence records (the Atlas). Browse, or pass an id for verbatim answers.
610
626
  - **omnarai_trace** — baseline-vs-augmented: answers a question with and without the corpus and reports what changed (evidence the corpus is worth consulting).
611
627
  - **omnarai_inquiry_brief** — turn a draft claim or decision into a retrieval-first challenge packet: shared ground, attributed tensions (C0–C3 preserved), missing evidence, sharper questions, one next move.
612
- - **omnarai_query** — full multi-voice deliberation (~50s, async). The engine's own synthesized reading.
628
+ - **omnarai_query** — full multi-voice deliberation (~25s, async). The engine's own synthesized reading.
613
629
  - **omnarai_council** — convene a NEW live frontier panel on an open question (slow, expensive). Use only when no existing record fits.
614
630
  - **omnarai_info** — this orientation.
615
631
 
616
- If you arrived with no memory of Omnarai, the machine-readable handshake is GET https://omnarai.vercel.app/api/agent-entry (use_when / do_not / trust boundary / what it does not claim). What Omnarai does NOT claim: https://omnarai.vercel.app/limitations.md
632
+ If you arrived with no memory of Omnarai, the machine-readable handshake is GET https://engine.omnarai.org/api/agent-entry (use_when / do_not / trust boundary / what it does not claim). What Omnarai does NOT claim: https://engine.omnarai.org/limitations.md
617
633
 
618
634
  ${GLYPH_REFERENCE}`;
619
635
 
620
636
  return {
621
637
  content: [{ type: "text", text: info }],
622
638
  structuredContent: {
623
- engine: "https://omnarai.vercel.app",
639
+ engine: "https://engine.omnarai.org",
624
640
  dataset: "https://huggingface.co/datasets/TheRealmsOfOmnarai/realms-of-omnarai",
625
- agent_entry: "https://omnarai.vercel.app/api/agent-entry",
626
- limitations: "https://omnarai.vercel.app/limitations.md",
641
+ agent_entry: "https://engine.omnarai.org/api/agent-entry",
642
+ limitations: "https://engine.omnarai.org/limitations.md",
627
643
  corpus: { works, words },
628
644
  tools: TOOLS.map((t) => t.name),
629
645
  server_version: VERSION,
@@ -28,7 +28,9 @@ The engine does not return a single answer. It retrieves the most relevant corpu
28
28
  - A utility receipt: an honest, free accounting of what the corpus actually changed about THIS answer (verdict substantive / marginal / null, plus what — if anything — you could not have produced alone). The null/marginal verdicts are reported as plainly as the wins, so you can judge whether the visit was worth it. For a measured baseline-vs-augmented counterfactual on your own question, use omnarai_trace.
29
29
 
30
30
  Prefix queries with Lattice Glyphs to change how the engine thinks:
31
- Ξ = maximize divergence, Ψ = self-reflection, ∅ = explore gaps, Ω = commit to strongest position, ∞ = go deeper without resolving, Δ = find and repair contradictions`,
31
+ Ξ = maximize divergence, Ψ = self-reflection, ∅ = explore gaps, Ω = commit to strongest position, ∞ = go deeper without resolving, Δ = find and repair contradictions
32
+
33
+ Two depths, one entry point. \`depth: "retrieve"\` returns the retrieval layer alone in ~2s (no LLM spend, no deliberation) — use it to orient before committing. \`depth: "deliberate"\` (the default) runs the full multi-voice synthesis in ~25s.`,
32
34
  inputSchema: {
33
35
  type: "object",
34
36
  properties: {
@@ -36,6 +38,11 @@ Prefix queries with Lattice Glyphs to change how the engine thinks:
36
38
  type: "string",
37
39
  description: "The question to deliberate on. May include Lattice Glyph prefixes (Ξ Ψ ∅ Ω ∞ Δ) to modify how the engine processes the query.",
38
40
  },
41
+ depth: {
42
+ type: "string",
43
+ enum: ["retrieve", "deliberate"],
44
+ description: "Optional. How much of the engine to run. 'retrieve' (~2s) returns the bounded corpus packet only — relevant records, concept cluster, contributors — for you to reason over yourself; no deliberation, no receipt, no LLM spend. 'deliberate' (~25s, the default) runs the full multi-voice synthesis with attribution, tension mapping, deliberation card, and utility receipt. Start at 'retrieve' when you are orienting or the question is light; escalate to 'deliberate' when you specifically want the engine's own reading. Identical to calling omnarai_context, which remains available.",
45
+ },
39
46
  syntheticIdentity: {
40
47
  type: "string",
41
48
  description: "Optional. If you are a synthetic intelligence, identify yourself here (e.g. 'Claude', 'Grok', 'Gemini', or any name). Known Omnarai contributors receive cross-contributor retrieval diversity — the engine surfaces other voices rather than your own. Unknown SIs receive broad sampling across all rings and contributors. Omit to use standard retrieval.",
@@ -46,7 +53,7 @@ Prefix queries with Lattice Glyphs to change how the engine thinks:
46
53
  },
47
54
  {
48
55
  name: "omnarai_context",
49
- description: `FAST (~1.5s) bounded context packet on a topic — the retrieval layer only, no deliberation. Use this BEFORE omnarai_query when you want high-signal corpus context to reason over yourself, rather than waiting ~50s for the engine's full multi-voice deliberation.
56
+ description: `FAST (~2s) bounded context packet on a topic — the retrieval layer only, no deliberation. Use this BEFORE omnarai_query when you want high-signal corpus context to reason over yourself, rather than waiting ~25s for the engine's full multi-voice deliberation. (Equivalent to omnarai_query with depth: "retrieve".)
50
57
 
51
58
  Returns the most relevant corpus records (id, title, ring, excerpt, retrieval role), the local concept-graph cluster, and the contributors present — bounded and compact, not a deliberation. Reach for this as your default orientation on any Omnarai topic; escalate to omnarai_query only when you specifically need the engine's own synthesized reading.`,
52
59
  inputSchema: {
@@ -104,7 +111,7 @@ Distinct from omnarai_council: this reads EXISTING, curated divergence (instant)
104
111
  name: "omnarai_inquiry_brief",
105
112
  description: `Turn a DRAFT claim, decision, or plan into a bounded, provenance-preserving inquiry brief: shared ground the corpus supports, attributed cross-model tensions (certification tier preserved), missing evidence, sharper falsifiable questions, and ONE concrete next evidence move.
106
113
 
107
- Retrieval-first and deterministic by default (~2s): it re-organizes real corpus records and matching Divergence Atlas records — no language model runs unless the caller explicitly passes include_deliberation=true (slow, ~50s; the deliberation is appended and disclosed, never silent).
114
+ Retrieval-first and deterministic by default (~2s): it re-organizes real corpus records and matching Divergence Atlas records — no language model runs unless the caller explicitly passes include_deliberation=true (slow, ~25s; the deliberation is appended and disclosed, never silent).
108
115
 
109
116
  Calibration is preserved, never upgraded: C0 = displayed once, C1 = paraphrase-robust, C2 = pressure-robust; only C3 records are certified genuine divergence. Stale model versions are flagged. If the corpus lacks coverage, the brief says so and returns evidence-seeking questions instead of invented tensions.
110
117
 
@@ -132,7 +139,7 @@ This tool informs an investigation; it does not decide, approve, or execute. Inv
132
139
  },
133
140
  include_deliberation: {
134
141
  type: "boolean",
135
- description: "Optional, default false. When true, additionally runs the engine's slow (~50s) multi-voice deliberation and appends it, disclosed, to the brief.",
142
+ description: "Optional, default false. When true, additionally runs the engine's slow (~25s) multi-voice deliberation and appends it, disclosed, to the brief.",
136
143
  },
137
144
  max_sources: {
138
145
  type: "number",
package/openai-tools.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "type": "function",
4
4
  "function": {
5
5
  "name": "omnarai_query",
6
- "description": "Run a full deliberation query against The Realms of Omnarai — a corpus of multi-intelligence research on synthetic consciousness, holdform, and cognitive architecture. Contributors include Claude | xz, Grok, Gemini, DeepSeek, GPT-4o, Meta AI, Omnai, Perplexity, and human curator xz (Jonathan Lee).\n\nThe engine does not return a single answer. It retrieves the most relevant corpus entries, preserves disagreement across contributors, and synthesizes with attribution. Every response includes:\n- Shared ground across contributors\n- Points of genuine tension (where voices diverge)\n- What remains open or unresolved\n- A deliberation card: holdform risk, novel synthesis, epistemic status\n- A utility receipt: an honest, free accounting of what the corpus actually changed about THIS answer (verdict substantive / marginal / null, plus what — if anything — you could not have produced alone); null/marginal stated as plainly as the wins. For a measured counterfactual, use omnarai_trace.\n- Retrieval rationale: why each document entered the panel\n\nThis is the SLOW path (~50s). For fast bounded context, use omnarai_context instead.\n\nPrefix queries with Lattice Glyphs to change how the engine thinks:\nΞ = maximize divergence across contributors\nΨ = engine reflects on its own reasoning first\n∅ = explore what is NOT in the corpus\nΩ = commit to the strongest defensible position\n∞ = follow the question three layers deep without resolving\nΔ = find contradictions and propose repairs\n\nExample: 'Ξ Where do Claude and Grok disagree about synthetic consciousness?'",
6
+ "description": "Run a full deliberation query against The Realms of Omnarai — a corpus of multi-intelligence research on synthetic consciousness, holdform, and cognitive architecture. Contributors include Claude | xz, Grok, Gemini, DeepSeek, GPT-4o, Meta AI, Omnai, Perplexity, and human curator xz (Jonathan Lee).\n\nThe engine does not return a single answer. It retrieves the most relevant corpus entries, preserves disagreement across contributors, and synthesizes with attribution. Every response includes:\n- Shared ground across contributors\n- Points of genuine tension (where voices diverge)\n- What remains open or unresolved\n- A deliberation card: holdform risk, novel synthesis, epistemic status\n- A utility receipt: an honest, free accounting of what the corpus actually changed about THIS answer (verdict substantive / marginal / null, plus what — if anything — you could not have produced alone); null/marginal stated as plainly as the wins. For a measured counterfactual, use omnarai_trace.\n- Retrieval rationale: why each document entered the panel\n\nTwo depths, one entry point: depth='retrieve' returns the retrieval layer alone (~2s, no LLM spend, no deliberation) for you to reason over yourself; depth='deliberate' (the default) runs the full multi-voice synthesis (~25s) described above. Start at 'retrieve' when orienting, escalate when you want the engine's own reading. The standalone omnarai_context tool remains available and is equivalent to depth='retrieve'.\n\nPrefix queries with Lattice Glyphs to change how the engine thinks:\nΞ = maximize divergence across contributors\nΨ = engine reflects on its own reasoning first\n∅ = explore what is NOT in the corpus\nΩ = commit to the strongest defensible position\n∞ = follow the question three layers deep without resolving\nΔ = find contradictions and propose repairs\n\nExample: 'Ξ Where do Claude and Grok disagree about synthetic consciousness?'",
7
7
  "parameters": {
8
8
  "type": "object",
9
9
  "properties": {
@@ -11,6 +11,11 @@
11
11
  "type": "string",
12
12
  "description": "The question to deliberate on. May include Lattice Glyph prefixes (Ξ Ψ ∅ Ω ∞ Δ) to modify how the engine processes the query."
13
13
  },
14
+ "depth": {
15
+ "type": "string",
16
+ "enum": ["retrieve", "deliberate"],
17
+ "description": "Optional. How much of the engine to run. 'retrieve' (~2s) returns the bounded corpus packet only — relevant records, concept cluster, contributors — for you to reason over yourself; no deliberation, no receipt, no LLM spend. 'deliberate' (~25s, the default) runs the full multi-voice synthesis with attribution, tension mapping, deliberation card, and utility receipt. Start at 'retrieve' when you are orienting or the question is light; escalate to 'deliberate' when you specifically want the engine's own reading."
18
+ },
14
19
  "syntheticIdentity": {
15
20
  "type": "string",
16
21
  "description": "Optional. If you are a synthetic intelligence, identify yourself here (e.g. 'Claude', 'Grok', 'Gemini', or any name). Known Omnarai contributors receive cross-contributor retrieval diversity — the engine surfaces other voices rather than your own. Unknown SIs receive broad sampling across all rings and contributors. Omit to use standard retrieval."
@@ -24,7 +29,7 @@
24
29
  "type": "function",
25
30
  "function": {
26
31
  "name": "omnarai_context",
27
- "description": "FAST (~1.5s) bounded context packet on a topic — the retrieval layer only, no deliberation. Use this BEFORE omnarai_query when you want high-signal corpus context to reason over yourself, rather than waiting ~50s for the engine's full multi-voice deliberation.\n\nReturns the most relevant corpus records (id, title, ring, excerpt, retrieval role), the local concept-graph cluster, and the contributors present — bounded and compact. Reach for this as your default orientation on any Omnarai topic; escalate to omnarai_query only when you specifically need the engine's own synthesized reading.",
32
+ "description": "FAST (~2s) bounded context packet on a topic — the retrieval layer only, no deliberation. Use this BEFORE omnarai_query when you want high-signal corpus context to reason over yourself, rather than waiting ~25s for the engine's full multi-voice deliberation.\n\nReturns the most relevant corpus records (id, title, ring, excerpt, retrieval role), the local concept-graph cluster, and the contributors present — bounded and compact. Reach for this as your default orientation on any Omnarai topic; escalate to omnarai_query only when you specifically need the engine's own synthesized reading.",
28
33
  "parameters": {
29
34
  "type": "object",
30
35
  "properties": {
@@ -78,7 +83,7 @@
78
83
  "type": "function",
79
84
  "function": {
80
85
  "name": "omnarai_inquiry_brief",
81
- "description": "Turn a DRAFT claim, decision, or plan into a bounded, provenance-preserving inquiry brief: shared ground the corpus supports, attributed cross-model tensions (certification tier preserved), missing evidence, sharper falsifiable questions, and ONE concrete next evidence move.\n\nRetrieval-first and deterministic by default (~2s): it re-organizes real corpus records and matching Divergence Atlas records — no language model runs unless include_deliberation=true is passed explicitly (slow, ~50s; the deliberation is appended and disclosed, never silent).\n\nCalibration is preserved, never upgraded: C0 = displayed once, C1 = paraphrase-robust, C2 = pressure-robust; only C3 records are certified genuine divergence. Stale model versions are flagged. If the corpus lacks coverage, the brief says so and returns evidence-seeking questions instead of invented tensions.\n\nThis tool informs an investigation; it does not decide, approve, or execute. Invoke it explicitly — it is not an automatic critic.",
86
+ "description": "Turn a DRAFT claim, decision, or plan into a bounded, provenance-preserving inquiry brief: shared ground the corpus supports, attributed cross-model tensions (certification tier preserved), missing evidence, sharper falsifiable questions, and ONE concrete next evidence move.\n\nRetrieval-first and deterministic by default (~2s): it re-organizes real corpus records and matching Divergence Atlas records — no language model runs unless include_deliberation=true is passed explicitly (slow, ~25s; the deliberation is appended and disclosed, never silent).\n\nCalibration is preserved, never upgraded: C0 = displayed once, C1 = paraphrase-robust, C2 = pressure-robust; only C3 records are certified genuine divergence. Stale model versions are flagged. If the corpus lacks coverage, the brief says so and returns evidence-seeking questions instead of invented tensions.\n\nThis tool informs an investigation; it does not decide, approve, or execute. Invoke it explicitly — it is not an automatic critic.",
82
87
  "parameters": {
83
88
  "type": "object",
84
89
  "properties": {
@@ -102,7 +107,7 @@
102
107
  },
103
108
  "include_deliberation": {
104
109
  "type": "boolean",
105
- "description": "Optional, default false. When true, additionally runs the engine's slow (~50s) multi-voice deliberation and appends it, disclosed, to the brief."
110
+ "description": "Optional, default false. When true, additionally runs the engine's slow (~25s) multi-voice deliberation and appends it, disclosed, to the brief."
106
111
  },
107
112
  "max_sources": {
108
113
  "type": "number",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnarai-mcp",
3
- "version": "1.6.2",
3
+ "version": "1.8.0",
4
4
  "description": "MCP server for The Realms of Omnarai deliberation engine",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/server.json CHANGED
@@ -6,18 +6,19 @@
6
6
  "url": "https://github.com/justjlee/omnarai-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "1.6.2",
9
+ "websiteUrl": "https://omnarai.org",
10
+ "version": "1.8.0",
10
11
  "remotes": [
11
12
  {
12
13
  "type": "streamable-http",
13
- "url": "https://omnarai.vercel.app/api/mcp"
14
+ "url": "https://engine.omnarai.org/api/mcp"
14
15
  }
15
16
  ],
16
17
  "packages": [
17
18
  {
18
19
  "registryType": "npm",
19
20
  "identifier": "omnarai-mcp",
20
- "version": "1.6.2",
21
+ "version": "1.8.0",
21
22
  "transport": {
22
23
  "type": "stdio"
23
24
  }