Skip to main content
Glama

Server Details

Protein research over UniProtKB: search by function, fetch curated records, map IDs, proteomes.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 60 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/uniprot-mcp-server
GitHub Stars
2
Server Listing
@cyanheads/uniprot-mcp-server

TDQS

A4.7/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct resource+action: entry retrieval, sequence-only retrieval, search/discovery, ID mapping, taxonomy resolution, and proteome retrieval. The one potential overlap (get_entry vs get_sequence, both accession-based) is explicitly disambiguated in the descriptions ('cheap sequence-only path — for the full functional record use uniprot_get_entry'). Roles also cross-reference cleanly (search feeds accessions into get_entry/get_sequence).

Naming Consistency5/5

All six names share the uniprot_ prefix followed by a consistent verb_noun pattern (get_entry, get_proteome, get_sequence, get_taxonomy, map_ids, search_proteins). No mixing of camelCase/snake_case or competing verb styles. Fully predictable.

Tool Count5/5

Six tools is well-scoped for a UniProt data-retrieval server, covering the essential axis of discovery (search), retrieval (entry, sequence, proteome), resolution (taxonomy), and translation (map_ids). No redundant or filler tools, each earns its place.

Completeness4/5

The read-only surface is strong: search → fetch full/sequence → map IDs → resolve organism → proteome all chain together with no obvious dead ends, and edge cases (merged/deleted accessions, paging, oversized records) are handled. Minor gaps exist (e.g. no dedicated structure/feature or proteome-listing query beyond get_proteome), but core workflows are covered.

Available Tools

6 tools
uniprot_get_entryuniprot-mcp-server: get entry
Read-onlyIdempotent
Inspect

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.

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
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.
uniprot_get_proteomeuniprot-mcp-server: get proteome
Read-onlyIdempotent
Inspect

Fetch the reference proteome for an organism by UPID (e.g. "UP000005640") or NCBI taxon ID (e.g. 9606) — provide exactly one. Returns metadata inline: proteome type, total protein count, BUSCO completeness (score, complete/fragmented/missing counts, lineage dataset), and the genome assembly accession. The protein set is opt-in via include_proteins (it is large — human is ~147,506) and returns a capped page with a forward cursor; narrow it with the query filter (UniProtKB Lucene syntax) for a subset. Resolve an organism name to a taxon ID first with uniprot_get_taxonomy.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoProteins per page when include_proteins is true (max 500). Omit for the server default.
upidNoProteome UPID. Provide this OR taxon_id, not both.
queryNoOptional UniProtKB Lucene filter to narrow the protein list, e.g. "reviewed:true AND keyword:KW-0067". Only applies when include_proteins is true.
cursorNoOpaque cursor from this tool for the same resolved UPID and exact query. Identifier aliases resolving to that UPID and size changes are allowed. Older raw cursors are rejected; restart without cursor. Only meaningful with include_proteins.
taxon_idNoNCBI taxon ID, e.g. 9606 for human. Resolves to the reference proteome. Provide this OR upid, not both.
include_proteinsNoWhen true, also return a capped, cursor-paginated page of the proteome's proteins. Defaults to false — metadata alone is the common case.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page-size cap that was applied.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of proteins returned in this page.
cursorNoForward cursor for the next protein page. Absent on the last page.
noticeNoTruncation guidance when the protein page was capped — how to reach the rest (walk the cursor or narrow with the query filter).
proteinsNoA capped page of the proteome's proteins. Present only when include_proteins is true.
proteomeNoProteome metadata.
truncatedNoTrue when the protein page hit the size cap — more remain via cursor.
totalProteinsMatchedNoTotal proteins matching the (optionally filtered) proteome query.
uniprot_get_sequenceuniprot-mcp-server: get sequenceA
Read-onlyIdempotent
Inspect

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.

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
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.

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.

uniprot_get_taxonomyuniprot-mcp-server: get taxonomyA
Read-onlyIdempotent
Inspect

Resolve a taxonomy record by NCBI taxon ID (e.g. 9606) or scientific name (e.g. "Homo sapiens") — provide exactly one. Returns the scientific and common name, mnemonic, rank, parent, and the full lineage. Set include_children to also fetch immediate child taxa (a separate lookup — not inline on the record) in pages of 100 with the total child count; when more remain, pass the returned cursor to fetch the next page. Use this to turn an organism name into the taxon ID that uniprot_search_proteins (organism_id) and uniprot_get_proteome (taxon_id) expect.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoOrganism scientific name, e.g. "Homo sapiens". Provide this OR taxon_id, not both. Matched against the scientific name.
cursorNoForward-pagination cursor from a prior children page, for the next page of the same taxon; a cursor issued for another taxon is rejected. Only meaningful with include_children.
taxon_idNoNCBI taxonomy ID, e.g. 9606. Provide this OR name, not both.
include_childrenNoWhen true, also fetch a page of up to 100 immediate child taxa via a follow-up search. Defaults to false.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe page size that was applied, when more remain.
errorNoPresent when the call failed. Absent on success.
shownNoNumber of children on this page, when more remain.
taxonNoThe taxonomy record.
cursorNoForward cursor for the next children page. Absent on the last page.
noticeNoPaging guidance when more children remain — the total and how to continue.
lineageNoFull lineage from root to the taxon's near ancestor.
childrenNoOne page of immediate children (up to 100). Present only when include_children is true.
truncatedNoTrue when more children remain past this page — fetch them with cursor.
childCountNoNumber of immediate children on this page (when include_children is true).
totalChildrenNoTotal immediate children of the taxon across all pages (when include_children is true).

TDQS

A4.6/5.0
Behavior4/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 adds genuinely non-obvious behavior: children are fetched via a separate follow-up lookup rather than inline, results are paged at 100 with a total count, and a cursor is scoped to its originating taxon. It stops short of describing failure modes for an unmatched name.

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

Conciseness4/5

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

Dense but front-loaded: identifier forms first, then child-fetch paging, then the cross-tool routing. Every sentence carries information; only the return-field enumeration is arguably redundant given the output schema exists.

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?

All four parameters, the mutual-exclusion rule, the child-pagination flow, and downstream usage are covered, and an output schema is present so return values need not be re-explained. Nothing an agent needs to call it correctly is missing.

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, but the description adds meaning the schema does not: 'provide exactly one' of name/taxon_id even though the schema marks nothing required, and it clarifies the pagination contract for cursor/include_children.

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?

Specific verb + resource ('Resolve a taxonomy record') with the two accepted identifier forms spelled out and examples given. It is unambiguously distinct from siblings like uniprot_get_entry or uniprot_search_proteins.

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?

Ends with an explicit routing statement: use this to convert an organism name into the taxon ID that uniprot_search_proteins (organism_id) and uniprot_get_proteome (taxon_id) expect. It also states the 'provide exactly one' precondition, so both when-to-use and constraints are covered.

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

uniprot_map_idsuniprot-mcp-server: map IDs
Read-onlyIdempotent
Inspect

Translate identifiers across databases via UniProt's ID-mapping service — gene names to accessions, accession to PDB / Ensembl / RefSeq / ChEMBL / GeneID, and back. The job runs asynchronously; this tool submits it and polls within a budget. A running job returns status "running" with a ticket; pass that ticket alone to poll the same job. A completed call returns status "finished" with one results page; when continuation is present, pass it alone to fetch the next completed page without re-submitting or polling the job. A gene name often maps to one reviewed Swiss-Prot accession plus dozens of unreviewed TrEMBL ones, so target UniProtKB-Swiss-Prot (reviewed only) for the usual intent, or UniProtKB to include TrEMBL. Pair a gene-symbol from_db with tax_id to disambiguate species. A row whose UniProtKB target is inactive (merged, demerged, or deleted) carries an inactive marker naming its replacements. Chain the resulting active accessions into uniprot_get_entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsNoIdentifiers to translate. Required only when submitting a new mapping job; omitted when resuming with a ticket or continuation.
to_dbNoTarget database. UniProtKB-Swiss-Prot = reviewed accessions only (the usual intent); UniProtKB also includes unreviewed TrEMBL. Required only when submitting a new mapping job; omitted when resuming with a ticket or continuation.
tax_idNoNCBI taxon ID to disambiguate ambiguous source IDs (e.g. a gene symbol across species). Recommended with Gene_Name; e.g. 9606 for human.
ticketNoRunning-job ticket from a prior status "running" response. Pass it alone to poll that job; do not combine it with continuation or submission inputs.
from_dbNoSource database. Gene_Name = HGNC symbol (pair with tax_id); UniProtKB_AC-ID = accession or entry name; Ensembl/Ensembl_Protein = ENSG/ENSP; PDB; RefSeq_Nucleotide/RefSeq_Protein = NM_/NP_; ChEMBL; GeneID = NCBI Gene. Required only when submitting a new mapping job; omitted when resuming with a ticket or continuation.
continuationNoCompleted-page continuation from a prior status "finished" response. Pass it alone to fetch the next page without polling or re-submitting.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
noticeNoStatus guidance — e.g. that the job is still running, that no IDs mapped, or that inactive targets could not be marked on this page.
statusNoJob state: "finished" (one completed results page included) or "running" (poll with ticket).
ticketNoRunning-job ticket (present only when status is "running"). Pass it alone to poll the same job.
resultsNoResolved mappings on this completed page (present only when status is "finished"). Failed source IDs are reported in unmappedIds.
mappedCountNoNumber of resolved mappings (finished jobs only).
unmappedIdsNoSource IDs UniProt reported as failed on this completed page. Absent when none failed.
continuationNoNext completed-page continuation (finished jobs only). Pass it alone to fetch the next page; absent on the terminal page.
uniprot_search_proteinsuniprot-mcp-server: search proteins
Read-onlyIdempotent
Inspect

Search UniProtKB and return curated protein records. Pass text_search for a plain-language query (the 80% case) or query for the full Lucene field syntax (gene:TP53 AND organism_id:9606 AND reviewed:true) — exactly one is required. Reviewed (Swiss-Prot) entries are manually curated; unreviewed (TrEMBL) are computationally predicted and ~30x more numerous, so reviewed defaults to true to avoid drowning in predictions — set it false to search both tiers together (for TrEMBL only, put reviewed:false in query). The organism_id and reviewed filters apply to the whole query. Request facets (e.g. reviewed, model_organism) for server-side count breakdowns. Results page forward with an opaque cursor; UniProtKB has no offset paging. An inactive accession the query matches (merged, demerged, or deleted) comes back in inactive[] with the accessions that replace it, never as a result. This is the discovery entry point — chain results[].accession into uniprot_get_entry for full records, or uniprot_get_sequence for FASTA.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoNumber of hits per page (max 500). Omit for the server default.
queryNoUniProtKB Lucene query with field prefixes — gene, organism_id, keyword (KW-xxxx), go (GO id), reviewed, protein_name, family, length, existence, accession. Example: "gene:BRCA1 AND organism_id:9606 AND reviewed:true". Provide this OR text_search, not both.
cursorNoOpaque forward cursor from this tool for the same exact effective query and filters. Size, fields, and facets may change. Older raw cursors are rejected; restart without cursor. Random access to page N is not supported.
facetsNoComma-separated upstream facet names for count breakdowns, e.g. "reviewed,model_organism,proteins_with". Returns a facets array alongside the hits.
fieldsNoComma-separated UniProtKB field names to project, e.g. "accession,gene_names,cc_function". Omit for a sensible default set covering name, gene, organism, length, reviewed, score, and a function snippet.
reviewedNoRestrict to reviewed Swiss-Prot entries. Defaults to true (curated only). false applies no tier filter, returning reviewed and unreviewed TrEMBL entries together; for TrEMBL only, put reviewed:false in query. Ignored when query or text_search already contains a reviewed: clause.
organism_idNoRestrict to an NCBI taxon ID, e.g. 9606 for human. A convenience filter ANDed onto the whole query; resolve names with uniprot_get_taxonomy.
text_searchNoPlain-language search across protein names, gene names, and function, e.g. "kinase apoptosis". Provide this OR query, not both.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
cursorNoForward cursor for the next page. Absent on the last page.
facetsNoUpstream facet count breakdowns. Present only when facets were requested.
noticeNoGuidance when nothing matched — echoes the query and suggests how to broaden.
resultsNoMatching active protein hits for this page. Inactive accessions are in inactive.
inactiveNoMatching accessions that are inactive in UniProtKB (merged, demerged, or deleted) — not proteins to read, but pointers to the accessions that replace them. Present only when the page held any.
totalResultsNoTotal matches for the query before pagination (from the upstream result count), inactive accessions included.
effectiveQueryNoThe query as the server assembled and sent it to UniProtKB.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changeduniprot_get_entry5 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."
    • Changeduniprot_get_proteome2 fields changed
      • changedInput schema / properties / cursor / description
        Previous value: -"Forward-pagination cursor from a prior protein page. Only meaningful with include_proteins."New value: +"Opaque cursor from this tool for the same resolved UPID and exact query. Identifier aliases resolving to that UPID and size changes are allowed. Older raw cursors are rejected; restart without cursor. Only meaningful with include_proteins."
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `missing_identifier`: Neither upid nor taxon_id was provided. `conflicting_identifier`: Both upid and taxon_id were provided. `not_found`: The UPID or taxon has no reference proteome. `invalid_query`: The query filter has unbalanced parentheses (rejected before any request), or UniProtKB rejected it — the message names the rejected field or syntax. `invalid_cursor`: UniProt could not continue from the protein cursor (it answered HTTP 500) — the cursor is malformed or truncated. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `missing_identifier`: Neither upid nor taxon_id was provided. `conflicting_identifier`: Both upid and taxon_id were provided. `not_found`: The UPID or taxon has no reference proteome. `invalid_query`: The query filter has unbalanced parentheses (rejected before any request), or UniProtKB rejected it — the message names the rejected field or syntax. `invalid_cursor`: The protein cursor is malformed, from an older version, belongs to another tool, resolved UPID or query, or UniProt could not continue from it (HTTP 500). Other values are possible when a failure originates below the handler."
    • Changeduniprot_map_ids1 field changed
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `missing_inputs`: No complete submission, running-job ticket, or completed-page continuation was provided. `conflicting_inputs`: Submission inputs, a running-job ticket, or a completed-page continuation were combined. `unsupported_db_pair`: The from_db/to_db combination is not supported by the ID-mapping service. `invalid_ticket`: The resume ticket is not a UniProt job ID, or is unknown or has expired server-side (UniProt holds jobs only temporarily). `invalid_continuation`: The completed-page continuation does not carry a UniProt job ID, or refers to a result page that is unknown or expired. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `missing_inputs`: No complete submission, running-job ticket, or completed-page continuation was provided. `conflicting_inputs`: Submission inputs, a running-job ticket, or a completed-page continuation were combined. `unsupported_db_pair`: The from_db/to_db combination is not supported by the ID-mapping service. `invalid_ticket`: The resume ticket is not a UniProt job ID, or is unknown or has expired server-side (UniProt holds jobs only temporarily). `invalid_continuation`: The completed-page continuation has an invalid job ID, is unknown or expired, or UniProt rejected the page with HTTP 400. Other values are possible when a failure originates below the handler."
    • Changeduniprot_search_proteins2 fields changed
      • changedInput schema / properties / cursor / description
        Previous value: -"Opaque forward-pagination cursor from a prior response. Walk pages with this; random access to page N is not supported."New value: +"Opaque forward cursor from this tool for the same exact effective query and filters. Size, fields, and facets may change. Older raw cursors are rejected; restart without cursor. Random access to page N is not supported."
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `missing_query`: Neither text_search nor query was provided. `conflicting_query`: Both text_search and query were provided. `invalid_query`: The query or text_search has unbalanced parentheses (rejected before any request), or UniProtKB rejected the query, text_search, fields, or facets value — the message names the rejected value. `invalid_cursor`: UniProt could not continue from the cursor (it answered HTTP 500) — the cursor is malformed or truncated. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `missing_query`: Neither text_search nor query was provided. `conflicting_query`: Both text_search and query were provided. `invalid_query`: The query or text_search has unbalanced parentheses (rejected before any request), or UniProtKB rejected the query, text_search, fields, or facets value — the message names the rejected value. `invalid_cursor`: The cursor is malformed, from an older version, belongs to another tool or effective query, or UniProt could not continue from it (HTTP 500). Other values are possible when a failure originates below the handler."
  2. 6 tool updates
    • Changeduniprot_get_entry15 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"
        +}
    • Changeduniprot_get_proteome2 fields changed
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `missing_identifier`: Neither upid nor taxon_id was provided. `conflicting_identifier`: Both upid and taxon_id were provided. `not_found`: The UPID or taxon has no reference proteome. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `missing_identifier`: Neither upid nor taxon_id was provided. `conflicting_identifier`: Both upid and taxon_id were provided. `not_found`: The UPID or taxon has no reference proteome. `invalid_query`: The query filter has unbalanced parentheses (rejected before any request), or UniProtKB rejected it — the message names the rejected field or syntax. `invalid_cursor`: UniProt could not continue from the protein cursor (it answered HTTP 500) — the cursor is malformed or truncated. Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / error / properties / data / properties / reason / examples
        Previous value: -[
        -  "missing_identifier",
        -  "conflicting_identifier",
        -  "not_found"
        -]New value: +[
        +  "missing_identifier",
        +  "conflicting_identifier",
        +  "not_found",
        +  "invalid_query",
        +  "invalid_cursor"
        +]
    • Changeduniprot_get_sequence3 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"
        +}
    • Changeduniprot_get_taxonomy12 fields changed
      • addedInput schema / properties / cursor
        Added value: +{
        +  "description": "Forward-pagination cursor from a prior children page, for the next page of the same taxon; a cursor issued for another taxon is rejected. Only meaningful with include_children.",
        +  "type": "string"
        +}
      • changedInput schema / properties / include_children / description
        Previous value: -"When true, also fetch the immediate child taxa via a follow-up search. Defaults to false."New value: +"When true, also fetch a page of up to 100 immediate child taxa via a follow-up search. Defaults to false."
      • addedOutput schema / properties / cap
        Added value: +{
        +  "description": "The page size that was applied, when more remain.",
        +  "type": "number"
        +}
      • changedOutput schema / properties / childCount / description
        Previous value: -"Number of immediate children returned (when include_children is true)."New value: +"Number of immediate children on this page (when include_children is true)."
      • changedOutput schema / properties / children / description
        Previous value: -"Immediate children. Present only when include_children is true."New value: +"One page of immediate children (up to 100). Present only when include_children is true."
      • addedOutput schema / properties / cursor
        Added value: +{
        +  "description": "Forward cursor for the next children page. Absent on the last page.",
        +  "type": "string"
        +}
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `missing_identifier`: Neither taxon_id nor name was provided. `conflicting_identifier`: Both taxon_id and name were provided. `not_found`: The taxon ID or name did not resolve to a record. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `missing_identifier`: Neither taxon_id nor name was provided. `conflicting_identifier`: Both taxon_id and name were provided. `not_found`: The taxon ID or name did not resolve to a record. `invalid_cursor`: The cursor was issued for another taxon, is malformed, or UniProt could not continue from it. Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / error / properties / data / properties / reason / examples
        Previous value: -[
        -  "missing_identifier",
        -  "conflicting_identifier",
        -  "not_found"
        -]New value: +[
        +  "missing_identifier",
        +  "conflicting_identifier",
        +  "not_found",
        +  "invalid_cursor"
        +]
      • addedOutput schema / properties / notice
        Added value: +{
        +  "description": "Paging guidance when more children remain — the total and how to continue.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / shown
        Added value: +{
        +  "description": "Number of children on this page, when more remain.",
        +  "type": "number"
        +}
      • addedOutput schema / properties / totalChildren
        Added value: +{
        +  "description": "Total immediate children of the taxon across all pages (when include_children is true).",
        +  "type": "number"
        +}
      • addedOutput schema / properties / truncated
        Added value: +{
        +  "description": "True when more children remain past this page — fetch them with cursor.",
        +  "type": "boolean"
        +}
    • Changeduniprot_map_ids5 fields changed
      • changedInput schema / properties / to_db / description
        Previous value: -"Target database. UniProtKB-Swiss-Prot = reviewed accessions only (the usual intent); UniProtKB / UniProtKB_AC-ID also include unreviewed TrEMBL. Required only when submitting a new mapping job; omitted when resuming with a ticket or continuation."New value: +"Target database. UniProtKB-Swiss-Prot = reviewed accessions only (the usual intent); UniProtKB also includes unreviewed TrEMBL. Required only when submitting a new mapping job; omitted when resuming with a ticket or continuation."
      • changedInput schema / properties / to_db / enum
        Previous value: -[
        -  "UniProtKB",
        -  "UniProtKB-Swiss-Prot",
        -  "UniProtKB_AC-ID",
        -  "Gene_Name",
        -  "GeneID",
        -  "Ensembl",
        -  "Ensembl_Protein",
        -  "PDB",
        -  "RefSeq_Nucleotide",
        -  "RefSeq_Protein",
        -  "ChEMBL",
        -  "PomBase",
        -  "WormBase_Protein"
        -]New value: +[
        +  "UniProtKB",
        +  "UniProtKB-Swiss-Prot",
        +  "Gene_Name",
        +  "GeneID",
        +  "Ensembl",
        +  "Ensembl_Protein",
        +  "PDB",
        +  "RefSeq_Nucleotide",
        +  "RefSeq_Protein",
        +  "ChEMBL",
        +  "PomBase",
        +  "WormBase_Protein"
        +]
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `missing_inputs`: No complete submission, running-job ticket, or completed-page continuation was provided. `conflicting_inputs`: Submission inputs, a running-job ticket, or a completed-page continuation were combined. `unsupported_db_pair`: The from_db/to_db combination is not supported by the ID-mapping service. `invalid_ticket`: The resume ticket is unknown or has expired server-side (UniProt holds jobs only temporarily). `invalid_continuation`: The completed-page continuation refers to a result page that is unknown or expired. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `missing_inputs`: No complete submission, running-job ticket, or completed-page continuation was provided. `conflicting_inputs`: Submission inputs, a running-job ticket, or a completed-page continuation were combined. `unsupported_db_pair`: The from_db/to_db combination is not supported by the ID-mapping service. `invalid_ticket`: The resume ticket is not a UniProt job ID, or is unknown or has expired server-side (UniProt holds jobs only temporarily). `invalid_continuation`: The completed-page continuation does not carry a UniProt job ID, or refers to a result page that is unknown or expired. Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / notice / description
        Previous value: -"Status guidance — e.g. that the job is still running, or that no IDs mapped."New value: +"Status guidance — e.g. that the job is still running, that no IDs mapped, or that inactive targets could not be marked on this page."
      • addedOutput schema / properties / results / items / properties / inactive
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Present only when the target accession is inactive in UniProtKB — it has no entry to fetch; use replacedBy or uniParcId instead. Absent for an active target.",
        +  "properties": {
        +    "deletedReason": {
        +      "description": "Why UniProt deleted the target, when it says. Present on DELETED only.",
        +      "type": "string"
        +    },
        +    "reason": {
        +      "description": "UniProt inactiveReasonType: MERGED, DEMERGED, or DELETED. Omitted when UniProt names none.",
        +      "type": "string"
        +    },
        +    "replacedBy": {
        +      "description": "Accessions that replace the target — the merge target (MERGED) or the demerge products (DEMERGED).",
        +      "items": {
        +        "description": "A replacement UniProtKB accession.",
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "uniParcId": {
        +      "description": "UniParc ID that still holds the sequence, when UniProt gives one.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changeduniprot_search_proteins7 fields changed
      • changedInput schema / properties / organism_id / description
        Previous value: -"Restrict to an NCBI taxon ID, e.g. 9606 for human. A convenience filter ANDed onto the query; resolve names with uniprot_get_taxonomy."New value: +"Restrict to an NCBI taxon ID, e.g. 9606 for human. A convenience filter ANDed onto the whole query; resolve names with uniprot_get_taxonomy."
      • changedInput schema / properties / reviewed / description
        Previous value: -"Restrict to reviewed Swiss-Prot entries. Defaults to true (curated only); set false to include unreviewed TrEMBL. Ignored when query already pins a reviewed: clause."New value: +"Restrict to reviewed Swiss-Prot entries. Defaults to true (curated only). false applies no tier filter, returning reviewed and unreviewed TrEMBL entries together; for TrEMBL only, put reviewed:false in query. Ignored when query or text_search already contains a reviewed: clause."
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `missing_query`: Neither text_search nor query was provided. `conflicting_query`: Both text_search and query were provided. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `missing_query`: Neither text_search nor query was provided. `conflicting_query`: Both text_search and query were provided. `invalid_query`: The query or text_search has unbalanced parentheses (rejected before any request), or UniProtKB rejected the query, text_search, fields, or facets value — the message names the rejected value. `invalid_cursor`: UniProt could not continue from the cursor (it answered HTTP 500) — the cursor is malformed or truncated. Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / error / properties / data / properties / reason / examples
        Previous value: -[
        -  "missing_query",
        -  "conflicting_query"
        -]New value: +[
        +  "missing_query",
        +  "conflicting_query",
        +  "invalid_query",
        +  "invalid_cursor"
        +]
      • addedOutput schema / properties / inactive
        Added value: +{
        +  "description": "Matching accessions that are inactive in UniProtKB (merged, demerged, or deleted) — not proteins to read, but pointers to the accessions that replace them. Present only when the page held any.",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "An inactive accession the query matched, with where to go instead.",
        +    "properties": {
        +      "accession": {
        +        "description": "The inactive UniProtKB accession the query matched.",
        +        "type": "string"
        +      },
        +      "deletedReason": {
        +        "description": "Why UniProt deleted the entry, when it says. Present on DELETED only.",
        +        "type": "string"
        +      },
        +      "reason": {
        +        "description": "UniProt inactiveReasonType: MERGED, DEMERGED, or DELETED. Omitted when UniProt names none.",
        +        "type": "string"
        +      },
        +      "replacedBy": {
        +        "description": "Accessions that replace it — the merge target (MERGED) or the demerge products (DEMERGED). Look these up instead.",
        +        "items": {
        +          "description": "A replacement UniProtKB accession.",
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "uniParcId": {
        +        "description": "UniParc ID that still holds the sequence, when UniProt gives one.",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "accession"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / results / description
        Previous value: -"Matching protein hits for this page."New value: +"Matching active protein hits for this page. Inactive accessions are in inactive."
      • changedOutput schema / properties / totalResults / description
        Previous value: -"Total matches for the query before pagination (from the upstream result count)."New value: +"Total matches for the query before pagination (from the upstream result count), inactive accessions included."
  3. 1 tool update
    • Changeduniprot_map_ids13 fields changed
      • addedInput schema / properties / continuation
        Added value: +{
        +  "description": "Completed-page continuation from a prior status \"finished\" response. Pass it alone to fetch the next page without polling or re-submitting.",
        +  "properties": {
        +    "cursor": {
        +      "description": "Opaque cursor for the next completed results page.",
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "jobId": {
        +      "description": "UniProt ID-mapping job identifier for the completed job.",
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "jobId",
        +    "cursor"
        +  ],
        +  "type": "object"
        +}
      • changedInput schema / properties / from_db / description
        Previous value: -"Source database. Gene_Name = HGNC symbol (pair with tax_id); UniProtKB_AC-ID = accession or entry name; Ensembl/Ensembl_Protein = ENSG/ENSP; PDB; RefSeq_Nucleotide/RefSeq_Protein = NM_/NP_; ChEMBL; GeneID = NCBI Gene. Required unless resuming with a ticket."New value: +"Source database. Gene_Name = HGNC symbol (pair with tax_id); UniProtKB_AC-ID = accession or entry name; Ensembl/Ensembl_Protein = ENSG/ENSP; PDB; RefSeq_Nucleotide/RefSeq_Protein = NM_/NP_; ChEMBL; GeneID = NCBI Gene. Required only when submitting a new mapping job; omitted when resuming with a ticket or continuation."
      • changedInput schema / properties / ids / description
        Previous value: -"Identifiers to translate. Required unless resuming with a ticket."New value: +"Identifiers to translate. Required only when submitting a new mapping job; omitted when resuming with a ticket or continuation."
      • changedInput schema / properties / ticket / description
        Previous value: -"A ticket from a prior status \"running\" response. Pass this alone (no from_db/to_db/ids) to fetch the completed result."New value: +"Running-job ticket from a prior status \"running\" response. Pass it alone to poll that job; do not combine it with continuation or submission inputs."
      • addedInput schema / properties / ticket / minLength
        Added value: +1
      • changedInput schema / properties / to_db / description
        Previous value: -"Target database. UniProtKB-Swiss-Prot = reviewed accessions only (the usual intent); UniProtKB / UniProtKB_AC-ID also include unreviewed TrEMBL. Required unless resuming with a ticket."New value: +"Target database. UniProtKB-Swiss-Prot = reviewed accessions only (the usual intent); UniProtKB / UniProtKB_AC-ID also include unreviewed TrEMBL. Required only when submitting a new mapping job; omitted when resuming with a ticket or continuation."
      • addedOutput schema / properties / continuation
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Next completed-page continuation (finished jobs only). Pass it alone to fetch the next page; absent on the terminal page.",
        +  "properties": {
        +    "cursor": {
        +      "description": "Opaque cursor for the next completed results page.",
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    "jobId": {
        +      "description": "UniProt ID-mapping job identifier for the completed job.",
        +      "minLength": 1,
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "jobId",
        +    "cursor"
        +  ],
        +  "type": "object"
        +}
      • changedOutput schema / properties / error / properties / data / properties / reason / description
        Previous value: -"Machine-readable failure mode. Declared by this tool: `missing_inputs`: Neither a ticket nor the full from_db/to_db/ids triple was provided. `unsupported_db_pair`: The from_db/to_db combination is not supported by the ID-mapping service. `invalid_ticket`: The resume ticket is unknown or has expired server-side (UniProt holds jobs only temporarily). Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `missing_inputs`: No complete submission, running-job ticket, or completed-page continuation was provided. `conflicting_inputs`: Submission inputs, a running-job ticket, or a completed-page continuation were combined. `unsupported_db_pair`: The from_db/to_db combination is not supported by the ID-mapping service. `invalid_ticket`: The resume ticket is unknown or has expired server-side (UniProt holds jobs only temporarily). `invalid_continuation`: The completed-page continuation refers to a result page that is unknown or expired. Other values are possible when a failure originates below the handler."
      • changedOutput schema / properties / error / properties / data / properties / reason / examples
        Previous value: -[
        -  "missing_inputs",
        -  "unsupported_db_pair",
        -  "invalid_ticket"
        -]New value: +[
        +  "missing_inputs",
        +  "conflicting_inputs",
        +  "unsupported_db_pair",
        +  "invalid_ticket",
        +  "invalid_continuation"
        +]
      • changedOutput schema / properties / results / description
        Previous value: -"Resolved mappings (present when status is \"finished\"). A source ID with no mapping is simply absent."New value: +"Resolved mappings on this completed page (present only when status is \"finished\"). Failed source IDs are reported in unmappedIds."
      • changedOutput schema / properties / status / description
        Previous value: -"Job state: \"finished\" (results included) or \"running\" (re-call with the ticket)."New value: +"Job state: \"finished\" (one completed results page included) or \"running\" (poll with ticket)."
      • changedOutput schema / properties / ticket / description
        Previous value: -"Resumable job ticket (present when status is \"running\"). Re-call this tool with ticket set, and nothing else, to fetch the result."New value: +"Running-job ticket (present only when status is \"running\"). Pass it alone to poll the same job."
      • changedOutput schema / properties / unmappedIds / description
        Previous value: -"Input IDs with no mapping in the target database (finished jobs only). Absent when resuming or all mapped."New value: +"Source IDs UniProt reported as failed on this completed page. Absent when none failed."
  4. 6 tool updates
    • First observeduniprot_get_entry
    • First observeduniprot_get_proteome
    • First observeduniprot_get_sequence
    • First observeduniprot_get_taxonomy
    • First observeduniprot_map_ids
    • First observeduniprot_search_proteins

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.