MCP server
The Two Minute Reports MCP server lets AI tools use your marketing data. MCP (Model Context Protocol) is an open standard that AI tools use to connect to data and actions.
To connect a specific AI tool, see AI tools. This page is the reference for developers and for AI tools that do not have their own page.
Server URL
https://mcp.twominutereports.com/mcp
The server uses the Streamable HTTP transport.
Sign-in or an MCP key
An AI tool connects in one of two ways. In both ways, the AI tool acts as you.
| Method | When to use it | How |
|---|---|---|
| Sign-in (OAuth) | AI tools that a person uses, such as Claude, ChatGPT, Cursor and Perplexity | The AI tool opens a Two Minute Reports sign-in. You select Allow. The server supports dynamic client registration, so most AI tools need only the server URL. |
| MCP key | Agents and automations that cannot sign in, for example an n8n or Make workflow | Create an MCP key in the MCP server section of the Automations tab, on the AI tools page. Send it as Authorization: Bearer <your MCP key>. |
An MCP key acts as you, with your role on each team. You can give the key fewer permissions when you create it. Keep the key secret. To stop a key, revoke it on the Automations tab.
You can also create an MCP key in Settings › API keys. Select Create key, then set Intended use to MCP.
To see and end each sign-in, go to Your connections on the AI tools page, or Settings › Security.
What the AI tool can do
Each tool needs a permission from your role on the team. If you use an MCP key with fewer permissions, the tool also needs the key scope.
| Area | Tools | Team permission | MCP key scope |
|---|---|---|---|
| Your profile | get_user, update_user_name | None | account:read, account:write |
| Teams | verify_team_details, get_team, get_team_members | team_settings.read, members.read | teams:read |
| Connectors | list_connectors, get_connector_query_schema, get_connector_accounts | connections.read, connector_accounts.read | connectors:read |
enable_account, disable_account | connector_accounts.enable, connector_accounts.disable | connectors:write | |
| Connections | list_connections, get_connection, get_connection_accounts | connections.read, connector_accounts.read | connections:read |
| Setup links | get_connection_setup_link | connections.read | setup_links:read |
create_connection_setup_link | setup_links.write | setup_links:write | |
| Clients | list_clients, get_client, list_client_accounts, list_client_contacts | clients.read, client_accounts.read, client_contacts.read | clients:read |
create_client, update_client, add_client_account | clients.write, client_accounts.write | clients:write | |
| Data | validate_query, run_query | data.query | data:read |
| Dashboards | list_dashboards, get_dashboard, get_dashboard_guidelines | dashboards.read | dashboards:read |
create_dashboard, update_dashboard | dashboards.write | dashboards:write | |
share_dashboard | dashboard_shares.write. To remove people, also dashboard_shares.delete. | dashboard_shares:write. To remove people, also dashboard_shares:delete. | |
| Reports | list_reports, get_report, get_report_guidelines, list_report_templates, get_report_generation | reports.read | reports:read |
create_report, update_report, update_report_meta, duplicate_report, generate_report, set_report_status | reports.write | reports:write | |
share_report | report_shares.write. To remove people, also report_shares.delete. | report_shares:write. To remove people, also report_shares:delete. | |
export_report | report_shares.write | report_shares:write | |
get_report_export | report_shares.read | report_shares:read | |
| Goals | list_goals, get_goal | goals.read | goals:read |
create_goal, update_goal | goals.write | goals:write | |
| Custom fields | list_custom_fields | custom_fields.read | custom_fields:read |
create_custom_field, update_custom_field | custom_fields.write | custom_fields:write |
An AI tool shows only the tools that your MCP key allows.
get_report_guidelines before it builds or edits a report. It is cheap, and without it a model will write dashboard coordinates into a report and produce a document that cannot be laid out.An AI tool can build a report from a template or a prompt (generate_report, then get_report_generation until it's done), save it (set_report_status with ready), share it (share_report) and export it as a PDF, PNG images or a PowerPoint file (export_report, then get_report_export). A report starts with the status draft, and its figures freeze the first time it's saved (ready). An edit after that leaves unsaved changes: the status goes back to draft until the report is saved again. The link and an export show the version last saved, so a report that was never saved has neither.There is no send_report. Emailing a report to a client is something a person does.Dash, the assistant in the Hub, also has tools that generate a dashboard or a dashboard page. Other AI tools do not get these tools.
Every role can read. A Viewer does not have data.query, so a Viewer cannot run data queries. See What each person can do and the permissions matrix.
You do not need a seat to connect or to read. To change something, you need a seat. See Seats.
Limits
| Limit | Value |
|---|---|
| Tool calls | 120 a minute, for each person |
When an AI tool goes above a limit, the server tells it to wait and try again.
Skills
Skills are audits and reports for AI tools. They use the tools on this page. See Skills.
Next steps
- AI tools
- Other AI tools
- Automations: use the MCP server from n8n, Make and Zapier