Skip to main content
Glama

Edit home text

exza_edit_home_text
Destructive

Replace one unique span of a managed-home text file, guarded by the original SHA-256. Unlike exza_write_home_text, this changes only matching text. Requires account-bound computer:write OAuth and any prompted local owner approval.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "area": "<area>",
      "path": "<path>",
      "oldText": "<oldText>",
      "newText": "<newText>",
      "expectedSha256": "<expectedSha256>"
    },
    "name": "exza_edit_home_text"
  }
}

Input Schema

NameRequiredDescriptionDefault
areaYesManaged home area, one of the allowed values; no arbitrary filesystem roots.
pathYesExplicit path inside the scope for this tool; no symlink traversal where prohibited.
newTextYesReplacement text for the exact matching span.
oldTextYesText span that must occur uniquely before a guarded edit.
expectedSha256YesLowercase SHA-256 from the prior read; prevents overwriting changed content.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the bar is lower, but the description still adds real signal: the SHA-256 optimistic-concurrency guard, the account-bound computer:write OAuth requirement, and prompted local owner approval. It omits what happens on hash mismatch or non-unique match, which matters for a destructive edit.

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?

Two dense sentences with zero filler, front-loading the operation and its guard before the sibling comparison. Every clause carries information an agent needs.

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?

For a destructive, five-required-parameter mutation with no output schema, it covers scope, concurrency safety, auth, and approval prompting. It stops short of describing failure modes (stale hash, non-unique span, symlink rejection) that an agent would need to recover from errors.

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 all five parameters are already documented, and the enum on 'area' is self-explanatory. The description reinforces the expectedSha256 guard and the uniqueness requirement of oldText but adds no syntax or format detail beyond the schema; baseline 3 applies.

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 ('Replace one unique span of a managed-home text file') plus the scope constraint, and explicitly contrasts with the sibling exza_write_home_text. An agent can distinguish this from whole-file writes without opening the schema.

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?

Names the alternative (exza_write_home_text) and the condition that selects this tool: when only a matching span should change. It does not spell out when not to use it (e.g., whole-file rewrite or non-unique text), so it falls short of a full when/when-not rubric.

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