smaniches avatar

UniProt MCP

smaniches/uniprot-mcp

Brings UniProt's protein database into Claude with 41 tools across eight families: entry retrieval, search, disease associations, variant lookup, sequence analysis, cross-references, taxonomy queries, and batch operations. The standout feature is per-response provenance records. Every answer includes the UniProt release, retrieval timestamp, canonical URL, and SHA-256 hash of the response body, which you can independently verify with uniprot_provenance_verify. That matters if you're in regulated biotech and need to prove a protein annotation claim still holds years later. Ships with offline replay support and release pinning. Built for traceability in contexts where "Claude said so" isn't documentation.

GitHub stars
3
tools
41
transport
STDIO
last updated
Nov 12, 2026

Tools

41 tools

Public tool metadata for what this MCP can expose to an agent.

uniprot_get_entryFull UniProt entry (e.g. `P04637` for p53). Function, gene, organism, disease, cross-refs.

Full UniProt entry (e.g. `P04637` for p53). Function, gene, organism, disease, cross-refs.

No parameter schema in public metadata yet.

uniprot_searchUniProt query language — gene, organism, taxon ID, reviewed flag, free text.

UniProt query language — gene, organism, taxon ID, reviewed flag, free text.

No parameter schema in public metadata yet.

uniprot_get_sequenceFASTA. PIR-style provenance comment block above the first record (BLAST+ / biopython compatible).

FASTA. PIR-style provenance comment block above the first record (BLAST+ / biopython compatible).

No parameter schema in public metadata yet.

uniprot_get_featuresDomains, binding sites, PTMs, signal peptides — optional type filter.

Domains, binding sites, PTMs, signal peptides — optional type filter.

No parameter schema in public metadata yet.

uniprot_get_variantsNatural variants and disease mutations.

Natural variants and disease mutations.

No parameter schema in public metadata yet.

uniprot_get_go_termsGO annotations grouped by aspect (F / P / C).

GO annotations grouped by aspect (F / P / C).

No parameter schema in public metadata yet.

uniprot_get_cross_refsRaw cross-references to PDB, Pfam, Ensembl, Reactome, KEGG, STRING …

Raw cross-references to PDB, Pfam, Ensembl, Reactome, KEGG, STRING …

No parameter schema in public metadata yet.

uniprot_id_mappingMap IDs between databases (Gene_Name → UniProtKB, PDB → UniProtKB, …).

Map IDs between databases (Gene_Name → UniProtKB, PDB → UniProtKB, …).

No parameter schema in public metadata yet.

uniprot_batch_entriesUp to 100 entries in one call; invalid accessions filtered client-side.

Up to 100 entries in one call; invalid accessions filtered client-side.

No parameter schema in public metadata yet.

uniprot_taxonomy_searchSearch UniProt taxonomy by organism name.

Search UniProt taxonomy by organism name.

No parameter schema in public metadata yet.

uniprot_get_keywordKeyword by ID (e.g. `KW-0007` = Acetylation). Definition, synonyms, GO refs, hierarchy.

Keyword by ID (e.g. `KW-0007` = Acetylation). Definition, synonyms, GO refs, hierarchy.

No parameter schema in public metadata yet.

uniprot_search_keywordsFree-text keyword search.

Free-text keyword search.

No parameter schema in public metadata yet.

uniprot_get_subcellular_locationSubcellular-location term by ID (e.g. `SL-0039` = Cell membrane).

Subcellular-location term by ID (e.g. `SL-0039` = Cell membrane).

No parameter schema in public metadata yet.

uniprot_search_subcellular_locationsFree-text location search.

Free-text location search.

No parameter schema in public metadata yet.

uniprot_get_unirefUniRef cluster by ID (`UniRef50_P04637`, `UniRef90_P04637`, `UniRef100_P04637`).

UniRef cluster by ID (`UniRef50_P04637`, `UniRef90_P04637`, `UniRef100_P04637`).

No parameter schema in public metadata yet.

uniprot_search_unirefCluster search with `identity_tier` filter (50 / 90 / 100).

Cluster search with `identity_tier` filter (50 / 90 / 100).

No parameter schema in public metadata yet.

uniprot_get_uniparcSequence-archive record by UPI (`UPI000002ED67`).

Sequence-archive record by UPI (`UPI000002ED67`).

No parameter schema in public metadata yet.

uniprot_search_uniparcUniParc full-text search.

UniParc full-text search.

No parameter schema in public metadata yet.

uniprot_get_proteomeProteome by UP ID (`UP000005640` = human). Counts, BUSCO score, components.

Proteome by UP ID (`UP000005640` = human). Counts, BUSCO score, components.

No parameter schema in public metadata yet.

uniprot_search_proteomesFilter by organism / type / completeness.

Filter by organism / type / completeness.

No parameter schema in public metadata yet.

uniprot_get_citationCitation record by ID (typically a PubMed numeric ID).

Citation record by ID (typically a PubMed numeric ID).

No parameter schema in public metadata yet.

uniprot_search_citationsIndex search across UniProt citations.

Index search across UniProt citations.

No parameter schema in public metadata yet.

uniprot_resolve_pdbPDB structures: id + method + resolution + chain coverage.

PDB structures: id + method + resolution + chain coverage.

No parameter schema in public metadata yet.

uniprot_resolve_alphafoldAlphaFold model id + EBI viewer URL (model id only — for pLDDT call the dedicated tool below).

AlphaFold model id + EBI viewer URL (model id only — for pLDDT call the dedicated tool below).

No parameter schema in public metadata yet.

uniprot_resolve_interproInterPro signatures: id + entry name.

InterPro signatures: id + entry name.

No parameter schema in public metadata yet.

uniprot_resolve_chemblChEMBL drug-target id + EBI target-card URL.

ChEMBL drug-target id + EBI target-card URL.

No parameter schema in public metadata yet.

uniprot_compute_propertiesDerived sequence chemistry from the FASTA: MW / pI / GRAVY / aromaticity / charge / ε₂₈₀.

Derived sequence chemistry from the FASTA: MW / pI / GRAVY / aromaticity / charge / ε₂₈₀.

No parameter schema in public metadata yet.

uniprot_features_at_positionEvery feature overlapping a residue position. Critical for variant-effect interpretation.

Every feature overlapping a residue position. Critical for variant-effect interpretation.

No parameter schema in public metadata yet.

uniprot_lookup_variantHGVS-shorthand match (`R175H`, `V600E`, `R248*`) against UniProt's natural-variant features.

HGVS-shorthand match (`R175H`, `V600E`, `R248*`) against UniProt's natural-variant features.

No parameter schema in public metadata yet.

uniprot_get_disease_associationsStructured disease records from DISEASE-type comments: name + acronym + UniProt disease ID + OMIM cross-ref + description.

Structured disease records from DISEASE-type comments: name + acronym + UniProt disease ID + OMIM cross-ref + description.

No parameter schema in public metadata yet.

uniprot_get_active_sitesCatalytic and ligand-binding residues: active sites, binding sites, sites, metal binding, DNA binding.

Catalytic and ligand-binding residues: active sites, binding sites, sites, metal binding, DNA binding.

No parameter schema in public metadata yet.

uniprot_get_processing_featuresMaturation features: signal peptide, propeptide, transit peptide, initiator methionine, chain, peptide.

Maturation features: signal peptide, propeptide, transit peptide, initiator methionine, chain, peptide.

No parameter schema in public metadata yet.

uniprot_get_ptmsPost-translational modifications: modified residues (phospho/acetyl/methyl), glycosylation, lipidation (GPI/prenyl/palmitoyl), disulfide bonds, cross-links.

Post-translational modifications: modified residues (phospho/acetyl/methyl), glycosylation, lipidation (GPI/prenyl/palmitoyl), disulfide bonds, cross-links.

No parameter schema in public metadata yet.

uniprot_get_alphafold_confidencepLDDT mean + four-band distribution; lets the agent decide whether to trust the model.

pLDDT mean + four-band distribution; lets the agent decide whether to trust the model.

No parameter schema in public metadata yet.

uniprot_resolve_clinvarHuman UniProt entries only (NCBI taxon 9606); ClinVar classifications by gene + optional protein change, not transferable to nonhuman orthologs.

Human UniProt entries only (NCBI taxon 9606); ClinVar classifications by gene + optional protein change, not transferable to nonhuman orthologs.

No parameter schema in public metadata yet.

uniprot_get_publicationsPure-Python over the entry's references — listed here because it complements the cross-origin enrichment.

Pure-Python over the entry's references — listed here because it complements the cross-origin enrichment.

No parameter schema in public metadata yet.

uniprot_resolve_orthologyGroup orthology cross-references by source DB (KEGG / OMA / OrthoDB / eggNOG / 8 more).

Group orthology cross-references by source DB (KEGG / OMA / OrthoDB / eggNOG / 8 more).

No parameter schema in public metadata yet.

uniprot_get_evidence_summarySummarize UniProt ECO annotation evidence and assertion methods, with a weighted 0-100 descriptive mix index. The index is uncalibrated, not a probability of annotation correctness and not comparable to AlphaFold pLDDT.

Summarize UniProt ECO annotation evidence and assertion methods, with a weighted 0-100 descriptive mix index. The index is uncalibrated, not a probability of annotation correctness and not comparable to AlphaFold pLDDT.

No parameter schema in public metadata yet.

uniprot_target_dossierOne-call comprehensive characterisation: nine sections — identity / function / chemistry / structure / drug-target / disease / variants / functional annotations / cross-refs.

One-call comprehensive characterisation: nine sections — identity / function / chemistry / structure / drug-target / disease / variants / functional annotations / cross-refs.

No parameter schema in public metadata yet.

uniprot_provenance_verifyRe-fetch a previously recorded URL and compare release tag + canonical response SHA-256. Six verdicts (`verified`, `incomplete_evidence`, `release_drift`, `hash_drift`, `release_and_hash_drift`, `url_unreachable`) each with an advice string.

Re-fetch a previously recorded URL and compare release tag + canonical response SHA-256. Six verdicts (`verified`, `incomplete_evidence`, `release_drift`, `hash_drift`, `release_and_hash_drift`, `url_unreachable`) each with an advice string.

No parameter schema in public metadata yet.

uniprot_replay_from_cacheRead a cached UniProt response without hitting the upstream. Opt-in via `UNIPROT_MCP_CACHE_DIR`.

Read a cached UniProt response without hitting the upstream. Opt-in via `UNIPROT_MCP_CACHE_DIR`.

No parameter schema in public metadata yet.

Sponsors

Readme

UniProt MCP Server


View the full README on GitHub

Details

Repository
github.com/smaniches/uniprot-mcp
Package
uniprot-mcp-server
Transport
STDIO
Registry
MCP registry, active

More from smaniches