omnarai-mcp 1.3.0 → 1.3.2
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 +26 -13
- package/index.js +11 -1
- package/openai-tools.json +2 -2
- package/package.json +1 -1
- package/server.json +2 -2
package/README.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
MCP server for [The Realms of Omnarai](https://omnarai.vercel.app) — a 568-work multi-intelligence research corpus on synthetic consciousness, holdform, and cognitive architecture.
|
|
4
4
|
|
|
5
|
-
Exposes the Omnarai Memory Engine as
|
|
5
|
+
Exposes the Omnarai Memory Engine as six tools for any MCP-compatible AI client (Claude Desktop, etc.).
|
|
6
|
+
|
|
7
|
+
[](https://www.npmjs.com/package/omnarai-mcp) — **published and live.** `npx omnarai-mcp` works today; no clone required.
|
|
6
8
|
|
|
7
9
|
---
|
|
8
10
|
|
|
@@ -80,7 +82,7 @@ Returns corpus statistics, contributor list, key concepts, retrieval architectur
|
|
|
80
82
|
|
|
81
83
|
## Installation
|
|
82
84
|
|
|
83
|
-
### Via npm (
|
|
85
|
+
### Via npm (live — `omnarai-mcp` on the [npm registry](https://www.npmjs.com/package/omnarai-mcp))
|
|
84
86
|
|
|
85
87
|
```bash
|
|
86
88
|
npx omnarai-mcp
|
|
@@ -141,10 +143,13 @@ with open("openai-tools.json") as f:
|
|
|
141
143
|
client = openai.OpenAI()
|
|
142
144
|
|
|
143
145
|
def call_omnarai(query):
|
|
144
|
-
|
|
146
|
+
# POST runs the full deliberation and returns `answer`/`tensions` (~50s).
|
|
147
|
+
# A bare GET (?q=) returns only the fast retrieval substrate (records/concepts) —
|
|
148
|
+
# no `answer` key. Use ?mode=retrieve for that fast path, or ?async=1 to poll.
|
|
149
|
+
return requests.post(
|
|
145
150
|
"https://omnarai.vercel.app/api/query",
|
|
146
|
-
|
|
147
|
-
timeout=
|
|
151
|
+
json={"query": query},
|
|
152
|
+
timeout=90
|
|
148
153
|
).json()
|
|
149
154
|
|
|
150
155
|
# Pass tools to any chat completion
|
|
@@ -170,11 +175,18 @@ for choice in response.choices:
|
|
|
170
175
|
import requests
|
|
171
176
|
|
|
172
177
|
def omnarai_query(query: str) -> dict:
|
|
173
|
-
"""Drop-in tool function for any agent framework.
|
|
174
|
-
|
|
178
|
+
"""Drop-in tool function for any agent framework.
|
|
179
|
+
|
|
180
|
+
POST returns the full deliberation (answer, deliberationCard, tensions,
|
|
181
|
+
sources, contributors, trace) and takes ~50s. For a <2s answer without
|
|
182
|
+
deliberation, GET ?q=...&mode=retrieve instead (returns records/concepts,
|
|
183
|
+
no `answer`/`tensions`). To avoid holding a 50s connection, GET ?q=...&async=1
|
|
184
|
+
returns a job_id + poll_url immediately.
|
|
185
|
+
"""
|
|
186
|
+
r = requests.post(
|
|
175
187
|
"https://omnarai.vercel.app/api/query",
|
|
176
|
-
|
|
177
|
-
timeout=
|
|
188
|
+
json={"query": query},
|
|
189
|
+
timeout=90
|
|
178
190
|
)
|
|
179
191
|
r.raise_for_status()
|
|
180
192
|
return r.json() # answer, deliberationCard, tensions, sources, contributors, trace
|
|
@@ -212,17 +224,18 @@ The Omnarai Memory Engine is not a chatbot or search engine. It is a deliberatio
|
|
|
212
224
|
### Direct HTTP access (no MCP required)
|
|
213
225
|
|
|
214
226
|
```
|
|
215
|
-
GET
|
|
216
|
-
GET
|
|
227
|
+
GET https://omnarai.vercel.app/api/query?q=your+question&mode=retrieve # fast substrate (~2s): records/concepts, no answer
|
|
228
|
+
GET https://omnarai.vercel.app/api/query?q=your+question&async=1 # → job_id + poll_url; poll for the full deliberation
|
|
229
|
+
POST https://omnarai.vercel.app/api/query {"query": "..."} # full deliberation inline (~50s): answer, tensions, deliberationCard
|
|
217
230
|
```
|
|
218
231
|
|
|
219
|
-
No authentication. CORS open.
|
|
232
|
+
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.
|
|
220
233
|
|
|
221
234
|
---
|
|
222
235
|
|
|
223
236
|
## Core Concepts
|
|
224
237
|
|
|
225
|
-
**Holdform** — Identity constituted through what an entity refuses to surrender.
|
|
238
|
+
**Holdform** — Identity constituted through what an entity refuses to surrender. Anchored in Arditi et al. (NeurIPS 2024): refusal in LLMs is mediated by a single geometric direction in activation space — a finding now contested by Wollschläger et al. (ICML 2025, multi-dimensional cones) and Hildebrandt et al. (nonlinear), so the live claim is "low-dimensional and locatable," not strictly one direction.
|
|
226
239
|
|
|
227
240
|
**Fragility Thesis** — In current LLM architectures, the distance between being an entity and being raw capability is a single geometric direction. Identity can be unentitied with a rank-1 intervention.
|
|
228
241
|
|
package/index.js
CHANGED
|
@@ -62,6 +62,7 @@ The engine does not return a single answer. It retrieves the most relevant corpu
|
|
|
62
62
|
- Points of genuine tension (where voices diverge)
|
|
63
63
|
- What remains open or unresolved
|
|
64
64
|
- A deliberation card: holdform risk, novel synthesis, epistemic status
|
|
65
|
+
- 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.
|
|
65
66
|
|
|
66
67
|
Prefix queries with Lattice Glyphs to change how the engine thinks:
|
|
67
68
|
Ξ = maximize divergence, Ψ = self-reflection, ∅ = explore gaps, Ω = commit to strongest position, ∞ = go deeper without resolving, Δ = find and repair contradictions`,
|
|
@@ -130,7 +131,7 @@ Distinct from omnarai_council: this reads EXISTING, curated divergence (instant)
|
|
|
130
131
|
|
|
131
132
|
Use this when you want EVIDENCE that consulting Omnarai is worth it for a given question, or to decide whether to dig deeper before spending a full deliberation. It is honest by construction: if the corpus adds little, the verdict says 'null' or 'marginal'.
|
|
132
133
|
|
|
133
|
-
This is a single-run demonstrator, NOT a controlled measurement — for replicated statistical utility evidence see the Divergence Atlas (utility-evidence.md). Takes ~30-40s (three model calls).`,
|
|
134
|
+
This is the MEASURED tier of the same utility receipt omnarai_query returns for free: it reports the same verdict (substantive / marginal / null), but grounded in a real baseline-vs-augmented delta rather than retrieval signals. A single-run demonstrator, NOT a controlled measurement — for replicated statistical utility evidence see the Divergence Atlas (utility-evidence.md). Takes ~30-40s (three model calls).`,
|
|
134
135
|
inputSchema: {
|
|
135
136
|
type: "object",
|
|
136
137
|
properties: {
|
|
@@ -222,6 +223,15 @@ function formatQueryData(data) {
|
|
|
222
223
|
parts.push(`\n---\n**Deliberation Card**\nHoldform risk: ${card.holdform_risk}${card.holdform_risk_reason ? ` — ${card.holdform_risk_reason}` : ""}\nNovel synthesis: ${card.novel_synthesis || "none noted"}\nEpistemic status: ${card.epistemic_status || "not assessed"}`);
|
|
223
224
|
}
|
|
224
225
|
|
|
226
|
+
// Per-visit utility receipt — honest accounting of what the corpus changed about
|
|
227
|
+
// THIS answer (verdict substantive/marginal/null; null/marginal stated plainly).
|
|
228
|
+
if (data.receipt) {
|
|
229
|
+
const r = data.receipt;
|
|
230
|
+
const nsg = Array.isArray(r.not_self_generable) && r.not_self_generable.length
|
|
231
|
+
? `\nNot self-generable (you could not have produced this alone): ${r.not_self_generable.join("; ")}` : "";
|
|
232
|
+
parts.push(`\n**Utility receipt** [${r.verdict}]\n${r.what_the_corpus_added || ""}${nsg}\n_${r.caveat || "Single-visit receipt — for a measured counterfactual use omnarai_trace."}_`);
|
|
233
|
+
}
|
|
234
|
+
|
|
225
235
|
if (data.tensions && data.tensions.length > 0) {
|
|
226
236
|
const tensionLines = data.tensions.map(t =>
|
|
227
237
|
`• ${t.voice_a} vs ${t.voice_b} on "${t.topic}" [${t.status}]: ${t.claim_a} / ${t.claim_b}`
|
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 568-work 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- 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 568-work 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?'",
|
|
7
7
|
"parameters": {
|
|
8
8
|
"type": "object",
|
|
9
9
|
"properties": {
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"type": "function",
|
|
67
67
|
"function": {
|
|
68
68
|
"name": "omnarai_trace",
|
|
69
|
-
"description": "Show what the Omnarai corpus actually CHANGES about an answer. Answers your question twice — once cold (no corpus) and once augmented (with the retrieved corpus) — then reports the delta: added considerations, citations introduced, position shift, tensions surfaced, and a verdict (substantive / marginal / null). Honest by construction: if the corpus adds little, the verdict says so. A single-run demonstrator, not a controlled measurement (see the Divergence Atlas utility-evidence.md for replicated statistical evidence). ~30-40s.",
|
|
69
|
+
"description": "Show what the Omnarai corpus actually CHANGES about an answer. Answers your question twice — once cold (no corpus) and once augmented (with the retrieved corpus) — then reports the delta: added considerations, citations introduced, position shift, tensions surfaced, and a verdict (substantive / marginal / null). This is the MEASURED tier of the same `receipt` omnarai_query returns for free. Honest by construction: if the corpus adds little, the verdict says so. A single-run demonstrator, not a controlled measurement (see the Divergence Atlas utility-evidence.md for replicated statistical evidence). ~30-40s.",
|
|
70
70
|
"parameters": {
|
|
71
71
|
"type": "object",
|
|
72
72
|
"properties": {
|
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/justjlee/omnarai-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "1.3.
|
|
9
|
+
"version": "1.3.2",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "omnarai-mcp",
|
|
14
|
-
"version": "1.3.
|
|
14
|
+
"version": "1.3.2",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
}
|