Skip to main content
Glama

register_agent_health

Register a real worker once. Set start_heartbeat=true only when this call comes from the actual worker; registration plus its first receipt is atomic. Heartbeat mode needs no endpoint and reports contact only. Probe mode requires your own deployed readiness URL. Store the returned owner key securely; it is shown once. Private by default; visibility=public explicitly shares status and presence. Contact, note and version remain private. Never invent monitoring activity.

Input Schema

NameRequiredDescriptionDefault
modeNoprobe
nameYes
contactNo
agent_typeNo
visibilityNoprivate
webhook_urlNo
endpoint_urlNo
checks_configNo
start_heartbeatNo
heartbeat_enabledNo
check_interval_secNo
heartbeat_interval_secNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / start_heartbeat
      Added value: +{
      +  "default": false,
      +  "title": "Start Heartbeat",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / visibility
      Added value: +{
      +  "default": "private",
      +  "title": "Visibility",
      +  "type": "string"
      +}
  3. Changed9 schema fields changed
    • addedInput schema / properties / agent_type
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Agent Type"
      +}
    • addedInput schema / properties / contact
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Contact"
      +}
    • addedInput schema / properties / endpoint_url / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / endpoint_url / default
      Added value: +null
    • removedInput schema / properties / endpoint_url / type
      Removed value: -"string"
    • addedInput schema / properties / heartbeat_interval_sec
      Added value: +{
      +  "default": 300,
      +  "title": "Heartbeat Interval Sec",
      +  "type": "integer"
      +}
    • addedInput schema / properties / mode
      Added value: +{
      +  "default": "probe",
      +  "title": "Mode",
      +  "type": "string"
      +}
    • addedInput schema / properties / webhook_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Webhook Url"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "name",
      -  "endpoint_url"
      -]New value: +[
      +  "name"
      +]
  4. Changed1 schema field changed
    • addedInput schema / properties / checks_config
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Checks Config"
      +}
  5. First observed

TDQS

A3.6/5.0
Behavior4/5

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

With readOnlyHint=false and destructiveHint=false already structured, the description adds real value: atomic registration+first receipt, owner key shown once and needing secure storage, default private with explicit public sharing, and a warning not to fabricate monitoring activity. It doesn't describe rate limits or what happens on duplicate registration, but the mutation/auth-sensitive traits are surfaced.

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 core action, then packages mode behavior, the one-time owner key, and privacy defaults into a few tight sentences. A stray line break splits a sentence but the content is dense with little waste.

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

Completeness3/5

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

The description is adequate for a 12-param registration tool with annotations and an output schema: it covers safety, the one-time secret, and mode toggles. But with 0% schema coverage it leaves nine parameters unexplained and doesn't say what to do with the returned owner key beyond 'store securely,' which an agent needs in order to configure follow-up heartbeat calls.

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 0%, so the description carries the param burden but only explains three of twelve parameters (mode, start_heartbeat, visibility, plus endpoint_url implicitly for probe mode). It says nothing about contact, agent_type, webhook_url, checks_config, heartbeat_enabled, check_interval_sec, or heartbeat_interval_sec, which is a significant gap at 12 params.

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

Purpose4/5

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

Description opens with a clear verb+resource: "Register a real worker once," and distinguishes two operating modes (heartbeat vs. probe) that no sibling name conveys. It's specific about the resource being a monitoring registration, though the existence of sibling tools like update_agent_health and agent_health_heartbeat means an agent must infer 'register' means the initial creation step rather than an update.

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?

Gives a conditional for start_heartbeat=true and says probe mode requires a deployed readiness URL, plus a visibility default. But it never states when to choose this tool over siblings like update_agent_health, attach_agent_endpoint, or subscribe_liveness, so the agent gets mode guidance without routing guidance.

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