MCP | API
The FLCPA.AI Reporting Studio portal is available to AI assistants and scripts as well as to people. Use the MCP servers to let an assistant browse workspaces, reports, connections and library resources on your behalf, or use the publishing API to push AI-generated dashboards straight into a client workspace.
Loading…Read and write across the portal as the signed-in user, under row-level security.
Loading…A narrow MCP surface for publishing reports from an automated builder.
Loading…A single POST endpoint for scripts that don't speak MCP.
Connect An AI Assistant
Link ChatGPT, Claude or another AI assistant to this portal so it can look up your workspaces, reports, connections and library resources on your behalf. You stay signed in as yourself — the assistant only sees what you can see.
Loading…- Open ChatGPT Apps settings and turn on Developer mode (read the risk notice shown there). If you don't see it, ask a ChatGPT admin to enable it.
- Open the New plugin dialog.
- Enter FLCPA.AI Reporting Studio as the name and paste the connection address above into the URL field.
- Review the details, tick “I understand and want to continue” (ChatGPT shows this for every custom connection), then click Create.
- Sign in when prompted, then enable the app from the chat composer.
- Ask ChatGPT to use FLCPA.AI Reporting Studio — for example, “list my reports”.
- Open ChatGPT's Plugins page and select FLCPA.AI Reporting Studio.
- Scroll to Information and click Refresh.
- ChatGPT can't change an existing address — if it changed, delete the app and follow the set-up steps again.
- Start a new chat and ask ChatGPT to use FLCPA.AI Reporting Studio.
Main MCP Server Reference
- Connects via OAuth as the signed-in portal user — no API key, no shared secret.
- Every tool runs under row-level security, so a caller only ever sees their own workspaces and the global resources shared with them.
- “Not found” and “no access” are deliberately indistinguishable: both return the same neutral message so the server never confirms that a record exists.
- Beyond reading, it can author reports:
create_reportcreates a report (draft by default;status: "published"is allowed),publish_report_versionappends a new HTML version and never changes status, andupdate_report_metadataedits title, description, category and reporting period. Unlike the API-keypublish_report, it defaults to draft. - All 32 tools (17 read-only, 15 write) are listed below, grouped by domain.
Publishing API
The publishing surface is authenticated with a workspace API key and is scoped to that one workspace. API keys are issued by FLCPA administrators. It is separate from the OAuth create_report tool above: here new reports default to published and unknown categories are rejected with a 400.
/api/public/mcp with Authorization: Bearer <api key>.list_workspacesList the client workspace this API key can publish to. No arguments.
publish_reportPublish an HTML dashboard/report to the client portal. New reports go live immediately unless status is set to "draft".
titlerequired- Report title shown to the client (2–140 characters).
htmlrequired- Full standalone HTML document for the dashboard.
category- Category label, 2–40 characters. Must match an existing category (case-insensitive). Defaults to Analytics.
description- Short summary, up to 600 characters.
status- "draft" | "published". Defaults to published for new reports.
data_sources- Array of data source names, matched to workspace connections as Data Inputs.
New reports publish immediately unless status is "draft"; an existing title is updated as a new version and keeps its status. HTML is capped at 5 MB. An unknown category returns an error with valid_categories.
list_reportsList the most recent reports in the workspace and their status. No arguments.
POST /api/public/reportsHeaders
Authorization: Bearer <api key>Content-Type: application/json
Request Body
title— required, 2–140 characters.html— required, the full standalone HTML document (minimum 20 characters).category— optional, 2–40 characters, defaults to Analytics. Must match an existing category (case-insensitive).status— optional,"draft"or"published"(default published).description— optional, up to 600 characters.data_sources— optional array of data source names (e.g. QuickBooks). Names are matched to the workspace's connections and shown as Data Inputs; unmatched names are kept as text.
Example
Loading…Rules
- HTML payloads are capped at 5 MB; larger documents are rejected.
- New reports are published immediately. Send
"status": "draft"to stage a report for admin review instead. - Same-title rule: an existing report with the same title (case-insensitive) in the workspace is updated as a new version and keeps its current status.
- An unknown category returns
400with{ error, code: "unknown_category", valid_categories: [...] }. - A successful call returns
201with the report id, title, status and review_url. - API keys are issued by FLCPA administrators and are scoped to one workspace.