Skip to main content
Glama
musharna

plant-genomics-mcp

by musharna

MaizeGDB: B73 v4 ↔ v5 Gene-Model Translation

maize_gene_model_translation
Read-onlyIdempotent

Translate maize B73 gene-model IDs between RefGen_v4 (Zm00001d) and RefGen_v5 (Zm00001eb) using MaizeGDB’s table, returning mapped, no-counterpart, or not-listed results for v4/v5 lookups.

Instructions

Translate maize B73 gene-model IDs between RefGen_v4 (Zm00001d) and RefGen_v5 (Zm00001eb) with MaizeGDB's published translation table. UniProt and Ensembl Plants know only v5 IDs, so a v4 ID answers nothing there until it is translated. direction v4_to_v5 (default) or v5_to_v4. Each ID comes back mapped (targets: one, or several when the model split or merged), no_counterpart (MaizeGDB lists it with no model in the other assembly: report it as unmappable), or not_in_table (MaizeGDB does not list it, so this source says nothing about it). Gene-model IDs only, no transcript suffix; up to 1000 per call. source gives the table's URL (a link for the client to open; no tool on this server retrieves it), its Last-Modified date and sha256, so an answer can be tied to one release of the table.

Input Schema

NameRequiredDescriptionDefault
idsYesGene-model IDs, e.g. ['Zm00001d022051'] for v4_to_v5
directionNov4_to_v5 (Zm00001d → Zm00001eb) or v5_to_v4v4_to_v5

Output Schema

NameRequiredDescriptionDefault
countYesDistinct IDs queried (duplicates collapsed)
mappedYesResults with status mapped
sourceYes
resultsYes
directionYes
to_assemblyYesRefGen_v5 or RefGen_v4
not_in_tableYesResults with status not_in_table
from_assemblyYesRefGen_v4 or RefGen_v5
no_counterpartYesResults with status no_counterpart
upstream_versionNoMaizeGDB release that produced THIS response, as stated by the table's Last-Modified header (MaizeGDB numbers no release). null means MaizeGDB did not state one — never that no release exists, and never inferred from a separate metadata call, which can describe a different release than the one that answered.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.30.0

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and openWorldHint, so the safety profile is covered. The description adds genuinely new behavior beyond that: the three result categories (mapped/no_counterpart/not_in_table) and the 1000-per-call cap, which are valuable. It stops short of describing return shape or performance detail, but with annotations carrying the safety burden this is solid.

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

Conciseness3/5

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

It is front-loaded with the core action and the direction default, but several sentences are dense run-ons that pack result categories and provenance into long clauses, which slightly hurts scanability. Every sentence is informative, though the source/sha256 detail could be trimmed.

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?

Covers all three outcome categories, the ID-suffix restriction, batch limits, and provenance (URL, Last-Modified, sha256) so answers can be tied to a table release. With an output schema and annotations present, nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents both parameters fully, making 3 the baseline. The description does add a little meaning beyond it—gene-model IDs only, no transcript suffix, an example ID, and the 1000 cap—but the enum and default duplicate the schema rather than extend it.

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 (translate) and resource (maize B73 gene-model IDs) plus the exact ID namespaces (Zm00001d ↔ Zm00001eb). It also distinguishes itself from siblings like UniProt/Ensembl Plants, which only accept v5 IDs, so an agent knows exactly when this tool is the right one.

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?

Explicitly says when to use it (a v4 ID answers nothing at UniProt/Ensembl Plants until translated), documents the default direction and how to reverse it, and even tells the agent how to report the two failure outcomes. Alternatives and the conditions selecting them are clear.

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