create_report
Create and save custom analytics reports for website data using Umami Analytics, supporting funnel, retention, UTM, goals, insights, revenue, journey, and attribution report types.
Instructions
Create and save a new report
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| websiteId | Yes | Website UUID | |
| name | Yes | Report name | |
| type | Yes | Report type | |
| description | No | Report description | |
| parameters | No | Report-specific parameters (JSON object) |
Implementation Reference
- src/tools/reports.ts:36-58 (handler)The `create_report` tool registration and handler implementation within the MCP server.
server.tool( "create_report", "Create and save a new report", { websiteId: z.string().describe("Website UUID"), name: z.string().describe("Report name"), type: z .enum(["funnel", "retention", "utm", "goals", "insights", "revenue", "journey", "attribution"]) .describe("Report type"), description: z.string().optional().describe("Report description"), parameters: z .record(z.unknown()) .optional() .describe("Report-specific parameters (JSON object)"), }, async ({ websiteId, name, type, description, parameters }) => { const body: Record<string, unknown> = { websiteId, name, type }; if (description) body.description = description; if (parameters) body.parameters = parameters; const data = await client.call("POST", "/api/reports", body); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; } );