Skip to main content
Glama

uniprot-mcp-server: map IDs

uniprot_map_ids
Read-onlyIdempotent

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.

Input Schema

TableJSON 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

TableJSON Schema
NameRequiredDescriptionDefault
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema 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."
  2. Changed5 schema 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"
      +}
  3. Changed13 schema 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. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.