uniprot-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UNIPROT_PIN_RELEASE | No | Pin the UniProt release to a specific version (e.g., '2026_01'). If set, every response is checked against the pinned release; any drift raises ReleaseMismatchError. | |
| UNIPROT_MCP_CACHE_DIR | No | Absolute path to a directory for the local provenance cache. Enables the uniprot_replay_from_cache read primitive. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| uniprot_get_entryA | Fetch a UniProt protein entry by accession (e.g. P04637 for p53, P38398 for BRCA1). Returns function, gene, organism, disease associations, cross-references. |
| uniprot_searchB | Search UniProtKB. Examples: '(gene:TP53) AND (organism_id:9606)', 'kinase AND reviewed:true'. Set reviewed_only=true for Swiss-Prot only. Set organism to taxonomy ID or name. |
| uniprot_get_sequenceB | Get protein sequence in FASTA format for a UniProt accession. |
| uniprot_get_featuresB | Get protein features: domains, binding sites, PTMs, signal peptides. Optional filter (comma-separated): 'Domain,Active site,Binding site,Modified residue'. |
| uniprot_get_go_termsA | Get GO annotations grouped by aspect. Optional filter: 'F' (function), 'P' (process), 'C' (component). |
| uniprot_get_cross_refsB | Get cross-references to PDB, Pfam, ENSEMBL, Reactome, KEGG, STRING, etc. Optional database filter. |
| uniprot_get_variantsB | Get known natural variants and disease mutations for a protein. |
| uniprot_id_mappingA | Map between ID types. ids=comma-separated. Common db codes: UniProtKB_AC-ID, PDB, Ensembl, GeneID, Gene_Name. |
| uniprot_batch_entriesA | Fetch multiple entries. accessions=comma-separated UniProt IDs (max 100). |
| uniprot_taxonomy_searchC | Search UniProt taxonomy by organism name. Returns taxonomy IDs. |
| uniprot_get_keywordA | Fetch a UniProt keyword by ID (e.g. KW-0007 for Acetylation, KW-0539 for Nucleus). Returns name, definition, category, synonyms, GO cross-refs, and parent/child hierarchy. |
| uniprot_search_keywordsA | Search UniProt's controlled keyword vocabulary by name or definition. Examples: 'acetylation', 'nucleus', 'kinase activity'. |
| uniprot_get_subcellular_locationA | Fetch a UniProt subcellular-location term by ID (e.g. SL-0039 Cell membrane, SL-0086 Cytoplasm, SL-0191 Nucleus). Returns name, definition, category, GO cross-refs, and the is-a / part-of hierarchy. |
| uniprot_search_subcellular_locationsA | Search UniProt's controlled subcellular-location vocabulary. Examples: 'membrane', 'mitochondrion', 'cytoplasm'. |
| uniprot_get_unirefA | Fetch a UniRef cluster by ID. Examples: UniRef100_P04637 (100 % identity, only exact-match members), UniRef90_P04637 (90 % identity), UniRef50_P04637 (50 %, broadest grouping). Returns representative member, member list, common taxon, last-updated date. |
| uniprot_search_unirefB | Search UniRef clusters. |
| uniprot_resolve_orthologyA | Group every orthology cross-reference in a UniProt entry by source database (KEGG / OMA / OrthoDB / eggNOG / HOGENOM / PhylomeDB / InParanoid / TreeFam / GeneTree / PAN-GO / PANTHER / OrthoInspector). Different databases use different inference methods; surfacing them side-by-side lets the agent reason about consensus when comparing orthologs across species. Pure-Python — no extra HTTP call beyond the entry fetch. |
| uniprot_target_dossierA | One-call comprehensive characterisation of a UniProt entry, structured for drug-discovery / clinical workflows. Composes nine views over the same entry plus one FASTA fetch (so two upstream network calls, not nine): Identity · Function · Sequence chemistry · Structural evidence (PDB count + best-resolution + AlphaFold model id + InterPro count) · Drug-target context (ChEMBL ids, DrugBank count) · Disease associations (with MIM IDs) · Variants count · Functional annotations (top GO MF, subcellular, ECO diversity) · Cross-references summary For per-residue pLDDT confidence call |
| uniprot_replay_from_cacheA | Read a previously-cached UniProt response without hitting the
upstream. The local provenance cache is opt-in via the
Useful for: reproducing a year-old answer from a sealed cache snapshot; working offline / behind air-gaps; reducing UniProt's load when running benchmarks twice. Returns the cached body text wrapped in the recorded Provenance.
The annotation |
| uniprot_resolve_clinvarA | Look up ClinVar records for the gene encoded by a UniProt entry.
First fetches the entry to extract the canonical gene symbol, then
queries NCBI eutils ClinVar by gene (and optional protein-change
filter, e.g. Critical for clinical workflows — UniProt's natural-variant
annotations stop at literature-described variants. ClinVar carries
every variant submitted by clinical labs, with curated significance
classifications. Combine Calls https://eutils.ncbi.nlm.nih.gov — declared in PRIVACY.md. |
| uniprot_get_alphafold_confidenceB | Fetch AlphaFold-DB pLDDT confidence summary for a UniProt accession. Returns the global mean pLDDT score plus the four-band distribution (very high ≥ 90 / confident 70-90 / low 50-70 / very low < 50) so the agent can decide whether to trust the model. Critical for any structural-biology workflow that builds on a predicted model: a target with 95 % residues 'very high' is publication-grade; a target with 40 % 'very low' is largely disordered and structural inference is unsafe. This tool calls https://alphafold.ebi.ac.uk — declared in PRIVACY.md as a third party. Provenance carries source = AlphaFoldDB. |
| uniprot_get_publicationsA | List the publications UniProt cites on an entry, with PubMed IDs,
DOIs, titles, authors, journal, year, and the 'reference position'
annotation (the experimental work each citation supports — e.g.
'CRYSTALLIZATION', 'PHOSPHORYLATION AT SER-15', 'INVOLVEMENT IN
LI-FRAUMENI SYNDROME'). Pure composition over the entry's
|
| uniprot_compute_propertiesA | Derived sequence chemistry for a UniProt entry: molecular weight, theoretical pI, GRAVY hydrophobicity, aromaticity, net charge at pH 7, extinction coefficient at 280 nm, amino-acid composition. Computed from the canonical FASTA via standard methods (Lehninger pK values, Kyte-Doolittle hydropathy, Pace 1995 ε₂₈₀ formula). Pure-Python — no additional external API call beyond the FASTA fetch. |
| uniprot_features_at_positionA | List every UniProt feature that overlaps a residue position (1-indexed). Answers the question 'what's at residue 175 of TP53?' by intersecting the entry's features with the given position. Useful for variant-effect interpretation — surfaces every domain, binding site, modification, mutagenesis annotation, and natural variant at a single residue in one call. |
| uniprot_get_active_sitesA | Return the active sites, binding sites, metal-binding residues, and DNA-binding regions annotated on a UniProt entry. Filtered view over the entry's feature array — this is the residue-level chemistry of the protein, the input to enzyme drug-design and antibiotic target-validation workflows. |
| uniprot_get_processing_featuresB | Return the maturation and processing features (signal peptide, propeptide, transit peptide, initiator methionine, chain, peptide). These describe how the translated polypeptide is cleaved and targeted into its mature form — essential for therapeutic-protein engineering and pathogen-secretion-system analysis. |
| uniprot_get_ptmsB | Return the post-translational modification features (modified residues, glycosylation sites, lipidation sites, disulfide bonds, cross-links). PTMs are functionally critical: they switch enzymes on, target proteins for degradation, anchor them to membranes, and fold them via disulfides. The empty case carries an honest pointer to mass-spec databases (PhosphoSitePlus, GlyConnect) for additional evidence. |
| uniprot_lookup_variantA | Look up an HGVS-shorthand amino-acid change (e.g. |
| uniprot_get_disease_associationsA | Structured disease associations for a UniProt entry. Returns the diseases recorded in DISEASE-type comments with name, acronym, UniProt disease ID, OMIM cross-reference, description, and the annotation note. Critical for clinical interpretation — distinguishes a UniProt-curated disease association (literature-anchored) from a raw cross-reference. Empty result does not imply disease-irrelevant; see Open Targets / OMIM / DisGeNET for population-level evidence. |
| uniprot_get_uniparcB | Fetch a UniParc sequence-archive record by UPI (e.g. UPI000002ED67). Returns sequence, MD5/CRC64 checksums, cross-reference counts, linked UniProtKB accessions, and the common-taxa list. UniParc is the non-redundant sequence archive — every protein sequence ever submitted to a major public database has exactly one UniParc record. |
| uniprot_search_uniparcB | Search UniParc. Examples: 'taxonomy_id:9606' for human sequences, 'database:Ensembl' for Ensembl-derived entries. |
| uniprot_get_proteomeA | Fetch a UniProt proteome by UP ID (e.g. UP000005640 = human reference). Returns organism, taxonomy lineage, protein count, gene count, BUSCO completeness score, annotation score, and component breakdown (chromosomes / contigs). |
| uniprot_search_proteomesA | Search UniProt proteomes. Examples: 'organism_id:9606' for human, 'proteome_type:1' for reference proteomes only, 'taxonomy_name:bacteria' for all bacterial proteomes. |
| uniprot_get_citationA | Fetch a UniProt citation record by ID (typically a PubMed ID, e.g. 9840937). Returns title, authors, journal, year, volume, pages, and cross-references. |
| uniprot_search_citationsA | Search the UniProt citations index. Examples: 'p53 AND author:Vogelstein', 'BRCA1 AND year:[2020 TO 2024]'. |
| uniprot_resolve_pdbA | List every PDB structure cross-referenced from a UniProt entry, with method, resolution, and chain coverage. Faster than parsing the raw cross-references blob — returns a structured list typed for downstream analysis. |
| uniprot_resolve_alphafoldA | Resolve the AlphaFoldDB cross-reference for a UniProt entry — typically one canonical model per accession. Includes a direct EBI viewer link. |
| uniprot_resolve_interproA | List InterPro signatures (domain / family classifications) for a UniProt entry, with names extracted from the entry's cross-reference properties. |
| uniprot_resolve_chemblA | Resolve ChEMBL drug-target cross-references for a UniProt entry. Returns the ChEMBL target IDs with EBI viewer links — empty if the protein has no documented bioactivity data in ChEMBL. |
| uniprot_get_evidence_summaryA | Summarise the ECO (Evidence and Conclusion Ontology) codes attached to a UniProt entry's annotations. Counts how many features and comments cite each evidence code, distinguishing experimental from inferred annotations. Critical for distinguishing 'wet-lab confirmed' annotations from 'inferred by similarity' for any downstream agent that cares about evidence quality. |
| uniprot_provenance_verifyA | Re-fetch a previously recorded UniProt URL and verify it still
returns the same release identifier and the same canonical response
body (SHA-256). Pass the values from a prior response's provenance
footer (
This is the single tool that converts every prior uniprot-mcp response into an independently auditable artefact — a year from now, a third party can take the recorded provenance footer and confirm the upstream still serves the exact same bytes. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/smaniches/uniprot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server