uniprot-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UNIPROT_MCP_CONTACT | No | Your email address or contact for UniProt API User-Agent. A placeholder is used if not set. |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_uniprotkbA | Search UniProtKB and return matching protein entries. Use this to find proteins by gene, name, organism, keyword, length, etc.
Returns a compact summary (accession, entry name, protein name, gene,
organism, length, Swiss-Prot/TrEMBL) by default. Pass |
| get_entryA | Fetch one UniProtKB entry. 'summary' returns a clean digest: protein/gene names, organism, length, function, subcellular location, family/domains, key features, PTMs, keywords, and top cross-references (PDB, AlphaFold, Ensembl, RefSeq, InterPro, GO). Use 'json' for the complete record, 'fasta' for the sequence, 'txt' for the flat file, or 'gff' for feature coordinates. |
| get_fastaA | Return raw FASTA sequence(s) for one or more UniProtKB accessions. A single accession uses the entry endpoint; a list uses the batch /accessions endpoint. Well-formed but unknown/obsolete accessions are dropped silently (a note reports the count discrepancy), but a malformed-format accession makes UniProt reject the whole request — so pass syntactically valid accessions. |
| map_idsA | Map identifiers between databases via UniProt's async ID-mapping service. Submits a job, polls until it finishes, then returns the mapped pairs plus
any unmapped input ids. When |
| get_taxonomyA | Resolve a taxonomy name or id. Pass a numeric taxon id to fetch that record, or a name to search. Returns the taxon id, scientific/common names, rank, and lineage — letting you turn an organism name into the organism_id used by search_uniprotkb. |
| search_unirefA | Search UniRef clusters (sequence-similarity clusters of UniProt proteins). UniRef100/90/50 group sequences at 100/90/50% identity. Returns cluster id,
name, member/organism counts, and the representative member. Use |
| search_proteomesA | Search UniProt proteomes (the protein set of an organism's genome). Returns the proteome id (UPID), organism, proteome type (Reference /
Non-reference / etc.), and protein/gene counts. Filter by |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| UniProt query cheat-sheet | Reference for UniProtKB query syntax (fields, operators, ranges, examples). |
TDQS
Scored across 7 tools
Tools are mostly distinct, but get_entry and get_fasta have overlapping functionality for single-accession FASTA retrieval. However, the descriptions clearly differentiate them (single entry with multiple formats vs. raw FASTA for one or more accessions), so ambiguity is low.
All tool names follow a consistent verb_noun pattern with snake_case: get_* for retrieval and search_* for queries, plus map_ids. No deviations or mixed conventions.
Seven tools is well-scoped for a UniProt MCP server, covering core operations (entry retrieval, search, mapping, taxonomy, proteomes, clusters) without being too many or too few for the domain.
The tool set covers essential UniProtKB operations: retrieval (single entry, FASTA), searching (entries, proteomes, UniRef), ID mapping, and taxonomy resolution. No obvious gaps for typical read-only use cases.