90trust / 100

Duvo MCP

by duvo.ai in Developer tools

MCP serverPassing, checked 7 h ago

Governed retail, FMCG, and CPG operational tools: runs, cases, approvals, audit-ready execution.

https://api.duvo.ai/v1/mcp

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
200 ms typical, 200 ms slowest 5%
Last check
7 h ago
Next check
in 2 min

How to call it

Add it to any MCP client that supports remote servers.

{
  "mcpServers": {
    "duvo-mcp": {
      "type": "http",
      "url": "https://api.duvo.ai/v1/mcp"
    }
  }
}

400 tools

  • listAgentMemoryFiles

    List the memory files stored for an agent.

  • getAgentMemoryFile

    Get the contents of a single memory file for an agent.

  • listPluginCatalog

    List plugins that can be referenced by name in a build's plugins array. Builds may also reference any public GitHub repository URL (https://github.com/owner/repo) as a plugin; those are not enumerated here.

  • createSchedule

    Create a schedule for an agent. The schedule fires against the agent's live build. The authenticated user owns the schedule. On a team with versions, a repeating schedule for an Agent in an automation joins that automation's versions: one matching a schedule the automation alread

  • updateSchedule

    Update fields on an existing schedule. Only supplied fields are changed; omitted fields retain their current values. Owners may update their own schedules; team superadmins may update any schedule on agents in the current team. A schedule that belongs to an automation with versio

  • deleteSchedule

    Delete a schedule. Owners may delete their own schedules; team superadmins may delete any schedule on agents in the current team. Deleting a schedule that belongs to an automation with versions stops it for its owner at once; the automation's versions keep the schedule for anyone

  • getTeam

    Get a team by ID. The caller must be scoped to the requested team.

  • startNativeOAuth

    Start an OAuth-based connection with a native provider (Gmail, Google Sheets, Outlook, etc.). Returns an authorization URL that must be opened in a browser by a human end-user; once they grant consent, Duvo creates the matching connection and redirects the browser to the optional

  • authorizeMcpOAuth

    Start an OAuth-based connection with a remote MCP server using Dynamic Client Registration. Returns an authorization URL the user must open in a browser; once they grant consent, Duvo creates the matching connection and redirects the browser to the optional `returnUrl`.

  • checkMcpOAuth

    Probe an MCP server URL to discover whether it supports OAuth Dynamic Client Registration. Returns the authorization endpoint and required scopes when supported. Useful as a precursor to `/v2/teams/:team_id/connections/oauth/mcp/start` or `/v2/teams/:team_id/connections`. Perform

  • listPulseDashboards

    List your Duvo Pulse dashboards (live, agent-generated visualizations of your Duvo data). Ordered most recently updated first, except scope=automation, which is ordered by creation time (then id) so the whole scope can be read with the after_id cursor without a concurrent change

  • createPulseDashboard

    Create a new Duvo Pulse dashboard from a natural-language prompt (e.g. 'open cases by queue this week') and dispatch the first generation turn. Generation is asynchronous — poll GET /artifacts/{artifactId} until status is completed. The dashboard is private to you unless you set

  • getPulseDashboard

    Get a Duvo Pulse dashboard's metadata and generation status. When status is completed and html_code_present is true, fetch the rendered HTML from GET /artifacts/{artifactId}/render; the conversation is served by GET /artifacts/{artifactId}/messages.

  • listPulseDataSources

    Discover queues the current editor may connect to this team-created Pulse before sampling data. Requires live dashboard edit permission and ordinary team data access. Module sources are installed with the Module. A queue ID in generated code does not grant access.

  • connectPulseDataSource

    Connect an authorized same-team queue to a team-created Pulse before sampling it. Idempotent. This bounds dashboard data access; it never grants Process membership or case-action authority. Requires both edit permission and ordinary team source access.

  • disconnectPulseDataSource

    Disconnect a source from a team-created dashboard. Subsequent dashboard reads and writes immediately lose access. Idempotent; does not delete the queue or cases.

  • getPulseDashboardHtml

    Serve a Duvo Pulse dashboard's rendered HTML document (text/html, not JSON). 404 until the first generation turn has produced HTML.

  • getPulseDashboardPdf

    Render a Duvo Pulse dashboard to a PDF document (application/pdf, not JSON). 404 until the first generation turn has produced HTML; 409 for an openui dashboard, whose substrate this exporter cannot render.

  • exportPulseDashboardHtml

    Render a Duvo Pulse dashboard to a self-contained static HTML snapshot (text/html, data baked in). 404 until the first generation turn has produced HTML; 409 for an openui dashboard, whose substrate this exporter cannot render.

  • updatePulseDashboard

    Update a Duvo Pulse dashboard's settings — rename it. Only the creator can update it.

  • publishPulseDashboard

    Publish (share) a Duvo Pulse dashboard to your whole team or your whole organization, or revert it to private (creator only). When publishing, set permission to 'view' (teammates see the dashboard) or 'edit' (teammates can also iterate on it); organization-wide viewers outside th

  • deletePulseDashboard

    Delete a Duvo Pulse dashboard. Only the creator can delete it.

  • duplicatePulseDashboard

    Duplicate a Duvo Pulse dashboard, producing an idle clone of the current rendered dashboard. The conversation history, shares, and connections are not copied.

  • sendPulseDashboardMessage

    Send an instruction to iterate on a Duvo Pulse dashboard (e.g. 'make it a bar chart', 'filter to last 14 days'). The creator can always iterate; teammates can too when the Pulse is published to the team with edit access. The agent regenerates asynchronously — poll GET /artifacts/

  • createPulseDashboardAttachmentUploadUrl

    Issue a presigned upload URL for a file to attach to a Duvo Pulse dashboard message (e.g. an HTML dashboard to copy, or a screenshot to match). POST the file bytes to the returned upload_url as multipart form data under the field name 'file', then pass the returned attachment_id

  • getPulseDashboardAttachmentDownloadUrl

    Mint a short-lived presigned URL to download or preview a file attached to a Duvo Pulse dashboard message. Returns 404 once the dashboard's sandbox has expired and the file is gone (about 12 hours).

  • refreshPulseDashboard

    Trigger an on-demand data refresh of a Duvo Pulse dashboard. The dashboard regenerates its connection-sourced values in the background — poll GET /artifacts/{artifactId} for status.

  • stopPulseDashboardMessage

    Stop an in-flight Duvo Pulse generation turn. Requires edit access to the dashboard. Flips the dashboard to 'interrupted' and keeps any streamed-so-far reply; stopping when nothing is generating is a successful no-op.

  • listPulseDashboardConnections

    List the connections (data sources) attached to a Duvo Pulse dashboard (requires edit access).

  • attachPulseDashboardConnection

    Attach one of your connections (data sources) to a Duvo Pulse dashboard so the agent can use its tools (requires edit access).

  • detachPulseDashboardConnection

    Detach a connection (data source) from a Duvo Pulse dashboard (requires edit access).

  • answerPulseDashboardQuestion

    Answer a pending question the Duvo Pulse agent asked and resume the paused run (creator or team editors). Use the toolCallId from the dashboard's message transcript.

  • listPulseDashboardMessages

    List the chat transcript of a Duvo Pulse dashboard's live version (requires edit access). Returns the most recent page by default, oldest first within the page; pass `before` (a message id from a previous page) to walk back through older messages. Messages from other version bran

  • listPulseDashboardComments

    List the comment threads on a Duvo Pulse dashboard (requires view access). Each thread carries its author, the dashboard element it is pinned to, its replies oldest-first, and whether it has been marked complete.

  • createPulseDashboardComment

    Start a comment thread on a Duvo Pulse dashboard (requires view access). Pass `element` — captured from the dashboard canvas — to pin the thread to one element; omit it for a comment on the dashboard as a whole.

  • createPulseDashboardCommentReply

    Reply to a comment thread on a Duvo Pulse dashboard (requires view access). `commentId` must be a thread root; threads are one level deep. A thread already marked complete still accepts replies and stays complete.

  • setPulseDashboardCommentResolution

    Mark a Duvo Pulse dashboard comment thread complete, or reopen it (requires view access). Pass the target state in `resolved`; the call is idempotent, and the response carries the thread with `resolved_at` and `resolved_by` set or cleared.

  • deletePulseDashboardComment

    Delete a comment or reply on a Duvo Pulse dashboard. Allowed for the comment's author and for the dashboard's creator. Deleting a thread root keeps its replies, rendered under a deleted opening comment.

  • listPulseDashboardVersions

    List the version history of a Duvo Pulse dashboard, newest first (requires edit access). Use the version id with the restore and version-render endpoints.

  • getPulseDashboardVersionHtml

    Serve a specific version's rendered HTML document for a Duvo Pulse dashboard (text/html, requires edit access).

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTime
7 h agoPassed200200 ms