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
| Name | Required | Description | Default |
|---|---|---|---|
| org | Yes | The organization name | |
| query | Yes | Flux query string |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"org": {
"description": "The organization name",
"type": "string"
},
"query": {
"description": "Flux query string",
"type": "string"
}
},
"required": [
"org",
"query"
],
"type": "object"
}
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.", ), },