Skip to main content
Glama
by bbernstein

delete_project

Permanently remove a project and its associated data using a project ID and deletion confirmation, ensuring precise management of AI-powered theatrical lighting design projects.

Instructions

Delete a project and all its data

Input Schema

NameRequiredDescriptionDefault
confirmDeleteYesConfirm deletion of project and all its data
projectIdYesProject ID to delete

Input Schema (JSON Schema)

{ "properties": { "confirmDelete": { "default": false, "description": "Confirm deletion of project and all its data", "type": "boolean" }, "projectId": { "description": "Project ID to delete", "type": "string" } }, "required": [ "projectId", "confirmDelete" ], "type": "object" }

Implementation Reference

  • The core handler function for the 'delete_project' MCP tool. Validates input arguments using Zod schema, enforces confirmation flag, delegates to GraphQL client for deletion, and returns structured success/failure response.
    async deleteProject(args: z.infer<typeof DeleteProjectSchema>) { const { projectId, confirmDelete } = DeleteProjectSchema.parse(args); if (!confirmDelete) { throw new Error('Deletion not confirmed. Set confirmDelete to true to proceed.'); } try { const success = await this.graphqlClient.deleteProject(projectId); return { success, message: success ? `Project ${projectId} deleted successfully` : 'Failed to delete project' }; } catch (error) { throw new Error(`Failed to delete project: ${error}`); } }
  • Zod validation schema used by the delete_project handler to parse and validate tool inputs.
    const DeleteProjectSchema = z.object({ projectId: z.string().describe('Project ID to delete'), confirmDelete: z.boolean().default(false).describe('Confirm deletion of project and all its data') });
  • src/index.ts:154-171 (registration)
    MCP tool metadata registration in ListToolsRequestHandler. Defines the 'delete_project' tool name, description, and JSON input schema for discovery by MCP clients.
    name: "delete_project", description: "Delete a project and all its data", inputSchema: { type: "object", properties: { projectId: { type: "string", description: "Project ID to delete", }, confirmDelete: { type: "boolean", default: false, description: "Confirm deletion of project and all its data", }, }, required: ["projectId", "confirmDelete"], }, },
  • src/index.ts:1846-1858 (registration)
    Handler dispatch registration in CallToolRequestHandler switch statement. Routes 'delete_project' calls to the ProjectTools instance method.
    case "delete_project": return { content: [ { type: "text", text: JSON.stringify( await this.projectTools.deleteProject(args as any), null, 2, ), }, ], };
  • GraphQL client helper method that executes the backend deleteProject mutation and returns boolean success indicator. Called by the main tool handler.
    async deleteProject(id: string): Promise<boolean> { const mutation = ` mutation DeleteProject($id: ID!) { deleteProject(id: $id) } `; const data = await this.query(mutation, { id }); return data.deleteProject;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bbernstein/lacylights-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server