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 / UniProtKB_AC-ID to include TrEMBL. Pair a gene-symbol from_db with tax_id to disambiguate species. Chain the resulting 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 / UniProtKB_AC-ID also include 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, or that no IDs mapped.
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.

TDQS

A5/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint, openWorldHint, idempotentHint), the description reveals that jobs run asynchronously, return 'running' with a ticket or 'finished' with a results page, and support paginated continuation. It also explains the reviewed vs. unreviewed Swiss-Prot/TrEMBL distinction, which materially affects results.

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?

The description is dense but every sentence earns its place: core purpose first, then async mechanics, then the reviewed/unreviewed nuance, species disambiguation, and successor tool. It packs substantial guidance into a compact paragraph without redundancy.

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?

The description fully covers the non-obvious workflow: submitting, polling by ticket, fetching continuation pages, and choosing the right target database. Since an output schema exists, the absence of a return-field breakdown is not a gap. This is complete for a complex asynchronous tool.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds crucial operational meaning: which parameters apply only to submission, that ticket and continuation must be passed alone, and that tax_id should accompany Gene_Name. This goes well beyond the schema's per-field descriptions.

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?

The description opens with a specific verb and resource: 'Translate identifiers across databases via UniProt's ID-mapping service,' and gives concrete examples of mappings. This clearly distinguishes it from sibling tools 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?

The description gives explicit when-to-use context, including the async submission/poll/continuation workflow, when to pass a ticket vs. a continuation, and species disambiguation with tax_id. It also tells the agent to chain results into uniprot_get_entry, which is actionable routing to a sibling tool.

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.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: retrieving entries, proteomes, sequences, taxonomy, mapping IDs, and searching proteins. There is no overlap; even the batch entry retrieval is distinct from the sequence-only retrieval.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with a consistent prefix: uniprot_get_entry, uniprot_get_proteome, uniprot_get_sequence, uniprot_get_taxonomy, uniprot_map_ids, uniprot_search_proteins. This makes it easy to predict available operations.

Tool Count5/5

With 6 tools, the server is well-scoped for its purpose of querying and retrieving UniProt data. Each tool serves a core function and no tool feels redundant.

Completeness4/5

The toolset covers the main workflows: search proteins, fetch full entries, fetch sequences, map IDs, resolve taxonomy, and fetch proteomes. Minor gaps include lack of tools for browsing taxonomy children inline or fetching isoforms in entries, but these can be worked around with existing tools.