Skip to main content
Glama

Edit File

edit_file

Replace old_string with new_string in a project file. old_string must match the current content exactly (including whitespace) and be unique unless replace_all is set. Prefer this over write_file for changes to existing files.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
new_strNo
old_strNo
projectIdYes
new_stringNo
old_stringNo
replace_allNo
expected_versionNo

TDQS

A3.8/5.0
Behavior3/5

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

It discloses the two most operationally important behaviors: old_string must match current content exactly (including whitespace) and must be unique unless replace_all is set. But it is silent on the expected_version parameter's conflict-locking behavior and on failure modes (e.g., what happens when old_string is not found or is non-unique without replace_all). With only readOnlyHint/destructiveHint annotations carrying no safety meaning, the description bears the burden and covers the core but not the conflict semantics.

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?

Three sentences with no filler; the core purpose is front-loaded, the matching constraint follows, and the sibling routing closes it. Every sentence earns its place, though the version/conflict behavior gap means it is not maximally packed.

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?

For a tool with 8 parameters, 0% schema coverage, and no output schema, the description covers the editing semantics well but leaves meaningful gaps: expected_version behavior, failure/error behavior, and the duplicated str/string parameter ambiguity are all unexplained. An agent could call it correctly for the happy path but would not know how it handles version mismatches or non-unique matches.

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. It explains old_string, new_string, and replace_all meaningfully. However, it omits expected_version (a version-locking guard that likely carries conflict semantics) and projectId/path, and it does not resolve the schema's confusing duplication of old_str/new_str versus old_string/new_string — a real hazard for an agent choosing parameters.

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 names a specific verb ('Replace... with...') and a precise resource ('a project file'), and it explicitly distinguishes itself from the sibling write_file by instructing agents to prefer it for changes to existing files. This gives an agent enough to separate it from write_file 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?

It gives explicit guidance — 'Prefer this over write_file for changes to existing files' — which routes the agent correctly for the modification case. However, it does not mention apply_patch, another sibling capable of file modification, nor state the when-not-to case (new files) explicitly, though that is cleanly implied.

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.

TDQS

A3.6/5.0
Disambiguation4/5

Tools are mostly distinct, but there is some overlap among file-modifying tools (edit_file, write_file, apply_patch) and between run_code_in_vm and run_code_in_browser. Detailed descriptions and clearly scoped use cases help agents select correctly.

Naming Consistency4/5

Most tools follow a verb_noun snake_case pattern (create_project, list_files, execute_sql), but a few deviate (apply_patch, card_upload_asset, run_code_in_vm). Overall readable and predictable, with only minor inconsistencies.

Tool Count2/5

With 46 tools, the server exceeds the typical well-scoped range and approaches the extreme threshold. While the broad scope of a full development platform justifies many tools, this count may overwhelm agents and increase misselection risk.

Completeness4/5

The tool surface covers the full development lifecycle: project creation, file operations, database management, resource provisioning, deployment, testing, and debugging. Minor gaps exist (e.g., no delete_project or checkpoint management), but core workflows are well-supported.

Resources