UNPKG

@turbot/powerpipe-mcp

Version:

Powerpipe MCP server to run benchmarks, detections and controls using AI.

44 lines 1.83 kB
import { ConfigurationService } from "../services/config.js"; import { executeCommand, formatCommandError, formatResult } from "../utils/command.js"; import { buildPowerpipeCommand, getPowerpipeEnv } from "../utils/powerpipe.js"; function validateParams(args) { if (!args || typeof args !== 'object') { throw new Error('Arguments must be an object'); } const params = args; if (!params.qualified_name || typeof params.qualified_name !== 'string') { throw new Error('qualified_name is required and must be a string'); } return params; } export const tool = { name: "powerpipe_query_show", description: "Displays detailed information about a specific query, including its SQL implementation and documentation. Use this to understand how controls and detections evaluate your infrastructure.", inputSchema: { type: "object", properties: { qualified_name: { type: "string", description: "The qualified name of the query to show details for" } }, required: ["qualified_name"], additionalProperties: false }, handler: async (args) => { const params = validateParams(args); const config = ConfigurationService.getInstance(); const modDirectory = config.getModLocation(); const cmd = buildPowerpipeCommand(`query show ${params.qualified_name}`, modDirectory, { output: 'json' }); const env = getPowerpipeEnv(modDirectory); try { const output = executeCommand(cmd, { env }); const query = JSON.parse(output); return formatResult({ query }, cmd); } catch (error) { return formatCommandError(error, cmd); } } }; //# sourceMappingURL=powerpipe_query_show.js.map