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.

Endpoints
Three surfaces, two different authentication models.
Main MCP server
OAuth — sign in as yourself
Loading…

Read and write across the portal as the signed-in user, under row-level security.

Publishing MCP server
API key
Loading…

A narrow MCP surface for publishing reports from an automated builder.

REST publish endpoint
API key
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.

Your Connection Address
Copy this and paste it into your assistant when it asks for a server or connector URL.
Loading…
Set Up Your Assistant
Pick the assistant you use and follow the steps.
  1. 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.
  2. Open the New plugin dialog.
  3. Enter FLCPA.AI Reporting Studio as the name and paste the connection address above into the URL field.
  4. Review the details, tick “I understand and want to continue” (ChatGPT shows this for every custom connection), then click Create.
  5. Sign in when prompted, then enable the app from the chat composer.
  6. Ask ChatGPT to use FLCPA.AI Reporting Studio — for example, “list my reports”.
Refresh After We Ship Changes
Assistants remember what this portal could do when you first connected. Refresh the connection to pick up new capabilities.
  1. Open ChatGPT's Plugins page and select FLCPA.AI Reporting Studio.
  2. Scroll to Information and click Refresh.
  3. ChatGPT can't change an existing address — if it changed, delete the app and follow the set-up steps again.
  4. Start a new chat and ask ChatGPT to use FLCPA.AI Reporting Studio.

Main MCP Server Reference

Authentication Model
Server version 0.7.0
  • 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_report creates a report (draft by default; status: "published" is allowed), publish_report_version appends a new HTML version and never changes status, and update_report_metadata edits title, description, category and reporting period. Unlike the API-key publish_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.

Publishing MCP Server
JSON-RPC over HTTP POST at /api/public/mcp with Authorization: Bearer <api key>.
list_workspaces

List the client workspace this API key can publish to. No arguments.

publish_report

Publish an HTML dashboard/report to the client portal. New reports go live immediately unless status is set to "draft".

title
required
Report title shown to the client (2–140 characters).
html
required
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_reports

List the most recent reports in the workspace and their status. No arguments.

REST Publish Endpoint
POST /api/public/reports

Headers

  • 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 400 with { error, code: "unknown_category", valid_categories: [...] }.
  • A successful call returns 201 with the report id, title, status and review_url.
  • API keys are issued by FLCPA administrators and are scoped to one workspace.