Skip to main content
Glama

uniprot-mcp-server: get entry

uniprot_get_entry
Read-onlyIdempotent

Fetch 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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fieldsNoComma-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.
sectionsNoOnly 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.
accessionsYesAccessions to fetch (1–20). From uniprot_search_proteins or uniprot_map_ids.
section_limitNoWindow 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_offsetNoZero-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

TableJSON Schema
NameRequiredDescriptionDefault
capNoThe section_limit applied. Present when truncated.
kindNoResult 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.
errorNoPresent when the call failed. Absent on success.
shownNoItems in the returned window. Present when truncated.
failedNoAccessions 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.
noticeNoRe-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.
windowNoThe 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.
sectionsNoSection outline for a single fully resolved accession whose inline result exceeds the budget. Absent on batch outlines, which return outlinedEntries instead.
succeededNoEntries that resolved successfully. Present when kind is "full".
truncatedNoTrue when items remain past the returned window. Absent on the final window.
nextOffsetNosection_offset for the next window (same section_limit). Present while items remain.
totalCountNoItems in the windowed section before section_limit/section_offset applied. Present on every windowed call; 0 when the record lacks the section.
absentSectionsNoRequested 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.
outlinedEntriesNoSuccessful 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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedOutput schema / properties / failed / description
      Previous value: -"Accessions that were well-formed but did not resolve to an active entry — unknown to UniProtKB, or inactive (merged, demerged, or deleted). Present when kind is \"full\"."New value: +"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."
    • changedOutput schema / properties / kind / description
      Previous value: -"Result kind. \"full\": the batch resolved — read succeeded[] and failed[]. \"outline\": a single record exceeded the context budget and is returned as a section listing — re-call the same accession with sections:[...] to pull specific sections."New value: +"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."
    • changedOutput schema / properties / notice / description
      Previous value: -"Re-call guidance. On kind \"outline\": re-call the same accession with sections:[...] to pull specific sections. On a section window: the section_offset that pages the rest, or why the window came back empty."New value: +"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."
    • addedOutput schema / properties / outlinedEntries
      Added value: +{
      +  "description": "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.",
      +  "items": {
      +    "additionalProperties": false,
      +    "description": "An omitted successful entry and its size.",
      +    "properties": {
      +      "accession": {
      +        "description": "Accession to re-call individually with accessions:[accession].",
      +        "type": "string"
      +      },
      +      "bytes": {
      +        "description": "UTF-8 serialized bytes of this entry before outlining.",
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "accession",
      +      "bytes"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / properties / sections / description
      Previous value: -"Section outline returned when a single record exceeds the context budget. Present when kind is \"outline\"."New value: +"Section outline for a single fully resolved accession whose inline result exceeds the budget. Absent on batch outlines, which return outlinedEntries instead."
  2. Changed15 schema fields changed
    • addedInput schema / properties / section_limit
      Added value: +{
      +  "description": "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.",
      +  "maximum": 500,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / section_offset
      Added value: +{
      +  "description": "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.",
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • changedInput schema / properties / sections / description
      Previous value: -"Only used to re-call after a kind: \"outline\" response — pass a subset of the outlined section keys to fetch just those sections. Do not pass on the initial call."New value: +"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."
    • addedOutput schema / properties / absentSections
      Added value: +{
      +  "description": "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.",
      +  "items": {
      +    "description": "A requested section key the record does not carry.",
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / cap
      Added value: +{
      +  "description": "The section_limit applied. Present when truncated.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `all_not_found`: Every accession in the batch was well-formed but unknown to UniProtKB. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `sections_single_accession`: sections was passed with more than one accession — rejected before any request. sections re-calls a single outlined record. `unknown_section`: sections named a key this tool never emits — rejected before any request. The message lists every valid key. `invalid_section_window`: section_limit or section_offset was set without sections naming exactly one list section — no sections, several, or a non-list section such as organism or xrefs. Rejected before any request. `all_not_found`: No accession in the batch resolved to an active entry — each was unknown to UniProtKB or inactive (merged, demerged, or deleted). The message names each inactive accession and its replacement. `invalid_fields`: UniProtKB rejected the fields value — the message relays UniProt naming the rejected field. Other values are possible when a failure originates below the handler."
    • changedOutput schema / properties / error / properties / data / properties / reason / examples
      Previous value: -[
      -  "all_not_found"
      -]New value: +[
      +  "sections_single_accession",
      +  "unknown_section",
      +  "invalid_section_window",
      +  "all_not_found",
      +  "invalid_fields"
      +]
    • changedOutput schema / properties / failed / description
      Previous value: -"Accessions that were well-formed but not found in UniProtKB. Present when kind is \"full\"."New value: +"Accessions that were well-formed but did not resolve to an active entry — unknown to UniProtKB, or inactive (merged, demerged, or deleted). Present when kind is \"full\"."
    • changedOutput schema / properties / failed / items / properties / error / description
      Previous value: -"Why it failed and how to recover."New value: +"Why it failed and how to recover. For an inactive accession: the merge target to retry with, the demerge products to choose among, or the UniParc ID that keeps a deleted sequence."
    • addedOutput schema / properties / nextOffset
      Added value: +{
      +  "description": "section_offset for the next window (same section_limit). Present while items remain.",
      +  "type": "number"
      +}
    • changedOutput schema / properties / notice / description
      Previous value: -"Re-call guidance when kind is \"outline\" — re-call the same accession with sections:[...] to pull specific sections."New value: +"Re-call guidance. On kind \"outline\": re-call the same accession with sections:[...] to pull specific sections. On a section window: the section_offset that pages the rest, or why the window came back empty."
    • addedOutput schema / properties / shown
      Added value: +{
      +  "description": "Items in the returned window. Present when truncated.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / totalCount
      Added value: +{
      +  "description": "Items in the windowed section before section_limit/section_offset applied. Present on every windowed call; 0 when the record lacks the section.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / truncated
      Added value: +{
      +  "description": "True when items remain past the returned window. Absent on the final window.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / window
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "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.",
      +  "properties": {
      +    "offset": {
      +      "description": "Index of the first returned item within the full section.",
      +      "type": "number"
      +    },
      +    "section": {
      +      "description": "The section key section_limit/section_offset windowed.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "section",
      +    "offset"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.