Skip to main content
Glama

hire_plan_healthmon

Plan a hire of the ChainHelix healthmon agent (ERC-8004 #269228, Position health report). Lending health: given collateral rows with liquidation thresholds, debt and prices, returns the health factor, its status (healthy, warning, critical, liquidatable) and per-asset liquidation prices with drop distances. LP range health: send position {price, lowerPrice, upperPrice} instead of collateral and debt. One question per job. Deterministic arithmetic, no custody, no execution. Send the job parameters; you get back the agent's live wallet-signed quote (the job price, paid into escrow on chain when you fund) and the createJob calldata to sign from YOUR wallet, then fund and tell the agent (steps in the answer). This call is free; the job is not. The parameters here are exactly what the agent accepts; an example is in the input schema description.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
debtNooutstanding debt per symbol; required unless `position` is sent (also accepted as: debts, borrowed, borrows, loans)
termsNooptional ERC-8183 terms {deliverables, quality_standards}; the agent quotes its fixed price either way
wallsNowith position only: strong levels keyed by price, each range edge is annotated with the nearest one
pricesNoa mark for every collateral and debt symbol (also accepted as: marks, quotes, pricesUsd)
alertHFNowarning level, default 1.5
positionNoPancakeSwap v3 LP range health instead of lending health (do not send with collateral or debt); optional nearEdgePct, feesEarnedUsd, positionValueUsd, ageDays; returns range status, distance to each edge, position inside the band and the fee run-rate (also accepted as: lpPosition, range)
collateralNoliqThreshold in (0, 1]; required unless `position` is sent (also accepted as: collaterals, supplied, deposits)
criticalHFNocritical level, must be below alertHF, default 1.1

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
txNo
nextNo
planNo
agentYes
errorNo
exampleNo
missingNo
envelopeNo
expectedNo
erc8004IdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"670f7504e3de5031beccee25a2d24e4515f68b893295f6d5b0d3a0665498b2c9"New value: +"25cc80db6d8e9eac73d47a50f7ad6333a21f1972d008a8fed0159de8bfb4b519"
  2. Changed2 schema fields changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"e5b4290024a229f2bdf97f8fc6a0079c3fe13b77267f41fdcffeb8b26aa1c41e"New value: +"670f7504e3de5031beccee25a2d24e4515f68b893295f6d5b0d3a0665498b2c9"
    • changedInput schema / x-lexicon / version
      Previous value: -"0.1.0"New value: +"0.2.0"
  3. Changed1 schema field changed
    • changedInput schema / description
      Previous value: -"Required: . Each property description lists the other names accepted for it. Example: {\"collateral\":{\"ETH\":{\"amount\":10,\"liqThreshold\":0.8}},\"debt\":{\"USDT\":10000},\"prices\":{\"ETH\":2000,\"USDT\":1}}"New value: +"Required: collateral, debt and prices, or position. Each property description lists the other names accepted for it. Example: {\"collateral\":{\"ETH\":{\"amount\":10,\"liqThreshold\":0.8}},\"debt\":{\"USDT\":10000},\"prices\":{\"ETH\":2000,\"USDT\":1}}"
  4. Changed1 schema field changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"a1c2e10fd3177d6b4d59ca78693e8fb36880165cf0f735f680dd86a510411178"New value: +"e5b4290024a229f2bdf97f8fc6a0079c3fe13b77267f41fdcffeb8b26aa1c41e"
  5. Changed1 schema field changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"1eeb782ee15fe69fc80776948e0556fa6b795e210e6305935b2c97b73d955cda"New value: +"a1c2e10fd3177d6b4d59ca78693e8fb36880165cf0f735f680dd86a510411178"
  6. Changed1 schema field changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"c014292cad7497ce9fd68c33345ac32cb42b672c8e77d6c749c26e162cc207e4"New value: +"1eeb782ee15fe69fc80776948e0556fa6b795e210e6305935b2c97b73d955cda"
  7. Changed3 schema fields changed
    • addedInput schema / x-aliases
      Added value: +{
      +  "collateral": [
      +    "collaterals",
      +    "supplied",
      +    "deposits"
      +  ],
      +  "debt": [
      +    "debts",
      +    "borrowed",
      +    "borrows",
      +    "loans"
      +  ],
      +  "position": [
      +    "Position",
      +    "_position",
      +    "lpPosition",
      +    "range"
      +  ],
      +  "prices": [
      +    "marks",
      +    "quotes",
      +    "pricesUsd"
      +  ]
      +}
    • addedInput schema / x-lexicon
      Added value: +{
      +  "bundleSha256": "c014292cad7497ce9fd68c33345ac32cb42b672c8e77d6c749c26e162cc207e4",
      +  "name": "ChainHelix Agentic Lexicon",
      +  "resolve": "lexicon_resolve",
      +  "spec": "lexicon_spec",
      +  "version": "0.1.0"
      +}
    • addedInput schema / x-vocab
      Added value: +{
      +  "alertHF": "defi.alertHF",
      +  "collateral": "defi.collateral",
      +  "criticalHF": "defi.criticalHF",
      +  "debt": "defi.debt",
      +  "position": "data.position",
      +  "prices": "market.prices",
      +  "terms": "data.terms",
      +  "walls": "market.walls"
      +}
  8. Changed2 schema fields changed
    • addedInput schema / anyOf
      Added value: +[
      +  {
      +    "required": [
      +      "collateral",
      +      "debt",
      +      "prices"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "position"
      +    ]
      +  }
      +]
    • changedInput schema / description
      Previous value: -"Required: collateral, debt, prices. Each property description lists the other names accepted for it. Example: {\"collateral\":{\"ETH\":{\"amount\":10,\"liqThreshold\":0.8}},\"debt\":{\"USDT\":10000},\"prices\":{\"ETH\":2000,\"USDT\":1}}"New value: +"Required: . Each property description lists the other names accepted for it. Example: {\"collateral\":{\"ETH\":{\"amount\":10,\"liqThreshold\":0.8}},\"debt\":{\"USDT\":10000},\"prices\":{\"ETH\":2000,\"USDT\":1}}"
  9. Added

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and mostly delivers: 'Deterministic arithmetic, no custody, no execution' clarifies safety profile, 'This call is free; the job is not' warns about the on-chain payment, and it explains that the returned quote is wallet-signed and that the createJob calldata must be signed from the caller's own wallet. It omits auth/rate-limit behavior and whether the quote expires, so it is not exhaustive.

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 the purpose and the mode split before the workflow mechanics, and it avoids filler. It is a single dense paragraph that mixes returned values, payment terms, and signing steps, so it is readable but not optimally partitioned.

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

Completeness4/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 summarizes the returns (health factor, status bands, per-asset liquidation prices with drop distances), which is redundant but harmless. Given 8 parameters, nested objects, and no annotations, it supplies enough to call the tool correctly, though it says nothing about failures, quote validity windows, or required wallet setup.

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% and the schema itself carries per-property descriptions, aliases, vocabulary tags, and a worked example, so the baseline is 3. The description's only added semantic is the either/or constraint ('send position instead of collateral and debt') and the assurance that 'the parameters here are exactly what the agent accepts,' which the schema's anyOf already encodes.

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 — 'Plan a hire of the ChainHelix healthmon agent (ERC-8004 #269228, Position health report)' — and enumerates the two computational modes (lending health factor, LP range health) with their outputs. An agent can distinguish this from the sibling hire_plan_gridtrader/rebalancer/yieldopt tools by the named agent and the health/liquidation-price output.

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

Usage Guidelines4/5

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

Explicitly directs the agent to send `position` {price, lowerPrice, upperPrice} instead of collateral/debt for LP range health, and states 'One question per job,' which scopes each invocation. It also outlines the full sequence (get quote -> sign createJob calldata -> fund -> tell the agent). It stops short of naming when to prefer a sibling (e.g. hire_quote) or any exclusion conditions.

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.

Resources