Skip to main content
Glama

Get operational health

get_health
Read-only

Evaluate Markdown vault health with read-only checks for index freshness, integrity, durability, and invariants. Select full detail to include bounded integrity findings.

Instructions

Return truthful read-only health for index freshness, vault integrity, point-in-time checksum, durability capability, and invariant evidence. Use detail='full' to include bounded integrity findings. In full mode, limit <= 0 selects the server ceiling and positive limits are capped by settings.max_result_count. Fingerprints are opaque baseline identifiers derived from raw keys, not hashes of sanitized published keys. Only top-level violation rel_path and mixed_eol_notes entries preserve addressable paths; details such as candidate_paths are sanitized display metadata. Findings do not include line numbers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
detailNosummary

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
indexYes
statusYes
recoveryYes
scrubberYes
integrityYes
read_onlyYes
durabilityYes
invariantsYes
server_versionYes
vault_checksumYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changedv0.1.3
    • addedInput schema / properties / detail
      Added value: +{
      +  "default": "summary",
      +  "enum": [
      +    "summary",
      +    "full"
      +  ],
      +  "title": "Detail",
      +  "type": "string"
      +}
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 0,
      +  "title": "Limit",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / HealthFindingsOutput
      Added value: +{
      +  "description": "Bounded detailed reliability findings.",
      +  "properties": {
      +    "flagged_paths": {
      +      "$ref": "#/$defs/HealthFlaggedPathsOutput"
      +    },
      +    "limit_applied": {
      +      "title": "Limit Applied",
      +      "type": "integer"
      +    },
      +    "returned": {
      +      "title": "Returned",
      +      "type": "integer"
      +    },
      +    "total": {
      +      "title": "Total",
      +      "type": "integer"
      +    },
      +    "truncated": {
      +      "title": "Truncated",
      +      "type": "boolean"
      +    },
      +    "violations": {
      +      "items": {
      +        "$ref": "#/$defs/HealthViolationOutput"
      +      },
      +      "title": "Violations",
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "violations",
      +    "flagged_paths",
      +    "total",
      +    "returned",
      +    "limit_applied",
      +    "truncated"
      +  ],
      +  "title": "HealthFindingsOutput",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / HealthFlaggedPathsOutput
      Added value: +{
      +  "description": "Raw mixed-EOL paths and sanitized read, decode, or frontmatter error descriptions.",
      +  "properties": {
      +    "frontmatter_parse_errors": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Frontmatter Parse Errors",
      +      "type": "array"
      +    },
      +    "mixed_eol_notes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Mixed Eol Notes",
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "mixed_eol_notes",
      +    "frontmatter_parse_errors"
      +  ],
      +  "title": "HealthFlaggedPathsOutput",
      +  "type": "object"
      +}
    • changedOutput schema / $defs / HealthIntegrityOutput / description
      Previous value: -"Vault integrity counters included in operational health."New value: +"Vault integrity counters and optional detailed findings."
    • addedOutput schema / $defs / HealthIntegrityOutput / properties / broken_wikilinks_misdirected
      Added value: +{
      +  "title": "Broken Wikilinks Misdirected",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / HealthIntegrityOutput / properties / detail
      Added value: +{
      +  "enum": [
      +    "summary",
      +    "full"
      +  ],
      +  "title": "Detail",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / HealthIntegrityOutput / properties / findings
      Added value: +{
      +  "$ref": "#/$defs/HealthFindingsOutput"
      +}
    • changedOutput schema / $defs / HealthIntegrityOutput / required
      Previous value: -[
      -  "notes_count",
      -  "id_mismatches",
      -  "broken_wikilinks",
      -  "mixed_eol_notes",
      -  "supersedes_cycles",
      -  "frontmatter_parse_errors"
      -]New value: +[
      +  "notes_count",
      +  "id_mismatches",
      +  "broken_wikilinks",
      +  "broken_wikilinks_misdirected",
      +  "mixed_eol_notes",
      +  "supersedes_cycles",
      +  "frontmatter_parse_errors",
      +  "detail"
      +]
    • addedOutput schema / $defs / HealthRecoveryOperationOutput
      Added value: +{
      +  "description": "Content-free evidence for one operation that requires explicit repair.",
      +  "properties": {
      +    "disk_hash": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Disk Hash"
      +    },
      +    "expected_after_hash": {
      +      "title": "Expected After Hash",
      +      "type": "string"
      +    },
      +    "expected_before_hash": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Expected Before Hash"
      +    },
      +    "operation_id": {
      +      "title": "Operation Id",
      +      "type": "string"
      +    },
      +    "reason": {
      +      "title": "Reason",
      +      "type": "string"
      +    },
      +    "rel_path": {
      +      "title": "Rel Path",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "operation_id",
      +    "rel_path",
      +    "reason",
      +    "expected_before_hash",
      +    "expected_after_hash",
      +    "disk_hash"
      +  ],
      +  "title": "HealthRecoveryOperationOutput",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / HealthRecoveryOutput
      Added value: +{
      +  "description": "Bounded recovery evidence included in operational health.",
      +  "properties": {
      +    "blocked_operations": {
      +      "title": "Blocked Operations",
      +      "type": "integer"
      +    },
      +    "operations": {
      +      "items": {
      +        "$ref": "#/$defs/HealthRecoveryOperationOutput"
      +      },
      +      "title": "Operations",
      +      "type": "array"
      +    },
      +    "required": {
      +      "title": "Required",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "required",
      +    "blocked_operations",
      +    "operations"
      +  ],
      +  "title": "HealthRecoveryOutput",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / HealthViolationOutput
      Added value: +{
      +  "description": "One finding with an addressable path and an opaque baseline fingerprint.",
      +  "properties": {
      +    "classification": {
      +      "title": "Classification",
      +      "type": "string"
      +    },
      +    "details": {
      +      "additionalProperties": {
      +        "type": "string"
      +      },
      +      "title": "Details",
      +      "type": "object"
      +    },
      +    "fingerprint": {
      +      "title": "Fingerprint",
      +      "type": "string"
      +    },
      +    "key": {
      +      "title": "Key",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "rel_path": {
      +      "title": "Rel Path",
      +      "type": "string"
      +    },
      +    "target": {
      +      "title": "Target",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "key",
      +    "fingerprint",
      +    "rel_path"
      +  ],
      +  "title": "HealthViolationOutput",
      +  "type": "object"
      +}
    • addedOutput schema / properties / recovery
      Added value: +{
      +  "$ref": "#/$defs/HealthRecoveryOutput"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "server_version",
      -  "read_only",
      -  "index",
      -  "integrity",
      -  "vault_checksum",
      -  "durability",
      -  "scrubber",
      -  "invariants"
      -]New value: +[
      +  "status",
      +  "server_version",
      +  "read_only",
      +  "index",
      +  "integrity",
      +  "vault_checksum",
      +  "durability",
      +  "recovery",
      +  "scrubber",
      +  "invariants"
      +]
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already set readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'truthful read-only.' It goes well beyond annotations by explaining sanitization behavior (fingerprints are opaque baseline identifiers derived from raw keys, not hashes of sanitized published keys), the addressability of rel_path and mixed_eol_notes entries, and that candidate_paths are sanitized display metadata. It also discloses that findings do not include line numbers. This is richly transparent about behavioral traits an agent must know before trusting the output.

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 dense but each sentence adds a distinct fact: truthful read-only health, the purpose of detail='full', limit semantics, fingerprint semantics, and path sanitization caveats. It is front-loaded with the core purpose and then layers the caveats. No filler or repetition.

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 tool has an output schema, so return values need not be described in the description. What remains is the behavioral context needed to call it correctly: what full mode does, how limits are capped, what the fingerprints mean, which paths are addressable, and that line numbers are absent. Given the safety profile already carried by annotations and the output schema, this description is complete.

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 must compensate. The description does explain the effect of both parameters: detail='full' to include bounded integrity findings, and limit semantics (<=0 selects server ceiling, positive capped by settings.max_result_count). The limit semantics are only explained in the context of full mode, so summary-mode limit behavior is not explicitly stated. The description adds meaning beyond the bare schema but leaves a small gap.

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 opens with a specific verb and resource: 'Return truthful read-only health for index freshness, vault integrity, point-in-time checksum, durability capability, and invariant evidence.' This is not a tautology; it states exactly what the tool reports and even qualifies the response as truthful, echoing the readOnly annotation. It also distinguishes itself from siblings by being a health/read-only tool rather than a query, note-fetch, or mutation tool.

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?

It clearly indicates when to use detail='full' vs the default summary mode: 'Use detail='full' to include bounded integrity findings.' It explains the limit semantics for full mode (limit <= 0 selects server ceiling; positive limits capped by settings.max_result_count). It doesn't explicitly say when not to use this tool vs alternatives, but the sibling list includes read-only tools like list_notes and get_note, and the health-specific scope implies when this is the right choice. There is no explicit exclusion of alternative tools, but the context is clear.

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