hubble-mcp-tool
Version:
MCP server for Hubble
43 lines (42 loc) • 1.13 kB
JavaScript
import { z } from "zod";
// Chart types
export const VALID_CHART_TYPES = [
"bar",
"line",
"pie",
"doughnut",
"radar",
"polarArea",
"scatter",
"bubble",
"radialGauge",
"speedometer",
];
// Tool input schemas
export const searchHubbleArgsSchema = z.object({
query: z.string(),
});
export const generateChartArgsSchema = z.object({
type: z.enum(VALID_CHART_TYPES),
labels: z.array(z.string()).optional(),
datasets: z.array(z.object({
label: z.string().optional(),
data: z.array(z.union([z.number(), z.array(z.number())])),
backgroundColor: z.union([
z.string(),
z.array(z.string()),
]).optional(),
borderColor: z.union([
z.string(),
z.array(z.string()),
]).optional(),
borderWidth: z.number().optional(),
additionalConfig: z.record(z.any()).optional(),
})),
title: z.string().optional(),
options: z.record(z.any()).optional(),
});
export const downloadChartArgsSchema = z.object({
config: z.record(z.unknown()),
outputPath: z.string(),
});