FlowProof
Reproducible bioinformatics pipeline execution over the Model Context Protocol (MCP), with verifiable provenance.
FlowProof lets an AI assistant run a bioinformatics pipeline and hand back results whose provenance can be independently verified: pipeline version, container digests, tool versions, parameters, and SHA-256 checksums of every input and output, emitted as a Workflow Run RO-Crate.
It fills the layer the MCP-for-bioinformatics ecosystem is missing. Data access already has MCP servers (BioMCP); analysis planning already has AI agents (Biomni, AutoBA). The gap is reliable, trustworthy execution, which needs orchestration and provenance discipline. That is what FlowProof provides.
Why it exists
An AI that "runs an analysis for you" is only useful if you can trust the result. FlowProof makes every run reproducible and independently checkable, so an AI-driven result is not a black box: it ships with the exact recipe and checksums to reproduce it byte-for-byte.
Status
v1 scaffold. The core (pipeline registry, execution backends, provenance) is complete and tested. The MCP server exposes six tools. A mock backend runs without Nextflow for development and CI; the Nextflow backend runs real pipelines.
Install
uv sync
Using FlowProof
FlowProof works two ways. Both let an AI assistant run pipelines for you; you never touch a terminal after setup.
Local (recommended for real data)
Runs on your own machine, so your data never leaves it and your compute runs the pipelines. No token needed.
Add this to your MCP client config (Claude Desktop: claude_desktop_config.json; Cursor: MCP settings):
{
"mcpServers": {
"flowproof": {
"command": "uvx",
"args": ["flowproof-mcp"]
}
}
}
Then just ask your assistant: "list the FlowProof pipelines" or "run the ONT assembly on this file". Runs are written under ~/.flowproof/runs (override with FLOWPROOF_RUNS_DIR).
Cloud (instant, no install)
Connect your client to the hosted server. Nothing to install; the cloud runs it. Uses a bearer token today (per-user keys and OAuth are on the roadmap):
{
"mcpServers": {
"flowproof": {
"url": "https://flowproof.specvista.com/mcp/",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}
Run the server directly
flowproof # stdio (local, default)
FLOWPROOF_TRANSPORT=http flowproof # HTTP server on :8000
Tools
| Tool | Purpose |
|---|---|
list_pipelines |
Registered pipelines with id, description, read type |
describe_pipeline |
Inputs, parameters, outputs for a pipeline |
run_pipeline |
Execute a pipeline reproducibly, returns a run id |
get_run_status |
Status of a run |
get_results |
Output file manifest with checksums |
get_provenance |
The verifiable Workflow Run RO-Crate record |
Pipelines (seed)
| id | Read type | Analysis |
|---|---|---|
variant-call-short |
short | Short-read QC to germline variant calling |
assembly-ont |
long | Oxford Nanopore long-read de novo assembly |
New pipelines register by manifest; the server does not change.
Backends
MockBackend: deterministic, dependency-free. Used for development and tests.NextflowBackend: runsnextflow runwith a container profile. Requires Nextflow and Docker.
Provenance
Every run emits ro-crate-metadata.json following the Workflow Run RO-Crate profile, capturing the workflow and version, container images, resolved tool versions, exact parameters, and SHA-256 checksums of all inputs and outputs.
Develop
PYTHONPATH=src uv run --with pytest --no-project python -m pytest tests/ -q
Architecture
See DESIGN.md.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flowproof_mcp-0.1.0.tar.gz.
File metadata
- Download URL: flowproof_mcp-0.1.0.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d39b2b34f375b6750901670b543184527c2a821e15f7284a7fecc116cf35da3
|
|
| MD5 |
4347ffeecf2672f015a2a17e014c53b8
|
|
| BLAKE2b-256 |
b5f06a5da36e4b7be18aae3514c39131842b7c38a8ec1b0aba476374bfbfcc60
|
File details
Details for the file flowproof_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: flowproof_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa64f5450af1ec44c1b4a3da524c387fba876de4bd056bf3290ff4b35583e66b
|
|
| MD5 |
1afa2e7e47ba1af16683c7828b2a61f3
|
|
| BLAKE2b-256 |
e071c5c526b3f53373ba9e51523f1fc53d966c3d94e2f92e7ec79af42251197e
|