MCP server for AlphaFold and 8 other biomedical data sources with a local SQLite knowledge graph
AlphaFold Sovereign MCP (io.github.smaniches/alphafold-sovereign-mcp)
This MCP server provides a unified set of Model Context Protocol tool calls for structural-biology and biomedical variant questions. It wraps AlphaFold DB, Open Targets, ClinVar, gnomAD, and additional sources behind local tooling, using a local process and a SQLite knowledge graph on your machine.
π οΈ Key Features
MCP server for AlphaFold and 8 other biomedical data sources
Local process execution on the userβs machine
Local SQLite knowledge graph that stays on disk
Default βonline modeβ queries public upstreams directly
π Use Cases
Querying protein-structure information from AlphaFold-related sources
Variant questions requiring consolidation across public biomedical databases
Working with knowledge-graphβbased provenance
β‘ Developer Benefits
Single interface via MCP tool calls for multiple upstream formats
Supports workflows involving provenance and variant-analysis
Python-tagged integration (per provided topics)
β οΈ Limitations
In default online mode, upstream queries rely on direct access to public sources
Answering a structural-biology or variant question usually means querying
many public databases by hand β AlphaFold DB, Open Targets, ClinVar,
gnomAD, and more β and reconciling their formats. This server wraps those
sources behind one set of MCP tool calls that run as a local process on
your own machine, with no hosted service of ours in the path, no
telemetry, and a local SQLite knowledge graph that never leaves your disk.
In the default online mode the tools query those public upstreams
directly, so the identifiers you look up are sent to them (and one,
DisGeNET, needs its own free API key); set ALPHAFOLD_OFFLINE=1 to refuse
outbound requests before any socket opens, so no identifier leaves the
machine (the knowledge-graph tools still answer from local data; the
upstream tools report their source as unavailable). "Sovereign" here means
local-first β your compute and stored results stay on your machine β not
that the server runs without a network.
A Model Context Protocol server β an AlphaFold MCP server β that
wraps AlphaFold DB and 8 other public biomedical data sources behind
a set of MCP tool calls, backed by a local SQLite knowledge graph with
query and export tools (results can be persisted through its API;
automatic per-invocation persistence is not yet wired).
This is an unfunded, independent open-source project. It is not a
service, not certified for any regulated use, and its outputs are
research aids that should be reviewed by qualified humans before any
clinical or regulatory use.
This project is not affiliated with, endorsed by, or sponsored by
Google DeepMind or EMBL-EBI. "AlphaFold" is a trademark of its
respective owner and is used here only to describe the public data
(the AlphaFold DB API) that this software consumes.
Status: Beta. Engineering-validated (100% line and branch
coverage). Not yet scientifically validated by
independent domain experts; not yet deployed in production. See
STATUS.md and LIMITATIONS.md.
What this is
A Python MCP server that:
Wraps AlphaFold DB, MONDO, HPO, Open Targets, ClinVar, gnomAD,
DisGeNET, ChEMBL, and Ensembl behind MCP tool calls. Each call
is a thin orchestration over those upstreams; the server does not
add scientific judgement.
Ships a local SQLite knowledge graph (storage/knowledge_graph.py)
with query, export, and traversal tools. It loads a curated boot
seed automatically when empty (storage/seed.py, 16 entities and 15
relationships; disable with AFSMCP_DISABLE_KG_SEED=1) and can be
extended by writing through the knowledge-graph API. There is no
automatic per-invocation persistence: the analysis tools do not write
to the store on their own.
Includes a topological-data-analysis (TDA) module that computes
persistent-homology fingerprints (Betti numbers Ξ²β, Ξ²β, Ξ²β) over
Vietoris-Rips filtrations of CΞ± coordinates, and an
L2-distance comparator between those fingerprint vectors. The full
persistent-homology features require the optional [tda] extra
(gudhi).
It targets mcp-spec 2025-06-18 and runs on Python 3.10β3.13.
What this is not
It is not a hosted service or a SaaS.
It is not certified for any regulated use (HIPAA, GxP, 21 CFR
Part 11, FedRAMP, FIPS, SOC 2). The code structures audit logging
in a way that could later support such a certification, but no
such audit has been performed.
It does not train, fine-tune, or publish AlphaFold models β it
consumes AlphaFold DB's public REST API.
The "ACMG/AMP criteria" that generate_variant_clinical_report
produces are a draft surface of the upstream evidence the
server can fetch automatically. They are not a substitute for
clinical-laboratory variant review.
The "druggability tier" that assess_target_druggability returns is
a heuristic built from drug-precedent counts, Open Targets
tractability labels, pLDDT, and gnomAD constraint. It is not a
validated prediction.
"Structural distance" between proteins is an L2 distance on
length-normalised TDA fingerprint vectors. It measures topological
similarity of the CΞ± point cloud. It is not a sequence similarity,
RMSD, optimal-transport Wasserstein distance, or
functional-equivalence measure.
The AlphaFold structures consumed here are predicted models with
per-residue pLDDT confidence, not experimental structures. Low-pLDDT
regions are unreliable; some proteins (BRCA1 among them) are largely
low-confidence, and structural inference over those regions should
be treated with caution.
For a complete, itemised list of known limitations (with module
references, impact, and planned resolution), see LIMITATIONS.md.
For the high-level posture β what is engineering-validated vs. what is
not yet scientifically validated β see STATUS.md.
Install
From PyPI (recommended)
bash
pip install alphafold-sovereign-mcp
Or run it without installing using uvx:
bash
uvx alphafold-sovereign-mcp
Every release on PyPI is built by the release.yml workflow under
OIDC Trusted Publishing and attached to a signed GitHub Release with
Sigstore (cosign) signature bundles, a CycloneDX SBOM, and a Zenodo
DOI mirror. SLSA L3 build provenance is generated in CI by
slsa-github-generator; attaching the attestation to each release is a
roadmap item. scripts/replicate.sh downloads the exact published wheel
and sdist, recomputes their PyPI SHA-256 digests, verifies the GitHub
Release Sigstore bundles against those bytes and this repository's release
workflow identity, and independently verifies that the released CycloneDX
SBOM is bound to the downloaded wheel. If SLSA provenance is attached to a
future release, the same script verifies it against the wheel when
slsa-verifier is installed.
$ alphafold-sovereign --version
1.4.9
$ alphafold-sovereign --self-test
SELF-TEST PASS - ACMG helpers behave as expected on the BRCA1 c.5266dupC fixture.
If you ran it via uvx without installing, use
uvx alphafold-sovereign-mcp --self-test instead (the bare
alphafold-sovereign script is only on PATH after a pip/uv install).
--self-test runs fully offline: it checks the deterministic ACMG-evidence
helpers (VEP, gnomAD, and AlphaMissense mapped to ACMG criteria) against a
built-in BRCA1:c.5266dupC fixture. Returns exit code 0 on PASS, non-zero on
FAIL. No network calls, no credentials required.
Restart Claude Desktop and the tools become available in conversations.
Try asking, for example: "Triage BRCA1 c.5266dupC" or "Assess EGFR
as a drug target". See the examples/ directory for three end-to-end
illustrations of what a session looks like.
Offline mode
bash
ALPHAFOLD_OFFLINE=1 alphafold-sovereign-mcp
Refuses outbound HTTP before a socket is opened (raising AirGapError), except to hosts you explicitly allowlist via ALPHAFOLD_ALLOW_HOSTS. The knowledge-graph query and export tools still answer from the local SQLite store. The upstream-querying tools have no local cache and report their source as unavailable; note that the structure tools currently surface this as a "no AlphaFold model" result rather than an explicit offline error.
Tool inventory
The server exposes 30 MCP tools across four modules. Each tool's
input schema is a Pydantic model; results are JSON.
Disease & ontology (tools/disease.py)
Tool
What it does
lookup_disease
MONDO record + hierarchy + ICD cross-references
search_diseases
Full-text MONDO ontology search
lookup_phenotype
HPO term + associated diseases
get_gene_phenotype_profile
HPO phenotypes + gnomAD constraint for a gene
get_disease_targets
Top drug targets for a MONDO disease (Open Targets)
MONDO β candidates ranked by OT evidence Γ ChEMBL phase
The ACMG/AMP criteria produced are a draft: they reflect the
upstream evidence the server can fetch automatically, and they
are not a substitute for clinical-laboratory review.
Geometric pocket detection + heuristic druggability index
detect_intrinsically_disordered
IDR map (linkers, tails, long IDRs)
get_protein_structure
Retrieve an AlphaFold model: metadata, download URLs, optional coordinates
Knowledge graph (tools/knowledge_graph_tools.py)
Tool
What it does
query_variant_database
Search locally stored variant triage results
query_protein_database
Search locally stored protein assessments
get_knowledge_graph_stats
Database size, entity counts, last activity
export_research_dataset
Export tables to JSON for pandas/ML pipelines
find_drug_gene_network
Traverse the local drugβgeneβdisease graph
Example usage
For three documented end-to-end illustrations of a Claude Desktop
session against this server β variant triage on BRCA1 c.5266dupC,
target characterisation on EGFR, and a drug-discovery walk-through
on Imatinib β BCR-ABL β CML β see the examples/
directory. Each example includes the user prompt, the tool calls
the model issues, the server's response shape, and the model's
paraphrased reply.
The server resolves the HGVS, fetches ClinVar, gnomAD, AlphaMissense
(via AlphaFold DB), Open Targets disease evidence, ChEMBL drug data,
and Ensembl VEP consequence annotations, and returns a single JSON
record with the cross-referenced fields plus the ACMG/AMP criteria
that the available evidence supports.
Returns drugs whose Open Targets evidence connects them to the
disease, ranked by a composite of OT evidence score Γ the maximum
ChEMBL clinical phase reached against the target.
For each species: fetches the ortholog (Ensembl), the AlphaFold
structure, computes the TDA fingerprint, and returns the L2 fingerprint
distance from the human structure along with sequence identity.
UniProt accessions are used throughout as protein identifiers β they
key AlphaFold structures and Open Targets cross-references β but the
UniProt API itself is not queried as a data source. Domain (InterPro),
Gene Ontology, experimental-structure (RCSB PDB), and tissue-expression
(Human Protein Atlas) lookups are not integrated in this release.
A comprehensive offline unit-test suite (respx-mocked upstreams,
including parametrised expansions); the full suite runs hermetically
in under a minute on a laptop.
Coverage on the shipped surface (src/alphafold_sovereign/clients,
domain, storage, server, tools): 100% line + branch,
every shipped module at 100%.
Lint: ruff (full ruleset). Type checking: mypy --strict on the
full source tree.
Security: bandit plus CodeQL security-extended.
Supply chain: release CI builds and attests the distributions, generates a
wheel-bound CycloneDX SBOM from the installed runtime dependency closure,
and signs release artifacts with Sigstore. scripts/replicate.sh
independently downloads the published wheel and sdist, verifies their PyPI
hashes and Sigstore bundles, and checks the released CycloneDX binding.
SLSA provenance is generated in CI; attaching it to each GitHub Release
remains a roadmap item.
The full CI matrix (Python 3.10, 3.11, 3.12, 3.13 Γ Ubuntu, macOS)
runs on every push. The coverage percentage above is the number a
git clone && uv run nox -s cov produces on the current HEAD; if you
find a divergence, please open an issue.
Contributing
DCO sign-off required (git commit -s). No copyright assignment.
Coverage gate: CI enforces 100% line and branch coverage on the shipped surface (nox -s cov).
Full guide: CONTRIBUTING.md.
Related MCP servers by the same author
uniprot-mcp β Model Context Protocol server for UniProt Swiss-Prot and TrEMBL (pip install uniprot-mcp-server).
Machine-readable metadata: CITATION.cff (GitHub
renders a "Cite this repository" button in the sidebar that consumes
this file).
bibtex
@software{maniches_alphafold_sovereign_mcp,
author = {Maniches, Santiago},
title = {AlphaFold Sovereign MCP},
year = {2026},
version = {1.4.9},
url = {https://github.com/smaniches/alphafold-sovereign-mcp},
license = {Apache-2.0},
orcid = {0009-0005-6480-1987},
doi = {10.5281/zenodo.20134773}
}
When citing results derived from this software, please also cite the
upstream data sources (AlphaFold DB, Open Targets, ChEMBL, Ensembl,
ClinVar, gnomAD, MONDO, HPO, DisGeNET) according to their own citation
requirements.
License
Copyright 2024β2026 Santiago Maniches.
Licensed under the Apache License, Version 2.0. See LICENSE.