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. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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_searchA | The general-purpose entry point for finding UniProtKB proteins by any
combination of gene, organism, keyword, or free text. Use this first when
you don't already have an accession; use |
| uniprot_get_sequenceA | Fetch the canonical protein sequence in FASTA format. Use this when
you need the raw residue string itself (e.g. for local sequence
analysis); for pre-computed chemistry derived from this same sequence
(molecular weight, pI, hydrophobicity) call |
| uniprot_get_featuresA | Return the full, unfiltered feature array for an entry: domains,
binding sites, PTMs, signal peptides, and every other annotated region,
optionally narrowed by |
| uniprot_get_go_termsC | Get GO annotations grouped by aspect. |
| uniprot_get_cross_refsA | List every external-database cross-reference UniProt has curated for
an entry (PDB, Pfam, Ensembl, Reactome, KEGG, STRING, and dozens more),
optionally narrowed to one |
| uniprot_get_variantsA | List every literature-described natural variant UniProt has curated
for an entry, including disease-associated mutations. Use this to see
the full variant catalogue for a protein; to check one specific
HGVS-shorthand change (e.g. 'R175H') use |
| uniprot_id_mappingA | Map identifiers between UniProt and external databases (or between two external databases) via UniProt's ID mapping service. Submits an async job and polls it to completion server-side, so the call may take a few seconds for large batches. |
| uniprot_batch_entriesA | Fetch multiple entries in a single call. Use this instead of repeated
|
| uniprot_taxonomy_searchA | Resolve an organism name to its NCBI taxonomy ID(s) — the numeric ID
other UniProt tools expect (e.g. the |
| 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 (the |
| 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 (the
|
| 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_unirefA | Search for UniRef clusters by content (not by a known cluster ID —
for that, use |
| 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_confidenceA | Fetch the per-residue confidence (pLDDT) summary for an entry's
AlphaFold model, not just its existence. 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: 95% 'very high' is publication-grade, 40% 'very low'
is largely disordered and structural inference is unsafe. Call
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_featuresA | 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. A pre-filtered
view over |
| uniprot_get_ptmsA | 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. A pre-filtered view over
|
| 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_uniparcA | Fetch a UniParc sequence-archive record by its known UPI. 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, making this
the tool to use when a UniProtKB accession doesn't exist for a
sequence you have. Don't have a UPI yet? Use |
| uniprot_search_uniparcA | Search the UniParc non-redundant sequence archive by taxonomy,
source database, or other UniParc query fields — the entry point when
you don't already have a UPI. Examples: 'taxonomy_id:9606' for human
sequences, 'database:Ensembl' for Ensembl-derived entries. Once you
have a UPI from the results, use |
| 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 (whole-organism protein sets) by organism or
proteome field. Use this to find a proteome's |
| 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 (the literature UniProt references)
by title, author, or year. Use this to find a citation's ID (typically a
PubMed ID); once you have it, call |
| 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 and grade the ECO (Evidence and Conclusion Ontology) codes
attached to a UniProt entry's annotations. Counts how many features and
comments cite each evidence code, then classifies every occurrence as
experimental (wet-lab, ECO:0000269), manual (curator-reviewed inference),
or automatic (un-reviewed pipeline call) and collapses that into a single
0-100 evidence-confidence score with a high / moderate / low / very-low
band. A score near 100 means the entry is dominated by direct experimental
evidence; a score near 10 means it is almost entirely computationally
inferred. Critical for any downstream agent that must distinguish
'wet-lab confirmed' annotations from 'inferred by similarity'. JSON output
adds an |
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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