uniprot-mcp-server: get entry
uniprot_get_entryFetch full curated UniProtKB entries by accession in one batch (up to 20). Each entry carries function, catalytic activity, cofactors, subcellular location, disease involvement, PTMs, natural variants, isoforms, domains, GO terms, keywords, and cross-references. Partial failures do not abort the batch — resolved entries land in succeeded[] and unknown or inactive (merged, demerged, deleted) accessions in failed[], where an inactive accession names its replacement or UniParc ID. Pass fields to trim the upstream projection. Initial responses exceeding 24,000 UTF-8 bytes across both output surfaces return kind: "outline": a single resolved record lists sections with byte sizes; a batch lists outlinedEntries in request order and retains failed[]. Re-call each outlined accession individually, e.g. accessions:["P04637"], for its full record or section outline, then add sections:["disease","variants"] to select sections. sections takes exactly one accession; trim a batch with fields instead. All returned list items and cross-reference IDs render in full. A large list section pages with section_limit/section_offset on a re-call naming that one section. This tool does not search: accessions come from uniprot_search_proteins.results[].accession or uniprot_map_ids. Strip any isoform suffix (P04637-2 to P04637) before calling.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"accessions": "<accessions>"
},
"name": "uniprot_get_entry"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Comma-separated UniProtKB field names to project, e.g. "accession,gene_names,cc_function,ft_variant". Omit for the full curated default set. Use this on the initial call to trim payload. | |
| sections | No | Only used to re-call one accession after a kind: "outline" response — pass a subset of the outlined section keys to fetch just those sections. Requires exactly one accession: a batch with sections is rejected, so trim a batch with fields. A requested section the record lacks is named in absentSections, not an error. Do not pass on the initial call. | |
| accessions | Yes | Accessions to fetch (1–20). From uniprot_search_proteins or uniprot_map_ids. | |
| section_limit | No | Window size for one list section on a sections re-call: return at most this many items of it (1–500). Requires sections naming exactly one list section, e.g. ["variants"] (or ptms, domains, goTerms). Omit together with section_offset to return the whole section. | |
| section_offset | No | Zero-based index of the first item in the windowed section. Defaults to 0. Pass the previous response's nextOffset to page forward. Same requirements as section_limit; set without section_limit, returns every item from this index on. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cap | No | The section_limit applied. Present when truncated. | |
| kind | No | Result kind. "full": read succeeded[] and failed[]. "outline": the complete inline result exceeded 24,000 UTF-8 bytes; read outlinedEntries for a batch or sections for a single record, and re-call one accession individually. | |
| error | No | Present when the call failed. Absent on success. | |
| shown | No | Items in the returned window. Present when truncated. | |
| failed | No | Accessions that did not resolve to an active entry — unknown to UniProtKB, or inactive (merged, demerged, or deleted). Retained on batch outlines as well as full results. | |
| notice | No | Re-call guidance. On a single-record outline: re-call that accession with sections:[...] to pull specific sections. On a batch outline: re-call each outlined accession individually with accessions:[accession]. On a section window: the section_offset that pages the rest, or why the window came back empty. | |
| window | No | The window applied to succeeded[0]'s one requested section. Present only when section_limit or section_offset was set; totalCount and nextOffset place it in the full section. | |
| sections | No | Section outline for a single fully resolved accession whose inline result exceeds the budget. Absent on batch outlines, which return outlinedEntries instead. | |
| succeeded | No | Entries that resolved successfully. Present when kind is "full". | |
| truncated | No | True when items remain past the returned window. Absent on the final window. | |
| nextOffset | No | section_offset for the next window (same section_limit). Present while items remain. | |
| totalCount | No | Items in the windowed section before section_limit/section_offset applied. Present on every windowed call; 0 when the record lacks the section. | |
| absentSections | No | Requested section keys this record does not carry — UniProt holds no annotation of that kind for it, or fields excluded it. Not an error: the other requested sections are returned. Present only on a sections re-call that named one. | |
| outlinedEntries | No | Successful entries omitted when the aggregate inline result exceeds 24,000 UTF-8 bytes, in request order. Re-call each accession individually for its full record or section outline. |