Skip to main content
Glama

get_germplasm_metadata

Retrieve per-individual germplasm attributes stored in Gigwa for a selected variant set and export them to a CSV, enabling downstream analysis by joining on sample names.

Instructions

Fetch server-stored per-individual metadata (germplasm attributes) for a database.

Reads the attributes already stored in Gigwa (imported earlier via import_metadata or a BrAPI source) for the module of variant_set_db_id and writes germplasm_metadata.csv — one row per accession, with attribute columns.

Which column to join on. germplasm_name is Gigwa's individual id, which on real data does not match the sample names the analysis tools use. Join on the sample_name column instead: it is the name diversity_fst / diversity_by_group match against (via metadata_tsv, which expects tab- separated input — convert the CSV first). Where one individual carries several samples the column holds them ;-joined and needs splitting first. It is blank when the callsets could not be read.

For the sample/callset level itself — raw callSetName, sampleDbId and per-sample additionalInfo — use search_callsets instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
output_dirNoDirectory for the output CSV(s) (default ./gigwa_results/<module>/).
variant_set_db_idYesBrAPI variantSetDbId identifying the run (MODULE§project§run) -- copy the exact string from list_variant_sets / list_content, never assemble one by hand: the middle segment is a numeric project index, not the project's name, and a wrong guess fails with an opaque HTTP 500 rather than a clear error.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv1.9.1
    • changedInput schema / properties / variant_set_db_id / description
      Previous value: -"BrAPI variantSetDbId identifying the run (MODULE§project§run); from list_variant_sets / list_content."New value: +"BrAPI variantSetDbId identifying the run (MODULE§project§run) -- copy the exact string from list_variant_sets / list_content, never assemble one by hand: the middle segment is a numeric project index, not the project's name, and a wrong guess fails with an opaque HTTP 500 rather than a clear error."
  2. First observedv1.4.16

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the tool reads server-stored attributes and writes a local file, and it discloses an edge case: sample_name is blank when callsets could not be read. It does not explicitly state whether the server data is mutated, but 'Reads the attributes already stored' strongly implies a read-only operation with a local file side effect.

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 front-loaded with the core purpose and output, then expands into the most decision-relevant usage details. Each section earns its place: the join guidance prevents a common failure mode, and the sibling exclusion is concise. Despite being long, it contains no filler.

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 covers the source of metadata, the output file format, row-level semantics, the join key, an important edge case, and the relevant alternative tool. Since an output schema is present, the description does not need to enumerate return fields, and it provides enough context for an agent to select and invoke the tool correctly.

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 description coverage is 100%, so the schema already documents both parameters well, including the important warning about variant_set_db_id. The description adds context about the output file and the meaning of the data, but it does not add new parameter-level detail beyond what the schema provides. Baseline 3 is appropriate.

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 is specific and action-oriented: it 'Fetches server-stored per-individual metadata' and writes a CSV with one row per accession and attribute columns. It also distinguishes itself from the sibling tool search_callsets, which is for the sample/callset level, so an agent can tell them apart.

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 guidance on when to use this tool versus the alternative: 'For the sample/callset level itself ... use search_callsets instead.' It also explains the prerequisite that metadata must have been imported via import_metadata or a BrAPI source, and provides detailed join instructions (join on sample_name, not germplasm_name; convert CSV to TSV for metadata_tsv; split semicolon-joined samples).

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/gkanogiannis/Gigwa-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server