
Omneum
ai.omneumv1.0.6更新於 Oct 13, 2026
Evaluate your agent's context for unreliable sources, dependencies, redundant and stale claims.
概覽
Omneum 是一個本機 MCP 伺服器,在代理使用檢索到的上下文之前,評估其來源可靠性、宣告支持度與來源依賴關係。
- 可以做什麼
- Omneum 為代理的上下文管道加入檢索後評估層。它將檢索到的記錄映射為觀察、宣告與來源,然後使用其 BRAID 圖分析,根據譜系、引用、所有權、時間戳與圖結構來估計來源依賴關係。它傳回經依賴調整的來源可靠性與宣告支持度分數,以及衝突與來源資訊。ping 工具可驗證連線,Python SDK 與 ContextMapper 可將其整合到 LangGraph、LlamaIndex、CrewAI 與 OpenAI Agents SDK 等框架中。
- 適用情境
- 當代理從許多來源彙集上下文,需要區分獨立證據與重複或依賴資訊時,適合使用。它適用於 RAG 管道、研究代理、多代理系統與分析工作流程,這些情境中過時、衝突或冗餘的宣告可能誤導模型。它旨在補充檢索與重排序,而非取代它們。
- 執行需求
- 作為 stdio MCP 伺服器在 macOS(arm64 或 x86_64)或 Ubuntu 22.04+ 上本機執行,需要 Python 3.11-3.14。透過 pip 安裝,然後在不使用 sudo 的情況下執行 omneum install 命令。安裝程式會下載並驗證固定版本的評估器守護程序發行包,可能要求管理員權限以安裝機器層級服務檔案,並將評估器作為 launchd 或 systemd 服務執行。預設儲存為 SQLite;可選用 PostgreSQL 與 Apache AGE。未宣告 API 金鑰或環境變數。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Omneum,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Omneum
Provenance-aware context control plane for AI agents.
[CI] [PyPI] [Python 3.11–3.14] [MIT License]
Omneum is an open-source context control plane for AI agents, built to optimize the evidence entering an LLM's context window.
Agents accumulate context from retrieval, tools, memory, and previous sessions, but longer context windows don't guarantee better reasoning. Context rot can slowly degrade downstream answer accuracy even when the relevant information has already been retrieved.
Why Omneum?
-
Provenance-aware graph inference: Iteratively computes source reliability and claim support across a bipartite graph, accounting for shared evidence origins and dependencies between sources.
-
Context reconstruction: Selects original retrieved passages based on question relevance and incremental claim coverage within a token budget.
-
Text-blind evaluation: Evaluates structured observations without reading source text strings or invoking an LLM judge.
-
Local by default: Persists your agents' observations across sessions in a Context Graph, backed by SQLite or PostgreSQL.
Quick Start
Install Omneum:
Run the context reconstruction demo:
Five retrieved chunks, four distinct claims, 80-unit context budget.
Compare retrieval-order packing with Omneum's claim-coverage selection under the same context budget.
Packing chunks in retrieval order consumes 75 units while covering only two claims. Omneum retains two original chunks covering all four, using 32% less context capacity.
The demo measures its budget with the SDK's word/punctuation counter.
How Omneum Works
Graph Inference & Context Selection
Omneum uses a graph-based mathematical analysis, calculated from Observation objects, to estimate the structural reliability of sources and the support for claims found in retrieved context.
Importantly, this analysis does not naively assume every source has derived its information independently. The same information often propagates across multiple sources. Without dependency tracking, five observations from different sources can be difficult to distinguish from five reports derived from the same upstream source.
For example, consider:
How much support should that claim receive? That depends partly on the reliability of the sources reporting it. But how do we determine the reliability of the sources? By looking at the claims they support.
This definition seems circular, and it is. Nonetheless, it provides a well-defined notion of reliability that helps distinguish strongly supported context from weakly supported context.
Of course claim-level scores are only useful for context selection if they can be mapped back to chunks. To bridge this gap, Omneum stores a claim-to-chunk mapping: each chunk retains its original text and chunk_id, while its associated claim_ids reference the claims evaluated in the graph. A chunk can contain multiple claims, and the same claim can appear across multiple chunks. This allows the algorithm to associate claim support with the actual passages competing for space in the context window.
But selecting context is not simply a matter of ranking chunks by their individual scores. Omneum derives chunk utility from the claims associated with each passage, then ranks chunks to fill the model's window under a limited token budget. When a nonempty question is supplied, finalized claim contributions are weighted by deterministic, local lexical relevance over the original passage text. Repeated evidence from the same inferred source cluster earns only an improvement over its best selected relevance. Without a question, Omneum keeps its question-blind claim-coverage selection. Selected passages are reconstructed from their original text.
The selected passages are then reconstructed from their original text into the context passed to the LLM. The analysis itself never needs to read that text because it operates exclusively on structured relationships between sources and claims.
Integration
Omneum runs between retrieval and generation. The Python SDK accepts retrieved chunks and relevance scores from the calling retrieval pipeline, or computes relevance locally using BM25 or MiniLM when explicitly enabled.
client.prepare_context() uses Omneum's provenance-aware graph inference to evaluate source reliability and claim support, accounting for dependencies between sources. The SDK uses those results to rank and select retrieved passages within the token budget, then reconstructs their original text for the model.
The prepared context is returned in result["context"], with selected passages in result["chunks"] and evaluation scores in result["evaluation"].
MCP Installation
Note: Omneum supports Python 3.11–3.14 on macOS and Ubuntu. The Python SDK is the currently supported client library.
Supported Platforms:
1. Install the evaluator
Run the installer to configure the local evaluator:
Run omneum install from your normal login account. Don't run the command with sudo.
The installer runs unprivileged while it downloads and verifies the evaluator release. The daemon version is pinned to the installed Python package version. For example, Omneum 1.0.3 only accepts daemon assets from v1.0.3; it doesn't resolve latest or fall back to another release.
The archive is verified against the release SHA256SUMS before installation. A missing checksum, mismatched digest, unexpected archive entry, link, or path traversal stops the install before anything from the archive runs.
Administrator access is requested only when installing machine-level service files. On Ubuntu, this includes the managed runtime under:
and public client configuration at:
The evaluator runs under a dedicated service identity, isolating its VOPRF private key from the login account and MCP server process. macOS uses launchd; Ubuntu uses systemd.
omneum-server exposes Omneum's MCP tools over stdio and communicates with the locally installed evaluator service. The installer finishes by sending a VOPRF request through that path and verifying the response against the configured public key. A running service alone does not count as a successful installation.
See docs/guides/installation.md for service accounts, sockets, installed paths, custom endpoints, and failure handling.
2. Connect your MCP client
Add Omneum to your MCP configuration:
Restart the MCP client. It launches omneum-server over stdio and exposes Omneum's tools to your agent.
If the executable isn't found, locate it with command -v omneum-server and use the returned absolute path as command.
3. Verify
Ask your agent to call Omneum's ping tool. A successful connection returns:
Context Preparation
Omneum evaluates structured observations, selects retrieved chunks under a token budget, and reconstructs the selected text for the downstream LLM. The evaluator computes dependency-adjusted claim support, while the Python SDK handles chunk selection and reconstruction.
1. Map retrieved context
In this example, the FAQ derives its audit retention claim from the security policy. The upstream dependency is recorded through upstream_sources.
ContextMapper maps the records into assertion observations. The original text stays in the chunk mapping, accessible through the associated claim IDs. Only the structured observations are sent to the MCP evaluator.
2. Reconstruct context
Pass the mapped observations and chunks to prepare_context(). The dependency estimator is configured to use upstream lineage.
Save as prepare_context.py and run:
The returned JSON contains the reconstructed context at result["context"]. Graph scores are available in result["evaluation"], so your agent can inspect the result before invoking the model.
See examples/context_quality_demo/ for a comparison with retrieval-order packing.
3. Agent Control Flow
An agent orchestrator can use Omneum's claim support scores to control execution after retrieval. In LangGraph, a conditional edge can send the workflow back to a retrieval node when the evidence falls below a configured threshold.
The retrieve branch can run another search before the agent attempts generation. Once the routing condition passes, the model receives result["context"].
The threshold is an example. A workflow that needs support for particular claims can inspect their individual scores in evaluation["claim_support"].
Integrations
Use the Python SDK and ContextMapper to add Omneum to your agent.
Framework examples:
For a complete framework-independent workflow, see the enterprise policy example.
Optional: Omneum Network (Closed Beta)
Omneum runs locally by default. Network contribution is opt-in and allows participating deployments to contribute observations to the shared Omneum Context Graph without uploading raw context.
Contributions use privacy-preserving linkage through an RFC 9497 VOPRF. The shared graph can accumulate source and claim relationships across deployments while keeping the underlying text local.
Network contribution is disabled by default and is not required for local evaluation. Hosted Network enrollment is currently limited to approved beta participants.
See Enable Network contribution (MCP) for setup instructions or How Network contribution works for the protocol details.
Data Model & Context Preparation
Omneum evaluates retrieved context through a source–claim graph. Claims identify factual assertions within the retrieved passages, while observations preserve where those assertions originated. The graph's evaluation scores inform which original chunks are selected for the LLM's context window.
Observations
Observations record information encountered during retrieval. The first supported type, an assertion observation, connects a claim to its source and preserves the provenance available at the time it was encountered.
An assertion can appear across multiple retrieved passages without being treated as independent evidence each time. Observations preserve these source relationships for graph inference. Conflicting assertions also remain distinct, retaining the evidence originally reported by each source.
Sources
Sources identify where retrieved evidence originated. Each source has a kind and canonical identifier, allowing Omneum to recognize the same source across observations.
Source identity matters when multiple passages reference the same fact. Omneum uses these relationships during dependency estimation so repeated evidence does not receive the same weight as independent support.
Claims
Claims represent factual assertions identified within retrieved context. Omneum maps claims across source passages to evaluate their support and determine which chunks contribute useful evidence to the model's context.
Each claim is represented by an entity_namespace, entity, attribute, and value.
Multiple passages can reference the same claim. Their source relationships are accounted for during graph inference, allowing context selection to prioritize additional claim coverage within the token budget.
Source Dependence
Retrieved passages may repeat assertions from the same underlying source. Omneum estimates source dependence using available provenance signals, including upstream references and assertion lineage.
These dependencies affect how much support each source contributes to a claim. A passage repeating an earlier report can still be selected when it adds useful context, but the repeated assertion does not receive the weight of independent evidence.
Context Mapping
ContextMapper maps structured retrieval records into Omneum's observation model. Claim fields and source metadata are extracted from the records supplied by the integrating pipeline.
The SDK maintains a claim-to-chunk mapping. Each chunk retains its chunk_id and raw_text, while claim_ids reference the claims represented in that passage.
This mapping allows graph inference to operate on structured observations while keeping the original text available for context reconstruction.
Context Selection & Reconstruction
After graph inference, Omneum uses claim support to select retrieved chunks within a context budget.
Selection accounts for claim coverage across the candidate passages. A chunk's utility depends on the additional evidence it contributes to the selected context, including claims already covered by other chunks.
prepare_context() reconstructs the selected passages from their original text. The returned context string is ready to be included in the next LLM request.
The selection budget applies to the retrieved evidence. The consuming agent remains responsible for accounting for the rest of the model's input.
Evaluation Results
prepare_context() returns a dictionary containing reconstructed context, selected chunks, graph evaluation results, and selection metadata.
The evaluation object exposes source reliability and claim support scores from graph inference. The selection object records token-budget usage, while packed_chunk_ids identifies the chunks included in the reconstructed context.
An agent orchestrator can inspect the evaluation before invoking the LLM. Conditional routing can trigger another retrieval pass when the available evidence does not meet the workflow's requirements.
Python SDK and response schema →
Performance & Accuracy
The Cross-Domain Context Curation Benchmark evaluates 13 context-selection configurations on 24 synthetic cases across six agentic domains, using six Qwen-token budgets from 64 to 256. Each configuration receives the same candidate passages within a case. Results are macro-averaged across cases and budgets.
Retrieval & Reranking
Omneum improved selection precision across all four evaluated integrations—BM25, MiniLM embeddings, BGE Reranker v2-m3, and Cohere Rerank v4.0 Pro, while reducing the number of tokens used.
[Retrieval and Reranking Selection Precision]
Across the four integrations, Omneum increased aggregate selection precision by 3.02–8.44 percentage points and reduced mean reconstructed-context token usage by 14.46–18.51%.
BGE + Omneum delivered the largest precision gain, improving from 63.29% to 71.74%, alongside an increase in claim coverage from 68.75% to 75.36%. Its precision improvement was +8.44 percentage points (95% paired bootstrap CI: +2.19 to +15.37 pp), based on 50,000 whole-case resamples.
Cohere + Omneum achieved the highest precision among the evaluated Omneum integrations at 74.88%, using 17.58% fewer context tokens than standalone Cohere.
The integrations prioritize a smaller set of supporting passages, increasing precision at the expense of aggregate recall and evidence retention. The full leaderboard includes the paired comparisons and confidence intervals.
Frontier LLM Judges
The benchmark also evaluates Claude Sonnet 5.5, GPT-6 Astra, and Gemini 3.8 Flash as passage-ranking judges. Each judge ranks the fixed candidate pool before token-budgeted packing. Omneum performs selection locally through prepare_context() without an additional frontier-model judge call.
Frontier judges achieved higher aggregate selection quality. Claude Sonnet 5.5 led selection precision at 85.69%, while GPT-6 Astra achieved the highest claim coverage (81.48%) and root-origin coverage (83.50%).
Omneum's integrations operate without frontier judge inference, with smaller reconstructed contexts in the recorded comparisons.
Selection Latency & Cost
Omneum's median local selection latency ranged from 194.86 ms to 207.79 ms across standalone and hybrid configurations.
Timing begins with relevance scores and structured observations already available. External ranking inference and observation preparation are excluded.
The recorded frontier-judge response medians were 1.844 s for Claude Sonnet 5.5, 2.034 s for GPT-6 Astra, and 2.033 s for Gemini 3.8 Flash. Provider response time and Omneum's local selection time have different measurement boundaries.
[Frontier LLM Judge Selection Latency]
These are aggregate estimates from the saved frontier-ranking calls, using recorded token counts and pricing assumptions. They exclude Cohere API charges and local computation. No downstream answer generation was executed in this benchmark.
Detailed evaluations: Methodology · Full Leaderboard · Coding Agents · Enterprise RAG · Research & Analysis · Multi-Agent Systems · Data Analytics · Support & Operations
Production
Omneum uses SQLite as its default local storage backend. PostgreSQL is supported for deployments that use an external database.
Local installations create omneum.db automatically:
For a new default graph with unsafe data-directory ancestors, Omneum uses
~/.omneum/data/omneum.db. Existing graphs and explicit paths are never
silently relocated; shared directory permissions are preserved.
PostgreSQL can be configured for deployments that use an external database. Apache AGE provides the graph projection for PostgreSQL deployments.
See docs/storage.md for the storage schema and deployment options.
Security & Privacy
The Python SDK retains original text chunks locally for context selection and reconstruction. The evaluator processes structured observations and provenance metadata without accessing source text. The MCP server, evaluator daemon, and SQLite database run locally.
Omneum persists the local context graph across MCP sessions.
Local persistence and Omneum Network contribution are configured independently.
See Omneum Network for Network contribution and Local Persistence for Context Graph storage.
Documentation
Contributing
Contributions are welcome. See CONTRIBUTING.md.
If you find a security issue, please follow the private reporting process in SECURITY.md instead of opening a public issue.
License
Omneum is open source under the MIT License.
來源:README.md,提交 f343db9
工具
0版本歷史
2- v1.0.6最新Oct 13, 2026
- v1.0.4Oct 12, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分