Skip to content
Get API key (opens in a new tab)

MCP

Connect AI clients such as Claude, Cursor and ChatGPT to your Cevoid workspace through the hosted Cevoid MCP server.

The Cevoid MCP server is Cevoid's hosted Model Context Protocol⁠ server. It gives AI clients such as Claude, Cursor and ChatGPT secure access to your Cevoid workspaces through a single endpoint.

Through it, a client can query UGC, Loyalty and Profiles analytics, manage reports and dashboards, and edit, preview and publish the BrandKit that reviews and emails use: styling, color schemes, fonts and custom SVG icons.

When to use MCP

Use MCP when you want an AI client to query analytics, set up reports and dashboards or update your brand styling, without building your own API layer first.

Use the Cevoid API instead for direct REST integrations from your own application code. For the brand team's guide to connecting an AI assistant and what it can do in the platform, see MCP server in the Help Center.

Connect

The MCP server URL is https://mcp.cevoid.com/mcp. Use a client that supports MCP over streamable HTTP with OAuth, such as Claude, Cursor or ChatGPT.

Quickstart

  1. Open an MCP client such as Claude, Cursor or ChatGPT
  2. Point it at https://mcp.cevoid.com/mcp
  3. Complete the OAuth flow and choose which workspaces and permissions to grant
  4. Ask your client to list your workspaces with list-workspaces and find the tools you need with tool-search
  5. The client calls a discovered tool with execute-tool and the schema tool-search returned. Independent reads can run together with execute-batch; writes always run one at a time

Verify the connection

Ask your client which workspaces and tools your connection can use, for example:

Prompt
Which Cevoid workspaces and tools can I access?

If the connection works, the client answers with your authorized workspaces and tool categories instead of a generic answer from the model alone.

Authentication

The Cevoid MCP server uses OAuth 2.1. Access tokens are short-lived, bound to the Cevoid MCP endpoint and carry both the principal and the authorized workspaces. Clients keep sessions alive with rotating refresh tokens.

  • Access is limited to the workspaces selected during authorization.
  • Analytics reads require analytics:read, including the entity and profile labels used in analytics dimensions and filter searches. Report and dashboard writes require analytics:write.
  • BrandKit reads, previews, font discovery and icon discovery require brandkit:read. Styling changes, color scheme changes, font uploads and imports, icon overrides and publishing require brandkit:write.
  • The connect page lets you choose which permissions to grant, and discovery only returns the tools your connection allows. Reconnect an existing client to grant BrandKit permissions.

Client implementer details

Use the discovery documents instead of hard-coding OAuth endpoints when your client supports discovery.

ItemValue
MCP endpointhttps://mcp.cevoid.com/mcp
OAuth resourcehttps://mcp.cevoid.com/mcp
OAuth scopesanalytics:read, analytics:write, brandkit:read, brandkit:write
Protected Resource Metadatahttps://mcp.cevoid.com/.well-known/oauth-protected-resource/mcp
Authorization Server Metadatahttps://mcp.cevoid.com/.well-known/oauth-authorization-server
Client identificationOAuth Client ID Metadata Documents, with Dynamic Client Registration as a fallback
Token revocationThe advertised OAuth revocation endpoint

Request only the scopes your client needs, and send the MCP endpoint as the OAuth resource. Access tokens expire after 15 minutes. Refresh tokens rotate on every use and expire 30 days after the latest refresh; a client that is not used before then needs to reconnect through OAuth.

Rate limits

Tool calls are rate limited per authenticated principal and tool:

ToolsLimit
Analytics queries, report execution, BrandKit previews, and all analytics and BrandKit writes20 requests per minute
Other analytics reads, BrandKit reads, and the four discovery and execution tools60 requests per minute

Calls through execute-tool or execute-batch also count toward the limit of the tool they invoke.

Available tools

Your client finds domain tools with tool-search and calls them by their canonical ID through execute-tool. Search without a query to browse the categories.

CategoryToolDescription
Workspacelist-workspacesList the workspaces this MCP session can access.
Discovery and executiontool-searchDiscover authorized tools and their input schemas.
Discovery and executionexecute-toolRun a discovered tool by its canonical ID.
Discovery and executionexecute-batchRun independent read-only calls together. Writes and previews are not accepted.
Analyticsanalytics.list-reportsList saved analytics reports and curated presets for an authorized workspace.
Analyticsanalytics.run-queryQuery Cevoid analytics directly with a schema-first query object.
Analyticsanalytics.get-query-schemaInspect the supported analytics query schema for a module.
Analyticsanalytics.get-reportGet the metadata of a saved analytics report by report ID.
Analyticsanalytics.run-reportRun a saved analytics report for a report ID and date range.
Analyticsanalytics.list-dimensionsList the analytics dimensions and their metadata for a module.
Analyticsanalytics.get-filter-valuesGet valid values for an analytics filter.
Analyticsanalytics.create-reportValidate and create a custom analytics report.
Analyticsanalytics.update-reportValidate and update a custom analytics report.
Dashboardanalytics.list-dashboardsList the analytics dashboards in a workspace.
Dashboardanalytics.get-dashboardGet a dashboard and its report panels.
Dashboardanalytics.create-dashboardCreate a dashboard with validated or automatically placed panels.
Dashboardanalytics.update-dashboardUpdate a custom dashboard and its panel layout.
BrandKitbrandkit.getRead your BrandKit draft settings and draft revision.
BrandKitbrandkit.updateUpdate styling, typography and font or icon pack assignments in the draft.
BrandKitbrandkit.previewRender real widgets with sample content as images, from the draft or the published BrandKit.
BrandKitbrandkit.publishPublish the reviewed draft to live widgets and emails.
BrandKitbrandkit.create-color-schemeCreate a named color scheme, optionally as a copy of an existing one.
BrandKitbrandkit.rename-color-schemeRename a color scheme in the draft. Published references change when the BrandKit is published.
BrandKitbrandkit.delete-color-schemeDelete a color scheme. At least one scheme must remain; change any popup or email assignment first. Review assignments return to their defaults when the BrandKit is published.
BrandKitbrandkit.list-fontsBrowse default and workspace fonts.
BrandKitbrandkit.prepare-font-uploadPrepare the upload of a local font file.
BrandKitbrandkit.complete-font-uploadValidate and register an uploaded font.
BrandKitbrandkit.import-font-from-urlImport a font from a public file URL.
BrandKitbrandkit.list-icon-packsBrowse the available icon packs.
BrandKitbrandkit.list-iconsInspect the editable icon slots and their current SVGs.
BrandKitbrandkit.set-iconsReplace existing icon slots with custom SVGs.
BrandKitbrandkit.reset-iconsRestore selected icons to their icon pack or bundled defaults.

IDs and filter values

Workspace IDs come from list-workspaces; reuse them unchanged. Report IDs use the public rpt_… format and dashboard IDs use dsh_…. Treat these IDs as opaque, and reuse the returned values for later get, run, update and dashboard panel operations.

Analytics filter values are a separate contract. A returned value is an opaque token, valid for that filter and authorized workspace, and its format may vary. Reuse it unchanged and never treat it as a resource ID. Profile filter discovery needs at least two search characters and returns at most 20 label and token pairs.

List tools return compact summaries for choosing an item; the matching get tools return complete public definitions. Result counts use returnedRowCount, the rows actually returned after limits. analytics.run-report.executedQuery records the execution settings you need to interpret the results of a saved report.

BrandKit changes

BrandKit tools edit a shared draft. Each change saves right away, updates open BrandKit editors and replaces unsaved edits there, but live widgets and emails keep the published BrandKit until the draft is published, with brandkit.publish or in the BrandKit editor. The tools tell clients to publish only when you ask for it.

  • Publishing: pass the draft revision from brandkit.get or from the last draft edit. A stale revision is rejected; review the changed draft, then publish again.
  • Previews: brandkit.preview renders up to three components per call as images, from the draft by default or from the published BrandKit. It does not edit or publish anything.
  • Writes: settings, scheme and icon writes do not take a revision, so a later write can overwrite an earlier one. A write that collides with another draft save is rejected with draft_changed; read the draft again and retry. Omitted settings stay unchanged, and null resets a setting to its default or inherited value. Dimensions are in pixels, line height is a multiplier and letter spacing is in em.
  • Fonts: for a local font, prepare the upload, send the file to the returned URL, then complete the registration. You can also import a public WOFF2, WOFF, TTF or OTF file of up to 10 MB; URL redirects are rejected. Assign the returned font ID to typography or buttons with brandkit.update.
  • Icons: custom icons replace existing editable slots. Supply a complete monochrome SVG with a viewBox, up to 16 KiB per icon; active content and external resources are rejected. Icons inherit the theme color, and rating stars use the BrandKit star design setting. Reuse font and icon pack IDs from discovery unchanged.

Resources

These analytics resources require analytics:read:

  • cevoid://analytics/query-schema
  • cevoid://analytics/dimensions
  • cevoid://analytics/filters
  • cevoid://analytics/filter-values
  • cevoid://analytics/reports
  • cevoid://analytics/capabilities

Example prompts

The client discovers the relevant tool before it runs it.

PromptTools
"What reports do I already have for UGC performance?"Starts with analytics.list-reports
"Show me the top performing posts for the last 30 days."analytics.run-query
"What types of analytics queries can you run for UGC?"analytics.get-query-schema
"Which workspaces can I access in this MCP session?"list-workspaces
"Create a monthly performance report and add it to a dashboard."The report and dashboard write tools, after write-scope consent
"Set my BrandKit accent color to green and make buttons rounder."brandkit.get and brandkit.update, after BrandKit write-scope consent
"Import this font file and use it for headings."The BrandKit font tools, then brandkit.update to assign the font
"Generate a simple close icon and apply it to my BrandKit."brandkit.list-icons, then brandkit.set-icons
"Preview my BrandKit draft on mobile, then publish it."brandkit.preview, then brandkit.publish after BrandKit write-scope consent
  • MCP server: connect an AI assistant to ask about analytics, build reports and dashboards and edit the BrandKit, explained for the brand's team.
  • Cevoid API: REST integrations with scoped secret keys.