Skip to main content
Glama
createBucketTool.js1.76 kB
import fetch from "node-fetch"; import { INFLUXDB_TOKEN, INFLUXDB_URL } from "../config/env.js"; // Tool: Create Bucket export async function createBucket({ name, orgID, retentionPeriodSeconds }) { console.log(`=== CREATE-BUCKET TOOL CALLED ===`); console.log(`Creating bucket: ${name}, orgID: ${orgID}`); try { const bucketData = { name, orgID, retentionRules: retentionPeriodSeconds ? [ { type: "expire", everySeconds: retentionPeriodSeconds }, ] : undefined, }; console.log(`Creating bucket with data: ${JSON.stringify(bucketData)}`); // Use fetch directly instead of our wrapper const response = await fetch(`${INFLUXDB_URL}/api/v2/buckets`, { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Token ${INFLUXDB_TOKEN}`, }, body: JSON.stringify(bucketData), }); console.log(`Create bucket response status: ${response.status}`); if (!response.ok) { const errorText = await response.text(); throw new Error( `Failed to create bucket: ${response.status} ${errorText}`, ); } const bucketResponse = await response.json(); console.log(`=== CREATE-BUCKET TOOL COMPLETED SUCCESSFULLY ===`); return { content: [{ type: "text", text: `Bucket created successfully:\nID: ${bucketResponse.id}\nName: ${bucketResponse.name}\nOrganization ID: ${bucketResponse.orgID}`, }], }; } catch (error) { console.error(`=== CREATE-BUCKET TOOL ERROR: ${error.message} ===`); return { content: [{ type: "text", text: `Error creating bucket: ${error.message}`, }], isError: true, }; } }

Implementation Reference

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/idoru/influxdb-mcp-server'

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