Skip to main content
Glama

Build identity

build_identity
Read-only

Returns a build_id fingerprint of the running source and asset pack so you can compare two MCP endpoints reporting the same version and confirm they are the same build.

Instructions

Which bantamkit build is answering you, readable mid-call. Returns build_id — a content fingerprint of the running source and the asset pack it loads — plus the paths it was computed over. Call it when one MCP server name may resolve to more than one install: two endpoints reporting the same version are the SAME build only if their build_id matches, because a version string moves on release bumps and not on builds. Any fact that cannot be derived comes back as {"unavailable": ""} and is named in the unavailable list — never omitted, never a placeholder that reads as a value. Takes no arguments and reads no state. Use bantamkit_status when the question is whether the server is healthy or which store it is bound to — that report includes this fingerprint; call this tool when you need only the fingerprint, as JSON, to compare two endpoints.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.36.0

TDQS

A4.8/5.0
Behavior5/5

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

With readOnlyHint/openWorldHint already covering safety, the description still adds real context: no arguments, reads no state, and a precise unavailable-value contract (`{"unavailable": "<reason>"}` plus an `unavailable` list) that prevents an agent from mistaking a sentinel for a genuine value. That is disclosure beyond what annotations or schema provide.

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?

Front-loaded with what it returns before the when-to-use rationale, and every sentence carries information. Slightly dense — the version-vs-build argument is restated across clauses — but no filler sentences.

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?

An output schema exists, yet the description still tells the agent the key field name and the unavailable-sentinel convention, plus the comparison workflow. For a no-argument read tool this is complete: an agent knows what it gets, what it means, and what to do with it.

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?

Zero-parameter tool, so baseline is 4; the description confirms 'takes no arguments,' which is consistent with the empty schema. There is nothing further to disambiguate.

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 and resource — returns `build_id`, a content fingerprint of the running source and asset pack — with enough detail that its uniqueness versus `bantamkit_status` is immediately legible. The contrast between version strings and build fingerprints clarifies what the tool actually reports.

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?

Gives an explicit trigger ('when one MCP server name may resolve to more than one install'), a decision rule (same version != same build; compare `build_id`), and a named alternative (`bantamkit_status` for health or store binding, which embeds this fingerprint). Both when-to-use and when-not-to-use are covered.

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