Skip to main content
Glama
powerdrillai

Powerdrill MCP Server

Official
by powerdrillai

mcp_powerdrill_delete_dataset

Remove datasets from Powerdrill to manage storage and maintain organized AI data analysis environments.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
datasetIdYesThe ID of the dataset to delete

Implementation Reference

  • The main handler function for the mcp_powerdrill_delete_dataset tool. It extracts the datasetId from arguments, creates a PowerdrillClient instance, calls deleteDataset on it, and formats the success or error response as MCP content.
    async (args, extra) => {
      try {
        const { datasetId } = args;
    
        // Initialize Powerdrill client
        const client = new (await import('./utils/powerdrillClient.js')).PowerdrillClient();
    
        // Delete the dataset
        const response = await client.deleteDataset(datasetId);
    
        // Check if response is valid
        if (response.code !== 0) {
          throw new Error(`API returned error code: ${response.code}, message: ${response.message || 'No message'}`);
        }
    
        // Format the response as MCP content
        return {
          content: [
            {
              type: "text",
              text: JSON.stringify({
                success: true,
                message: `Dataset ${datasetId} successfully deleted`
              }, null, 2)
            }
          ]
        };
      } catch (error: any) {
        console.error(`Error deleting dataset: ${error.message}`);
        console.error(error.stack);
    
        // Return error response
        return {
          content: [
            {
              type: "text",
              text: JSON.stringify({
                error: `Error deleting dataset: ${error.message}`,
                errorType: error.name,
                errorStack: process.env.NODE_ENV === 'development' ? error.stack : undefined
              }, null, 2)
            }
          ],
          isError: true
        };
      }
    }
  • Input schema validation using Zod for the datasetId parameter.
    {
      datasetId: z.string().describe('The ID of the dataset to delete')
    },
  • src/index.ts:803-807 (registration)
    Registration of the tool with the MCP server using server.tool(), including name, schema, and handler reference.
    server.tool(
      'mcp_powerdrill_delete_dataset',
      {
        datasetId: z.string().describe('The ID of the dataset to delete')
      },
  • Supporting method in PowerdrillClient class that performs the actual HTTP DELETE request to the Powerdrill API endpoint `/datasets/{datasetId}`.
    async deleteDataset(datasetId: string) {
      try {
        const requestBody = {
          user_id: this.config.userId
        };
    
        const response = await this.client.delete(`/datasets/${datasetId}`, {
          data: requestBody
        });
        
        return response.data;
      } catch (error: any) {
        console.error(`Error deleting dataset ${datasetId}:`, error.message);
        throw error;
      }
    }

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/powerdrillai/powerdrill-mcp'

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