Skip to main content
Glama

write_project_file

Creates or replaces a UTF-8 file in the open repository's local checkout, letting AI clients edit project files without pushing changes to GitHub.

Instructions

Create or replace a UTF-8 file in the open repository. This changes only the local checkout; it does not push to GitHub.

Input Schema

NameRequiredDescriptionDefault
pathYes
contentYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations at all, the description carries the whole burden and does disclose the two most consequential traits: existing content is overwritten ("replace") and the write is local-only with no GitHub push. It omits permissions/auth needs, failure behavior, and whether parent directories are created, so it is strong but not complete.

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 short sentences, no filler, and the variant-defining clause (local-only, no push) is placed up front where the agent will read it before deciding whether to follow with a commit tool.

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?

There is no output schema and no annotations, so the description must cover the mutation's consequences; it covers overwrite and local scope but leaves the full workflow (write then commit/push) and error/return behavior unstated. Adequate to call the tool, thin on what to do after and what can go wrong.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and neither parameter is documented anywhere. The description's "in the open repository" hints that "path" is repository-relative, but it says nothing about path anchoring, directory creation, encoding/line-ending handling of "content", or whether an empty path is rejected.

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?

Specific verb pair ("create or replace") plus resource ("a UTF-8 file in the open repository") makes the operation identifiable and separates it from read_project_file and delete_project_file. It never names a sibling or states which repository context is ambiguous, so it stops short of full sibling differentiation.

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?

"Create or replace" implies both creation and overwrite scenarios, and the second sentence implies you still need commit/push tools afterward — but no alternative is named and no exclusion is explicit. An agent must infer that commit_changes/commit_and_push is the follow-up step from the sibling list rather than from the description.

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