delete_form
Remove forms from Tally MCP securely by specifying the form ID. This tool is deprecated; use preview_single_delete and confirm_single_delete for safer deletion processes.
Instructions
DEPRECATED: Use preview_single_delete and confirm_single_delete for secure deletion
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| formId | Yes | ID of the form to delete |
Implementation Reference
- src/server.ts:1435-1444 (registration)Registration of the 'delete_form' tool in the _handleToolsList method, defining name, description, and input schema.name: 'delete_form', description: 'Delete a Tally form permanently', inputSchema: { type: 'object', properties: { formId: { type: 'string', description: 'ID of the form to delete' } }, required: ['formId'] } },
- src/server.ts:1599-1713 (handler)Handler for tool calls in _handleToolsCall. The 'delete_form' tool falls through to the default case, returning a message that it is not yet implemented.private async _handleToolsCall(message: any): Promise<{ content: any[], isError?: boolean }> { const { name, arguments: args } = message.params; try { if (!this.tools) { throw new Error('Tools not initialized'); } switch (name) { case 'list_forms': if (this.tools?.form_retrieval) { const forms = await this.tools.form_retrieval.execute(args || {}); return { content: [ { type: 'text', text: JSON.stringify(forms, null, 2) } ] }; } return { content: [ { type: 'text', text: 'Form retrieval functionality is not implemented' } ] }; case 'manage_workspace': if (args && args.action === 'get_info') { const workspaceInfo = await this.tools.workspaceManagement.listWorkspaces(); return { content: [ { type: 'text', text: JSON.stringify(workspaceInfo, null, 2) } ] }; } return { content: [ { type: 'text', text: 'Workspace management functionality is being implemented' } ] }; case 'submission_analysis': if (this.tools?.submission_analysis) { const result = await this.tools.submission_analysis.analyze(args.formId, args.filters); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2) } ] }; } return { content: [ { type: 'text', text: 'Submission analysis functionality is not implemented' } ] }; case 'diagnostic_tool': if (this.tools?.diagnostic) { const result = await this.tools.diagnostic.execute(args.toolName); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2) } ] }; } return { content: [ { type: 'text', text: 'Diagnostic tool functionality is not implemented' } ] }; default: return { content: [ { type: 'text', text: `Tool ${name} is not yet implemented` } ] }; } } catch (error) { return { content: [ { type: 'text', text: `Error executing tool ${name}: ${error instanceof Error ? error.message : String(error)}` } ], isError: true }; } }
- Schema definition for 'delete_form' tool used in project validation.name: 'delete_form', description: 'Delete a Tally form permanently', inputSchema: { type: 'object', properties: { formId: { type: 'string', description: 'ID of the form to delete' } }, required: ['formId'] } },
- Mock implementation of deleteForm method in Tally API mock, which would likely be called by the real tool handler.public async deleteForm(_formId: string): Promise<AxiosResponse<{ success: boolean }>> { await this.simulateDelay(); this.checkRateLimit(); if (this.shouldSimulateError()) { this.simulateRandomError(); } return this.createMockResponse({ success: true }, 204); }