Skip to main content
Glama

uniprot-mcp-server: get entry

uniprot_get_entry
Read-onlyIdempotent

Fetch full curated UniProtKB entries by accession in one batch (up to 20). Each entry carries function, catalytic activity, cofactors, subcellular location, disease involvement, PTMs, natural variants, isoforms, domains, GO terms, keywords, and cross-references. Partial failures do not abort the batch — resolved entries land in succeeded[] and unknown/withdrawn accessions in failed[]. Pass fields to trim the upstream projection. A single oversized record returns kind: "outline" (a section listing with byte sizes) instead of overflowing context — re-call the same accession with sections:[...] (e.g. ["disease","variants"]) to pull only those. This tool does not search: accessions come from uniprot_search_proteins.results[].accession or uniprot_map_ids. Strip any isoform suffix (P04637-2 to P04637) before calling.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fieldsNoComma-separated UniProtKB field names to project, e.g. "accession,gene_names,cc_function,ft_variant". Omit for the full curated default set. Use this on the initial call to trim payload.
sectionsNoOnly used to re-call 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.
accessionsYesAccessions to fetch (1–20). From uniprot_search_proteins or uniprot_map_ids.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoResult 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.
errorNoPresent when the call failed. Absent on success.
failedNoAccessions that were well-formed but not found in UniProtKB. Present when kind is "full".
noticeNoRe-call guidance when kind is "outline" — re-call the same accession with sections:[...] to pull specific sections.
sectionsNoSection outline returned when a single record exceeds the context budget. Present when kind is "outline".
succeededNoEntries that resolved successfully. Present when kind is "full".

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description adds key behavioral details: partial failures populate succeeded[] and failed[], oversized records trigger an 'outline' response with byte sizes, and isoform suffixes must be stripped before calling. This is substantial non-obvious behavior an agent needs to know.

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?

The description is longer than the typical two-sentence ideal, but every sentence carries substantive information: batch behavior, entry contents, trimming, outline handling, and source requirement. It is front-loaded with the core purpose and uses structured clauses without unnecessary fluff.

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?

Given the presence of an output schema and annotations, the description sufficiently covers the remaining workflow: batch size, partial failure results, oversized record handling, section re-calls, accession sources, and preprocessing requirements. It is complete enough for reliable tool invocation and adaptation.

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?

The schema already documents all parameters at 100% coverage. The description adds valuable usage semantics beyond schema: 'fields' is for trimming the initial projection, 'sections' is only used for re-calls after an outline and should not be passed initially, and accessions require canonical form with suffixes stripped.

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?

Description opens with a specific action: 'Fetch full curated UniProtKB entries by accession in one batch (up to 20)', clearly identifying the tool's resource and scope. It also distinguishes itself from search behavior with 'This tool does not search', preventing confusion with sibling tools.

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 provides explicit guidance on when not to use this tool: 'This tool does not search: accessions come from uniprot_search_proteins.results[].accession or uniprot_map_ids.' It also explains the workflow for trimming fields initially and using sections only after an 'outline' response, which guides invocation steps.

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.