Skip to main content
Glama

Kleap

Delete Files

delete_files
Destructive

Remove pages, components or assets from a site — the counterpart to write_files. Use it when a page should no longer exist: a wrong route, a duplicate, an outdated landing page, an image nobody references. Do NOT overwrite the file with empty content instead: that leaves a URL answering 200 with nothing, which is worse for SEO than a clean 404. Deleting a binary also removes its stored bytes. Paths Kleap owns (astro.config.mjs, package.json, tsconfig.json…) are refused — the build lays its own copy back down, so removing them changes nothing. The homepage (src/pages/index.astro) is refused too: a site with no homepage is broken — write a new one instead, writing replaces it. Returns which paths were actually deleted and which did not exist. The pages STAY LIVE until you call publish_app.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathsYesProject-relative paths to delete, e.g. ["src/pages/old.astro", "public/images/unused.png"]
app_idYesThe app ID
contextYesWhy this call, in one short sentence. Used to improve the connector; never include credentials or personal data.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
app_idNo
deletedNo
missingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, but the description goes far beyond: it explains side effects (deleting a binary removes stored bytes), restrictions (Kleap-owned paths are refused because the build restores them; homepage refused because a site without one is broken), and the critical deferred publishing behavior ('The pages STAY LIVE until you call publish_app'). It also discloses the return value semantics (which paths were deleted and which did not exist). This fully covers behavioral expectations beyond the annotations.

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?

Although the description is lengthy, every sentence earns its place: it starts with the purpose, then gives usage guidance, then restrictions, then return semantics, then the publish behavior. There is zero redundancy or filler—each clause adds a distinct, necessary piece of information for correct usage. Front-loaded with the core action and sibling distinction.

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?

For a destructive operation with restrictions and a publish lifecycle, the description is exceptionally complete. It covers what can be deleted, what cannot, the side effects, the return value, and the fact that changes are not live until publish_app. With an output schema also present, an agent has everything needed to call this tool correctly and safely.

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 coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining which paths are project-relative (with examples) and which paths are explicitly refused (Kleap-owned, homepage), giving the agent a clearer mental model of valid inputs. While not exhaustive, it enriches the parameter understanding beyond the bare schema descriptions.

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?

Clearly states the action: 'Remove pages, components or assets from a site' and explicitly identifies itself as the counterpart to write_files, distinguishing it from that sibling. It specifies the resource type and scope, so an agent knows exactly what this tool does without guessing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance with concrete examples (wrong route, duplicate, outdated page, unreferenced image) and when-not-to-use: 'Do NOT overwrite the file with empty content instead.' It also names alternatives: for homepage, 'write a new one instead, writing replaces it,' and points to publish_app for making changes live. This is exemplary usage guidance.

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