query-data
Execute Flux queries on InfluxDB time-series databases to retrieve and analyze data. Specify the organization and query string to fetch precise time-series insights.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| org | Yes | The organization name | |
| query | Yes | Flux query string |
Implementation Reference
- src/handlers/queryDataTool.js:4-31 (handler)The main handler function for the 'query-data' tool. It makes a POST request to InfluxDB's /api/v2/query endpoint with the provided organization and Flux query, returns the response as annotated CSV text, or an error message if the query fails.export async function queryData({ org, query }) { try { const response = await influxRequest( `/api/v2/query?org=${encodeURIComponent(org)}`, { method: "POST", body: JSON.stringify({ query, type: "flux" }), }, ); const responseText = await response.text(); return { content: [{ type: "text", text: responseText, }], }; } catch (error) { return { content: [{ type: "text", text: `Error executing query: ${error.message}`, }], isError: true, }; } }
- src/index.js:103-119 (registration)Registers the 'query-data' tool with the MCP server, including the tool name, description, Zod input schema for 'org' and 'query' parameters, and binds it to the queryData handler function.server.tool( "query-data", "Execute a Flux query inside an organization to inspect measurement schemas, run aggregations, or validate recently written data.", { org: z .string() .describe( "Organization whose buckets the query should target (exact name, not ID).", ), query: z .string() .describe( "Flux query text. Multi-line strings are supported; results are returned as annotated CSV for easy parsing.", ), }, queryData, );
- src/index.js:107-117 (schema)Zod schema defining the input parameters for the 'query-data' tool: 'org' (string) and 'query' (string) with descriptions.org: z .string() .describe( "Organization whose buckets the query should target (exact name, not ID).", ), query: z .string() .describe( "Flux query text. Multi-line strings are supported; results are returned as annotated CSV for easy parsing.", ), },