Skip to main content
Glama
SGromych

DataForge Semantic MCP Server

by SGromych

df_delete_project

DestructiveIdempotent

Permanently delete a DataForge project along with all its versions and associated content. Use this when you need to remove a project entirely; this cannot be undone.

Instructions

PERMANENTLY DELETES DATA IN DATAFORGE. Delete a project WITH ALL OF ITS VERSIONS and their entire content. This cannot be undone.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the destructive nature is structured. The description adds critical context beyond annotations: the deletion is permanent, cascades to all versions and their entire content, and cannot be undone. This is exactly the kind of behavioral disclosure that helps an agent warn users or avoid accidental data loss. It does not contradict annotations; idempotentHint=true is consistent with a delete operation that succeeds even if the project is already gone.

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?

Three sentences, all high-value. The warning is front-loaded ('PERMANENTLY DELETES DATA'), the scope is explicit, and the irreversibility is stated. No filler or repetition of schema details.

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 single-parameter destructive tool with no output schema, the description covers the essential context: what is deleted, the cascade scope, and irreversibility. It does not mention authorization requirements (e.g., needing project access) or what the response looks like, but those are less critical for a delete operation and the annotations already cover the safety profile.

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 names the key parameter (project_id) implicitly by saying 'Delete a project', but it does not explain the format, type, or how to obtain the project_id. However, with only one required parameter named project_id, the schema already provides the parameter name and type, and the description's scope clarification adds enough meaning for an agent to understand what the parameter refers to.

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 states a specific verb ('deletes'), a specific resource ('project'), and the full scope ('WITH ALL OF ITS VERSIONS and their entire content'). It clearly distinguishes this from sibling tools like df_delete_version and df_delete_relationship by emphasizing the project-level cascade.

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?

The description makes clear this is the tool for deleting an entire project and everything under it, which implicitly distinguishes it from df_delete_version (delete a single version) and df_delete_relationship (delete a relationship). It does not explicitly name alternatives or state when not to use it, but the destructive scope is unambiguous enough for an agent to select it correctly.

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