Skip to main content
Glama

uniprot-mcp-server: get sequence

uniprot_get_sequence
Read-onlyIdempotent

Fetch the canonical amino-acid sequence (FASTA) for a UniProtKB accession, with length and the parsed header. Set include_isoforms to also return the alternatively-spliced isoform sequences. This is the cheap sequence-only path — for the full functional record use uniprot_get_entry. A merged accession returns the sequences of its merge target, labelled with the target accession and the requested one in mergedFrom; a demerged or deleted accession fails not_found naming its replacements or UniParc ID. Accessions come from uniprot_search_proteins or uniprot_map_ids; strip any "-N" isoform suffix (P04637-2 to P04637) before calling.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accessionYesUniProtKB primary accession, e.g. "P04637". Canonical form only — strip any "-N" isoform suffix.
include_isoformsNoWhen true, also return the isoform sequences. Defaults to false (canonical only).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when the call failed. Absent on success.
isoformsNoIsoform sequence records. Present only when include_isoforms is true and isoforms exist.
accessionNoThe accession whose sequences are returned — the requested one, or its merge target when mergedFrom is present.
canonicalNoThe canonical sequence record.
mergedFromNoThe requested accession, present only when UniProt merged it into accession; every record here is the merge target. Omitted for an active accession.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedOutput schema / properties / accession / description
      Previous value: -"The accession that was fetched."New value: +"The accession whose sequences are returned — the requested one, or its merge target when mergedFrom is present."
    • changedOutput schema / properties / error / properties / data / properties / reason / description
      Previous value: -"Machine-readable failure mode. Declared by this tool: `not_found`: The accession has no sequence in UniProtKB. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `not_found`: The accession has no sequence in UniProtKB — unknown, or demerged or deleted; for an inactive accession the message names its replacements or UniParc ID. Other values are possible when a failure originates below the handler."
    • addedOutput schema / properties / mergedFrom
      Added value: +{
      +  "description": "The requested accession, present only when UniProt merged it into accession; every record here is the merge target. Omitted for an active accession.",
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly, idempotent, openWorld), and the description goes well beyond by disclosing edge-case behavior annotations cannot express: merged accessions resolve to the merge target and are labelled in mergedFrom, while demerged/deleted accessions fail with not_found naming replacements or a UniParc ID.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, zero filler, and the primary action plus return payload are front-loaded before the alternative-tool routing and the edge cases. Every sentence carries operational information (return shape, sibling routing, merge semantics, accession preparation).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema covering the return shape, the description supplies everything else an agent needs: which tool to prefer, where accessions come from, how to normalize them, and what happens on merged, demerged, or deleted accessions. Nothing material is left for the agent to guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description adds value by explaining why include_isoforms exists (alternatively-spliced sequences) and restating the accession normalization rule in context. It stops short of adding format or syntax detail beyond the schema and the example it already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('fetch the canonical amino-acid sequence (FASTA) for a UniProtKB accession') with the exact scope and return payload. It explicitly distinguishes itself from the sibling uniprot_get_entry, so an agent can separate the two without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative ('for the full functional record use uniprot_get_entry') and the condition selecting it, and tells the agent where accessions originate (uniprot_search_proteins, uniprot_map_ids). It also gives a concrete pre-call normalization rule (strip '-N' isoform suffixes) with an example.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.