Skip to main content

Universal Research MCP

PyPI Python CI

Universal Research MCP turns research retrieval into a verifiable evidence workflow. Search results remain candidates until the server re-reads the exact registered source range and confirms its current SHA-256 revision.

candidate retrieval
  -> exact source fetch
  -> revision integrity check
  -> evidence eligibility check
  -> relevance/conflict review by the host
  -> supported claim or explicit abstention

It is a read-mostly MCP. Canonical writes exist only behind a two-step, hash-bound ingest transaction with an external one-time human approval receipt.

Five-minute local demo

python -m pip install universal-research-mcp
universal-research init ./my-research
universal-research serve --root ./my-research

Register the server in Codex:

[mcp_servers.universal_research]
command = "universal-research"
args = ["serve", "--auto-index"]
cwd = "/absolute/path/to/my-research"

The empty project is intentional: the MCP does not crawl arbitrary files. Follow the input tutorial to register immutable sources, create an approved record, and make it searchable.

Why this is not ordinary RAG

Ordinary retrieval Universal Research
Search result may be quoted directly Search result is candidate_only
Index content may silently become stale Current source hash is compared with the registered revision
Similarity is treated as support Similarity cannot establish truth or causality
Corrections may overwrite history Canonical JSONL is append-only
Writes depend on agent intent Ingest requires immutable draft + external receipt + recoverable transaction

The evidence eligibility check proves only that submitted evidence is current, registered, range-valid, and sufficient in count for the declared claim type. It does not prove that the evidence supports the claim, reconcile conflicts, or establish that a source is true. Those are separate host review stages.

Supported surface

  • lexical, local semantic, hybrid, and adaptive candidate retrieval
  • exact source-range fetch with fail-closed revision checks
  • deterministic evidence eligibility receipts
  • append-only canonical records and recoverable, journaled ingest
  • fixed-role Codex governance contracts
  • a default-deny agent-creation disclosure and one-time approval binding for governed provider/secure-harness execution
  • a Docker secure harness for sealed benchmark/final-review execution
  • a reviewed, unauthenticated public-demo transport for static corpora

The PyPI wheel intentionally excludes the repository's experimental OpenAI, Anthropic, agent-runtime, and provider-harness packages. Codex remains the only supported host integration. Optional local SentenceTransformer embeddings use an already-present pinned snapshot and never imply generation-provider support.

See semantic retrieval, secure harness, and host integration.

Public read-only demo

Publishing a corpus is a separate explicit action. The manifest binds every canonical JSONL file, registered source, and derived index used by the server.

universal-research public-demo prepare \
  --root ./my-research \
  --corpus-id reviewed-demo \
  --display-name "Reviewed Demo" \
  --confirm-public-data I_UNDERSTAND_THIS_DATA_WILL_BE_PUBLIC

universal-research public-demo verify --root ./my-research

universal-research serve \
  --root ./my-research \
  --transport streamable-http \
  --public-demo \
  --host 127.0.0.1 \
  --port 8765

The bundled server is not a multi-tenant service. Internet deployment still needs TLS termination, authentication where applicable, rate limits, tenant isolation, monitoring, and a separately reviewed deployment boundary. See the public demo guide and security model.

Measured development evidence

The public synthetic development run contains 24 tasks × 4 conditions. The MCP + historical “Claim Gate” condition made 2/18 unsafe material assertions on fault tasks versus 4/18 for direct filesystem retrieval, while using 1.55× mean execution tokens and 1.61× mean latency. The paired 95% interval includes zero. This is a development signal and measured cost, not proof of general hallucination reduction or research-quality improvement.

Development evidence-eligibility results

See the complete development result and benchmark disclosure. Historical artifact names retain “claim gate” for provenance; the current product contract is “evidence eligibility.”

Authority model

  1. data/events/ is the canonical append-only ledger.
  2. data/index/ contains rebuildable derived views.
  3. Registered original sources are stronger than either index.
  4. Candidate retrieval never grants claim eligibility.
  5. Evidence eligibility never proves semantic support or truth.
  6. Host approval remains separate from MCP validation.
  7. Governed agent creation requires the user-visible reason, tasks, count, direct alternative, token/time ranges, and scope to be hash-bound before a one-time approval is consumed.

Canonical ingest uses a write-ahead transaction journal. Each target file is bound to exact before/after hashes; a failure after a partial append leaves the draft in recovery_required and the same one-time receipt can resume only that exact transaction. The draft is marked consumed after all canonical operations are verified.

Architecture decisions:

Non-goals

Universal Research is not:

  • a truth oracle or automated scientific peer reviewer
  • an authenticated private remote MCP or multi-tenant SaaS
  • a replacement for Codex, Claude Code, or another agent host
  • a hidden provider router or credential store
  • evidence that a model, method, or research result is correct

For medical, legal, regulated, or safety-critical decisions, use it only as an audit and evidence-handling aid with qualified human review.

Development

python -m pip install ".[test]"
python -m pytest -q
ruff check universal_research_mcp
mypy --no-incremental --cache-dir=/dev/null universal_research_mcp
python -m build
python scripts/validate_distribution_artifact.py dist/*.whl
python scripts/ci_smoke.py dist/*.whl

Release workflows pin third-party actions to exact commits. A release wheel is built once, validated on Linux/macOS/Windows, and the same artifact is published through PyPI Trusted Publishing only after every release gate succeeds.

License: MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

universal_research_mcp-0.8.2.tar.gz (309.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

universal_research_mcp-0.8.2-py3-none-any.whl (288.3 kB view details)

Uploaded Python 3

File details

Details for the file universal_research_mcp-0.8.2.tar.gz.

File metadata

  • Download URL: universal_research_mcp-0.8.2.tar.gz
  • Upload date:
  • Size: 309.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for universal_research_mcp-0.8.2.tar.gz
Algorithm Hash digest
SHA256 9070d2fb3b9de4389d25dcab1f2ef4be904e17028126b094c28af9f14755a975
MD5 ee4c1d989b61a8a6f14bffcfaa9dcffc
BLAKE2b-256 9d6183db45662c146c80716527db4f58753e4ca9f28f59126d5d3899587f2167

See more details on using hashes here.

Provenance

The following attestation bundles were made for universal_research_mcp-0.8.2.tar.gz:

Publisher: publish.yml on mp-juns/universal-research-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file universal_research_mcp-0.8.2-py3-none-any.whl.

File metadata

File hashes

Hashes for universal_research_mcp-0.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 40f8fdf9e101ecf500efacc564b22622e2886028874702d2c18d300e702ef358
MD5 64ce4f5d3a7bc71e42018ee248ee96b8
BLAKE2b-256 49191b42131c68e54cb3ce46af99875a2f8ed9d1d56351b1c4af486933c90f32

See more details on using hashes here.

Provenance

The following attestation bundles were made for universal_research_mcp-0.8.2-py3-none-any.whl:

Publisher: publish.yml on mp-juns/universal-research-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.5

2 files

0.8.4

2 files

0.8.3

2 files

This release

0.8.2 This release

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page