osint-workbench
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@osint-workbenchretrieve evidence for snapshot ID 8f3c2a and verify integrity"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OSINT Workbench
A reference setup combining existing tools and custom integration code to collect, store and search open-source information, with MCP access for AI assistants.
Development foundation. This is not the completed reference implementation. The full design includes local inference, embeddings, hybrid retrieval, enrichment, graph assertions, vulnerability/regulatory intelligence and optional governed cloud APIs. Their implementation and verification status is tracked in STATUS.md. Installing a small core does not satisfy the full roadmap.
Implemented in this increment
Python package and CLI with explicit configuration and no bundled source list.
PostgreSQL migration, reader/writer role groups, immutable document versions, active document heads and transactional downstream work records.
Content-addressed evidence objects with hash checks and no-follow file access.
Lexical full-text search and a real MCP stdio server with seven read-only tools.
Durable job leases with fencing and stale-completion rejection.
RSS/Atom extraction and a public-only HTTP path with DNS pinning, redirect, byte and absolute network deadlines. Compressed responses are rejected.
Coordinate-preserving evidence quotation matching, embedding-space validation and deterministic reciprocal-rank fusion primitives.
The optional retrieval profile now executes local ONNX embeddings and exact pgvector hybrid search with versioned generations. An optional local ONNX pair reranker is also available. Pretrained semantic-quality acceptance remains pending. See local retrieval. No model/provider is selected or downloaded automatically. Model calls require an explicit local profile. No cloud keys or operational data are required by the current code or tests.
Related MCP server: datamgr
Development
Python 3.12 is the primary tested runtime. PostgreSQL integration targets version 18.
uv sync --locked --extra retrieval
uv run ruff check .
uv run pytest -m 'not integration'
uv buildThe mandatory database/MCP suite uses an isolated database named ow_test:
# Set OW_TEST_ADMIN_DSN in the private local environment, never in Git.
uv run pytest --require-integrationTests refuse any other database name and truncate only the test schema's tables. Do not point this suite at operational storage. CI installs the built wheel and tests it against a disposable PostgreSQL service rather than importing a checkout.
Operator interfaces
OW_MIGRATION_DSN is used only by osint-workbench migrate. Provision separate
login identities inheriting ow_writer and ow_reader, then provide their private
DSNs as OW_WRITER_DSN and OW_READER_DSN. The MCP server rejects a privileged
reader or one that also belongs to the writer role. Mount evidence read-only for
reader processes; the Python flag alone is not an OS permission boundary.
Set OW_EVIDENCE_ROOT to private persistent storage outside the source tree.
osint-workbench migrate
osint-workbench collect --config config/sources.example.json
osint-workbench import-text --file ./synthetic.txt --source-id fixture --title Example
osint-workbench search evidence
osint-workbench status
osint-workbench work-once
osint-workbench job inspect JOB_UUID
osint-workbench job cancel JOB_UUID
osint-workbench mcpThe example source configuration is empty and performs no acquisition. Supply real source URLs in private external configuration. Importing a file is an explicit operator action; MCP accepts document/snapshot IDs, never arbitrary paths or URLs. Feed collection stores versioned raw feed bytes and normalized entry text. It does not recursively fetch articles or claim full-text coverage beyond supplied entries.
get_evidence verifies byte integrity, not truth. Content remains untrusted, and a
remote AI client can disclose locally retrieved content to its own provider. Current
MCP transport is local stdio; authenticated remote HTTP remains unimplemented.
work-once validates stored evidence, produces versioned character chunks, then
commits the chunks, downstream work record and completion atomically. Repeat it
under an external supervisor; it does not start a background daemon. It claims only
job kinds it implements. Cancellation is an operator write, never an MCP tool.
See workflow contracts for retry and recovery semantics.
See local intelligence for generation, proposal review and cited-digest contracts.
Engineering and attribution
This is AI-assisted integration work. Human responsibility includes requirements, design decisions, review, validation and operations. Existing libraries provide database, parsing and protocol capabilities; this project does not claim original model research or production assurance. Requirements and ADRs describe the target; passing a subset of tests does not establish complete conformance.
See architecture, design decisions, security policy and contribution guide.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Read-only Remote MCP for externally grounded AI agent trust receipts.
Team docs served to AI agents over MCP - search, Markdown reads, version pinning, read audit.
Read-only MCP access to authorized Vocci sessions, notes, files, and memory search.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides read-only, citation-backed semantic search and retrieval-augmented generation over enterprise documents via standardized MCP tools, with local embeddings for privacy.-
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to discover and inspect research datasets via a read-only MCP server, offering search, variable listing, and metadata retrieval without reading data files.-
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to query persistent, build-scoped evidence memory for reverse engineering, combining static analysis, runtime captures, and claims with honest uncertainty. Provides read-only access to an evidence graph and MCP prompts for structured investigations.25 npm2Apache 2.0
- FlicenseAqualityBmaintenanceA read-only MCP server that enables AI clients to search a knowledge base and retrieve complete source documents via narrow search and fetch tools.2-