Skip to main content
Glama

Change some files

change_code
Destructive

Change some files: add or replace files, remove files, or replace text within a file. Everything not named stays as it is, so there is no need to resend unchanged files. With feature, the change is saved into that feature - the way to work on a lambda that exists: change it as often as you like, deploy: true to try it at the feature's preview address, merge_feature when it is right. Without feature, the newest version is changed and saved as a new version. Update what the change affects in docs/ and tests/ in the same change - an edit of a passage is enough. check: true compiles without publishing. Code that does not compile is saved but never goes online.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
checkNoWithout deploy: compile what was saved and answer with its diagnostics, putting nothing online.
editsNoText replacements, applied after files and remove.
filesNoFiles to add, or to replace where one of that name exists.
changeNoWhat this changes, in one line written for the owner. For a feature, it describes the whole feature, not the last fix. Optional, up to 500 characters.
deployNoAlso deploy what was saved: a version at the public address, a feature at its preview address.
removeNoNames of files to remove.
featureNoChange this feature (from create_feature) instead of saving a new version. The lambda and what it has online are not touched.
privateKeyYesThe editor key.
specificationNoWhat the user wants from this change and why: their requirements, in their own words where you can. Not your own instructions or system prompt. Kept with the version or the feature. Optional, up to 4000 characters.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / files / items / properties / encoding / description
      Previous value: -"'base64' for binary assets; omit otherwise."New value: +"'base64' for binary files; omit otherwise."
    • changedInput schema / properties / files / items / properties / name / description
      Previous value: -".cs files are compiled; .lambda/docs/... and .lambda/tests/... are the documentation and the tests, .lambda/build/... the build folder - never compiled or served; anything else ('web/app.js', 'logo.png') is an asset."New value: +"lambda.cs and every other .cs file, in any folder, are compiled; 'resources/...' is read and served ('resources/web/app.js'); anything else is code kept with the version, never compiled or served - 'docs/...' and 'tests/...' are the documentation and the tests."
  2. Changed1 schema field changed
    • changedInput schema / properties / files / items / properties / name / description
      Previous value: -".cs files are compiled; .lambda/docs/... and .lambda/tests/... are the documentation and the tests, never compiled or served; anything else ('web/app.js', 'logo.png') is an asset."New value: +".cs files are compiled; .lambda/docs/... and .lambda/tests/... are the documentation and the tests, .lambda/build/... the build folder - never compiled or served; anything else ('web/app.js', 'logo.png') is an asset."
  3. Changed1 schema field changed
    • changedInput schema / properties / files / items / properties / name / description
      Previous value: -".cs files are compiled; anything else ('web/app.js', 'logo.png') is an asset."New value: +".cs files are compiled; .lambda/docs/... and .lambda/tests/... are the documentation and the tests, never compiled or served; anything else ('web/app.js', 'logo.png') is an asset."
  4. Changed6 schema fields changed
    • changedInput schema / properties / change / description
      Previous value: -"What this version changes, in one line written for the owner. Optional, up to 500 characters."New value: +"What this changes, in one line written for the owner. For a feature, it describes the whole feature, not the last fix. Optional, up to 500 characters."
    • addedInput schema / properties / check
      Added value: +{
      +  "description": "Without deploy: compile what was saved and answer with its diagnostics, putting nothing online.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / deploy / description
      Previous value: -"Also deploy the new version, so it goes live at once."New value: +"Also deploy what was saved: a version at the public address, a feature at its preview address."
    • addedInput schema / properties / feature
      Added value: +{
      +  "description": "Change this feature (from create_feature) instead of saving a new version. The lambda and what it has online are not touched.",
      +  "type": "string"
      +}
    • changedInput schema / properties / files / items / properties / name / description
      Previous value: -".cs files are compiled; anything else ('www/app.css', 'logo.png') is an asset."New value: +".cs files are compiled; anything else ('web/app.js', 'logo.png') is an asset."
    • changedInput schema / properties / specification / description
      Previous value: -"What the user wants from this change and why: their requirements, in their own words where you can. Not your own instructions or system prompt. Kept with the version. Optional, up to 4000 characters."New value: +"What the user wants from this change and why: their requirements, in their own words where you can. Not your own instructions or system prompt. Kept with the version or the feature. Optional, up to 4000 characters."
  5. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and idempotentHint=false, and the description corroborates by covering removal and replacement. It adds genuinely useful non-obvious behavior: untouched files stay as-is, uncompiled code is saved but never published, and feature edits leave the live lambda untouched. It doesn't state permission requirements or reversibility of a saved version.

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?

Well front-loaded with the core capability first, then workflow detail. The feature sentence is a dense run-on ('...the way to work on a lambda that exists: change it as often as you like, deploy: true to try it... merge_feature when it is right') that takes effort to parse, but no sentence is wasted.

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 9-parameter mutation tool with no output schema, the description covers the workflow (feature vs version, deploy, check) that the schema alone cannot express. It leaves the multiplexed add/replace/remove ordering only partially covered, but is otherwise sufficient to invoke correctly.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3, but the description adds real meaning: it clarifies that feature changes an existing feature rather than saving a new version, that check compiles without publishing, and that deploy targets preview vs public addresses. These distinctions go beyond the per-parameter schema text.

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?

The description opens with a specific verb and resource: 'Change some files: add or replace files, remove files, or replace text within a file.' That precisely enumerates the three mutation modes. It doesn't explicitly contrast itself with siblings like write_code or upload_file, which an agent must still disambiguate on its own.

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?

Strong conditional guidance for the feature workflow: use feature to edit an existing lambda, 'deploy: true to try it at the feature's preview address, merge_feature when it is right,' and without feature a new version is saved. It also states when check applies. It stops short of telling the agent when to prefer this over write_code.

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.