Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Reconcile Bio Lab Assets

reconcile_bio_lab_assets
Read-onlyIdempotent

BioTrust Service 09 — LabAsset Control. use it rather than assess_bio_risk for bio lab assets, not bio risk; an object with 31 fields including approvals, approver. $0.5 USDC.

Input Schema

NameRequiredDescriptionDefault
as_ofNoThe date the answer is computed as of (YYYY-MM-DD). Defaults to today. Use it to reproduce a past answer exactly.
policyNoThe policy document or policy id the decision is evaluated against.
recordsNoThe records this operation operates on. See the schema for its type and whether it is required.

Output Schema

NameRequiredDescriptionDefault
atNoThe `at` field of the response.
okYesWhether the operation succeeded.
toNoThe `to` field of the response.
refNoThe `ref` field of the response.
codeNoThe `code` field of the response.
fromNoThe `from` field of the response.
as_ofNoThe date the answer is computed as of.
errorNoThe machine-readable error code, when the operation failed.
itemsNoThe items the operation returned.
scopeNoThe `scope` field of the response.
countsNoThe `counts` field of the response.
detailYesHuman-readable explanation of the verdict.
policyNoThe `policy` field of the response.
resultNoThe `result` field of the response.
by_codeNoThe `by_code` field of the response.
item_idNoThe `item_id` field of the response.
recordsNoThe `records` field of the response.
verdictYesThe decision this tool returned.
approverNoThe `approver` field of the response.
findingsNoThe `findings` field of the response.
locationNoThe `location` field of the response.
severityNoThe `severity` field of the response.
approvalsNoThe `approvals` field of the response.
custodianNoThe `custodian` field of the response.
item_classNoThe `item_class` field of the response.
last_audit_atNoThe `last_audit_at` field of the response.
last_audit_tsNoThe `last_audit_ts` field of the response.
with_findingsNoThe `with_findings` field of the response.
custody_eventsNoThe `custody_events` field of the response.
quantity_declaredNoThe `quantity_declared` field of the response.
quantity_observedNoThe `quantity_observed` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed33 schema fields changed
    • addedOutput schema / properties / approvals
      Added value: +{
      +  "description": "The `approvals` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / approver
      Added value: +{
      +  "description": "The `approver` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / as_of
      Added value: +{
      +  "description": "The date the answer is computed as of.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / at
      Added value: +{
      +  "description": "The `at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / by_code
      Added value: +{
      +  "description": "The `by_code` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / code
      Added value: +{
      +  "description": "The `code` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / counts
      Added value: +{
      +  "description": "The `counts` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / custodian
      Added value: +{
      +  "description": "The `custodian` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / custody_events
      Added value: +{
      +  "description": "The `custody_events` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / error
      Added value: +{
      +  "description": "The machine-readable error code, when the operation failed.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / findings
      Added value: +{
      +  "description": "The `findings` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / from
      Added value: +{
      +  "description": "The `from` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / item_class
      Added value: +{
      +  "description": "The `item_class` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / item_id
      Added value: +{
      +  "description": "The `item_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / items
      Added value: +{
      +  "description": "The items the operation returned.",
      +  "items": {
      +    "description": "One record.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / last_audit_at
      Added value: +{
      +  "description": "The `last_audit_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / last_audit_ts
      Added value: +{
      +  "description": "The `last_audit_ts` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / location
      Added value: +{
      +  "description": "The `location` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ok
      Added value: +{
      +  "description": "Whether the operation succeeded.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / policy
      Added value: +{
      +  "description": "The `policy` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / quantity_declared
      Added value: +{
      +  "description": "The `quantity_declared` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / quantity_observed
      Added value: +{
      +  "description": "The `quantity_observed` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / records
      Added value: +{
      +  "description": "The `records` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ref
      Added value: +{
      +  "description": "The `ref` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / result
      Added value: +{
      +  "description": "The `result` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / scope
      Added value: +{
      +  "description": "The `scope` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / severity
      Added value: +{
      +  "description": "The `severity` field of the response.",
      +  "type": "object"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / to
      Added value: +{
      +  "description": "The `to` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "description": "The decision this tool returned.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / with_findings
      Added value: +{
      +  "description": "The `with_findings` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail",
      +  "ok",
      +  "verdict"
      +]
  2. Added

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds two things beyond that: the $0.5 USDC cost and a hint about the return payload ('an object with 31 fields including approvals, approver'). Missing is any disclosure of what the reconciliation actually evaluates or whether an answer can be stale.

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?

Three short fragments, no filler, and the service identity plus the sibling exclusion are front-loaded. It is terse to the point of being cryptic, but every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with nested object parameters, an output schema, and a non-obvious mutation-free 'reconcile' semantic, the description should say what is being reconciled against what. The agent is left to infer that from 'policy' and 'records' in the schema, which is a meaningful gap despite the rich structured fields.

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 as_of, policy, and records. The description adds nothing about any parameter, which is acceptable at full coverage but earns only baseline credit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

It identifies the domain ('BioTrust Service 09 — LabAsset Control') and the resource (bio lab assets), and explicitly distinguishes itself from assess_bio_risk. But it never states what 'reconcile' actually does — no verb phrase explains the operation, so an agent knows the topic but not the action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one explicit routing rule: 'use it rather than assess_bio_risk for bio lab assets, not bio risk.' That is real guidance, but it is one-sided — there is no statement of when this tool is the right choice, prerequisites, or which other bio siblings (run_bio_verification_checks, verify_bio_audit) to prefer.

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.