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_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
- 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