Skip to main content
OmniSeek

OmniSeek

Your agent seeks what search can't find.

The answer is sitting in minute 47 of a podcast, three replies deep in a comment thread, behind a login, in another language. Your agent gets it anyway.

Self-hosted perception MCP server · one connection

CI  License  Python  Built for MCP  Self-hosted

Quick start · Tools · Configure · Contributing

Languages: English · 中文 · 日本語


Search gives your agent indexed pages, in one language, in text. That's the surface.

OmniSeek is the reach beneath it, and everything it does runs on your machine.

One real investigation: an English question about a changed rule. The surface quotes the rule; OmniSeek comes back with a Chinese explainer transcribed, login-walled first-person timelines, the workaround buried in a comment thread, and the dissenting video note, each line attributed.

It hears (local bilingual ASR, no cloud), sees (images and video frames, in-band), crosses languages (a Chinese query finds English results and vice versa), reads behind login walls (your credentials, your machine, off by default), and remembers (a persistent relation graph that gets richer with every query).

Every source in the catalog earned its place by beating plain search at something, from citation graphs and regulatory filings to login-walled forums and Chinese-language video. And the catalog is built to grow: a curator pipeline probes, judges, and admits new sources, and retires the ones that decay.

Worked examples, real outputs · A full case study


Quick start

Docker (recommended)

git clone https://github.com/Battam1111/omniseek.git && cd omniseek
docker compose up -d
docker compose logs omniseek        # bearer token printed on first start
curl -s http://127.0.0.1:8765/healthz

Point your MCP client at http://127.0.0.1:8765/mcp with Authorization: Bearer <token>. The token is generated on first start and stored in ~/.omniseek/credentials/omniseek_http.json (with the compose file, that's ./.omniseek/credentials/omniseek_http.json on the host).

Prefer not to build? A prebuilt core image is on GHCR: docker pull ghcr.io/battam1111/omniseek (amd64 + arm64). Otherwise the first up builds locally (dependencies + headless Chromium); later starts are instant. The core image is Apache-clean and ships without PDF reading, hearing (ASR + video frames), and login-walled sources; unlock them with the build arg EXTRAS="[pdf,asr,walled]". Optional but recommended: set OMNISEEK_CONTACT_EMAIL for a faster lane with Crossref, SEC, and Unpaywall.

Without Docker

python -m venv .venv && . .venv/bin/activate
scripts/bootstrap.sh
python -m omniseek.serve_http

On Windows, run bootstrap.sh under Git Bash or WSL; Docker is the simplest path. For an always-on Linux service, see deploy/omniseek.service.

Prefer stdio? The install also ships an omniseek command that speaks MCP over stdio, for clients that launch servers themselves; Dockerfile.stdio wraps the same thing in a container.

OmniSeek binds 127.0.0.1 and requires the bearer token on every request. Do not expose without a reverse proxy (SECURITY.md).


Tools

One MCP connection. Start with omniseek_search; explore what's available with omniseek_sources.

Tool What it does
omniseek_search Fan out across the whole catalog, deduplicate, rank. Cross-lingual (semantic + lexical).
omniseek_read Normalize any URL or document (web page, PDF, arXiv) into clean text.
omniseek_view Read images, document figures, video frames with vision.
omniseek_transcribe Transcribe audio/video locally. Bilingual ASR, sliceable by timestamp.
omniseek_field_skeleton Map a research field's citation neighborhood: foundational core vs. frontier.
omniseek_resolve_identity Resolve a person's name to candidate author IDs across databases.
omniseek_coauthors Map a researcher's collaboration network by joint-paper count.
omniseek_institution_cohort List who actively publishes at a lab, scoped to a field.
omniseek_paper_enrich Open-access PDF, retraction/integrity status, citation count for a paper.
omniseek_paper_recommend Semantically similar papers (SPECTER embeddings) that keyword search misses.
omniseek_graph Query the accumulated relation graph: find, neighborhood, between, since, similar.
omniseek_sensor Standing queries with novelty detection. Only tells you what is new.
omniseek_ruling Record identity judgments (same/not-same) the graph applies at read time.
omniseek_statement Record directed relations the graph carries forward.
omniseek_curator_act Source lifecycle: submit, probe, judge, admit, retire.
omniseek_curator_view Read the source-admission queue or a per-source audit dossier.
omniseek_gather Run multiple tools in parallel, one response.
omniseek_sources List and route: domains, regions, capabilities, health.

Full reference in tools.md · FAQ

Using Claude Code? skills/omniseek-investigate ships the investigation methodology (sweep, zoom, structure) as a ready-made skill.


Configure

OmniSeek is catalog-first: with no config, every benign source is on and login-walled sources are off. Tune in one file, ~/.omniseek/profile.json (example):

Tier Default
free (public, no key) on
keyed (a free or paid API key you supply) on once the key is set
walled (a login you hold) off; you bring your own browser
circumvention off; none in the default pack

Full reference: configuration · walled sources · legal posture


Why self-hosted

Every query you run, every connection your agent finds, every credential you use stays on your machine. No cloud service ever sees what you're researching. The relation graph it builds over months is yours; if you stop running OmniSeek, you keep everything. Not a feature toggle. The architecture.


Contributing

See CONTRIBUTING.md. The bar for a new source: it must beat plain web search via a mode (structure / unwall / transcribe / recall / monitor). The bar for fixing a decayed source: low, please do. python tests/smoke.py before you push.

By participating you agree to the Code of Conduct.


Your agent seeks what search can't find.

Apache-2.0 · NOTICE · Security · Cite

Download files

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

Source Distribution

omniseek-0.1.2.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

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

omniseek-0.1.2-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file omniseek-0.1.2.tar.gz.

File metadata

  • Download URL: omniseek-0.1.2.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for omniseek-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ad3b0d321dcae13ae1a7ea9af7403a73fcb540eb02ca63f5fa33e90bcbd0b657
MD5 47c61dd2317678f0f94b0ac1f370e5df
BLAKE2b-256 bce46a8eca3678439509a6d728aa423456666415e557376e8b78ceb90d1e984b

See more details on using hashes here.

File details

Details for the file omniseek-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: omniseek-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for omniseek-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6c4cf580291220929fbf8c653bb4077b22984c6e79a4e5aac5bedcf718622b6f
MD5 b5107f4d445e2ca0574ecab7b8e01585
BLAKE2b-256 94e740e0978344852a774d0804a585843d406a6e91930130b269b43844236da8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page