# Duvo MCP MCP server

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

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-duvoai-duvo
- Repository: https://github.com/duvoai/duvo-website-2026
- Website: https://www.duvo.ai

## Install
- Endpoint: https://api.duvo.ai/v1/mcp
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: Authorization (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://api.duvo.ai/v1/mcp
- Header: Authorization

## Tools
- listAgentMemoryFiles (List Agent Memory Files) - List the memory files stored for an agent. Endpoint: https://api.duvo.ai/v1/mcp
- getAgentMemoryFile (Get Agent Memory File) - Get the contents of a single memory file for an agent. Endpoint: https://api.duvo.ai/v1/mcp
- listPluginCatalog (List Plugin Catalog) - 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. Endpoint: https://api.duvo.ai/v1/mcp
- createSchedule (Create Schedule) - Create a schedule for an agent. The schedule fires against the agent's live build. The authenticated user owns the schedule. Endpoint: https://api.duvo.ai/v1/mcp
- updateSchedule (Update Schedule) - 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. Endpoint: https://api.duvo.ai/v1/mcp
- deleteSchedule (Delete Schedule) - Delete a schedule. Owners may delete their own schedules; team superadmins may delete any schedule on agents in the current team. Endpoint: https://api.duvo.ai/v1/mcp
- getTeam (Get Team) - Get a team by ID. The caller must be scoped to the requested team. Endpoint: https://api.duvo.ai/v1/mcp
- startNativeOAuth (Start Native OAuth) - 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 `return_url` (or the Duvo dashboard if none is provided). Poll `/v2/teams/:team_id/connections` to detect the new connection. Endpoint: https://api.duvo.ai/v1/mcp
- authorizeMcpOAuth (Authorize Mcp OAuth) - 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`. Endpoint: https://api.duvo.ai/v1/mcp
- checkMcpOAuth (Check Mcp OAuth) - 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`. Performs no writes. Endpoint: https://api.duvo.ai/v1/mcp
- listPulseDashboards (List Pulse Dashboards) - List your Duvo Pulse dashboards (live, agent-generated visualizations of your Duvo data), most recently updated first. Endpoint: https://api.duvo.ai/v1/mcp
- createPulseDashboard (Create Pulse Dashboard) - 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 visibility to 'team', which shares it with your whole team straight away — with permission 'view' (teammates see the dashboard) or 'edit' (teammates can also iterate on it). Endpoint: https://api.duvo.ai/v1/mcp
- getPulseDashboard (Get Pulse Dashboard) - 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. Endpoint: https://api.duvo.ai/v1/mcp
- getPulseDashboardHtml (Get Pulse Dashboard Html) - Serve a Duvo Pulse dashboard's rendered HTML document (text/html, not JSON). 404 until the first generation turn has produced HTML. Endpoint: https://api.duvo.ai/v1/mcp
- getPulseDashboardPdf (Get Pulse Dashboard Pdf) - 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. Endpoint: https://api.duvo.ai/v1/mcp
- exportPulseDashboardHtml (Export Pulse Dashboard Html) - 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. Endpoint: https://api.duvo.ai/v1/mcp
- updatePulseDashboard (Update Pulse Dashboard) - Update a Duvo Pulse dashboard's settings — rename it. Only the creator can update it. Endpoint: https://api.duvo.ai/v1/mcp
- publishPulseDashboard (Publish Pulse Dashboard) - 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 the team always get view-only access. Endpoint: https://api.duvo.ai/v1/mcp
- deletePulseDashboard (Delete Pulse Dashboard) - Delete a Duvo Pulse dashboard. Only the creator can delete it. Endpoint: https://api.duvo.ai/v1/mcp
- duplicatePulseDashboard (Duplicate Pulse Dashboard) - Duplicate a Duvo Pulse dashboard, producing an idle clone of the current rendered dashboard. The conversation history, shares, and connections are not copied. Endpoint: https://api.duvo.ai/v1/mcp
- sendPulseDashboardMessage (Send Pulse Dashboard Message) - 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/{artifactId} for status. Endpoint: https://api.duvo.ai/v1/mcp
- createPulseDashboardAttachmentUploadUrl (Create Pulse Dashboard Attachment Upload Url) - 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 in the attachments array of POST /artifacts/{artifactId}/messages. The agent reads the file directly from its sandbox. Files live as long as the dashboard's sandbox (about 12 hours), so upload shortly before sending. Endpoint: https://api.duvo.ai/v1/mcp
- getPulseDashboardAttachmentDownloadUrl (Get Pulse Dashboard Attachment Download Url) - 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). Endpoint: https://api.duvo.ai/v1/mcp
- refreshPulseDashboard (Refresh Pulse Dashboard) - 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. Endpoint: https://api.duvo.ai/v1/mcp
- stopPulseDashboardMessage (Stop Pulse Dashboard Message) - 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. Endpoint: https://api.duvo.ai/v1/mcp
- listPulseDashboardConnections (List Pulse Dashboard Connections) - List the connections (data sources) attached to a Duvo Pulse dashboard (creator only). Endpoint: https://api.duvo.ai/v1/mcp
- attachPulseDashboardConnection (Attach Pulse Dashboard Connection) - Attach one of your connections (data sources) to a Duvo Pulse dashboard so the agent can use its tools (creator only). Endpoint: https://api.duvo.ai/v1/mcp
- detachPulseDashboardConnection (Detach Pulse Dashboard Connection) - Detach a connection (data source) from a Duvo Pulse dashboard (creator only). Endpoint: https://api.duvo.ai/v1/mcp
- answerPulseDashboardQuestion (Answer Pulse Dashboard Question) - 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. Endpoint: https://api.duvo.ai/v1/mcp
- listPulseDashboardMessages (List Pulse Dashboard Messages) - 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 branches are not included. Endpoint: https://api.duvo.ai/v1/mcp
- listPulseDashboardVersions (List Pulse Dashboard Versions) - 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. Endpoint: https://api.duvo.ai/v1/mcp
- getPulseDashboardVersionHtml (Get Pulse Dashboard Version Html) - Serve a specific version's rendered HTML document for a Duvo Pulse dashboard (text/html, requires edit access). Endpoint: https://api.duvo.ai/v1/mcp
- restorePulseDashboardVersion (Restore Pulse Dashboard Version) - Restore a previous version of a Duvo Pulse dashboard, making it live again (requires edit access). Non-destructive — it moves the head pointer to the chosen version. Endpoint: https://api.duvo.ai/v1/mcp
- createSandbox (Create Sandbox) - Create a new sandbox for file uploads. The returned sandbox_id can be passed to POST /v2/teams/:team_id/runs to stage data for a run. Endpoint: https://api.duvo.ai/v1/mcp
- createSandboxUploadUrl (Create Sandbox Upload Url) - Get a presigned URL for uploading a file into a sandbox. Use for files larger than 10MB; smaller files can be uploaded directly via POST /v2/sandboxes/:sandbox_id/files. Endpoint: https://api.duvo.ai/v1/mcp
- listSandboxFiles (List Sandbox Files) - List files in a sandbox directory. Endpoint: https://api.duvo.ai/v1/mcp
- uploadSandboxFile (Upload Sandbox File) - Upload a file directly to the sandbox. Maximum file size is 10MB. For larger files, use POST /v2/sandboxes/:sandbox_id/upload-urls. Endpoint: https://api.duvo.ai/v1/mcp
- getRunEvaluation (Get Run Evaluation) - Get the latest evaluation analysis for a specific agent run (Run). Endpoint: https://api.duvo.ai/v1/mcp
- getEvalScores (Get Eval Scores) - Aggregate evaluation counts and flag distribution for an Assignment's Jobs since the given timestamp. Endpoint: https://api.duvo.ai/v1/mcp
- getEvalRubrics (Get Eval Rubrics) - List the evaluation rubrics a Run is scored against: the platform default rubrics plus the Agent-specific rubrics for a build. Defaults to the Agent's live build; pass build_id to target the revision a specific Run ran against. Endpoint: https://api.duvo.ai/v1/mcp
- createEvalRubric (Create Eval Rubric) - Add one Agent-specific evaluation rubric to a build. A build may hold at most 5 custom rubrics; this fails with 409 once that ceiling is reached. Defaults to the Agent's live build; pass build_id to target a specific revision. Endpoint: https://api.duvo.ai/v1/mcp
- replaceEvalRubrics (Replace Eval Rubrics) - Replace a build's entire Agent-specific evaluation rubric set in one call (at most 5 rubrics). Existing custom rubrics are removed and the supplied list becomes the new set; pass an empty array to clear them. Defaults to the Agent's live build; pass build_id to target a specific revision. Endpoint: https://api.duvo.ai/v1/mcp
- updateEvalRubric (Update Eval Rubric) - Edit a single Agent-specific evaluation rubric's title and/or description. The edit produces a NEW rubric (with a new id and slug) so previously scored Runs stay attributed to the original criterion; the response contains the new rubric. Endpoint: https://api.duvo.ai/v1/mcp
- deleteEvalRubric (Delete Eval Rubric) - Remove a single Agent-specific evaluation rubric. Future Runs on the build are no longer scored against it. Endpoint: https://api.duvo.ai/v1/mcp
- listAgentSchedules (List Agent Schedules) - List all schedules configured for an agent. Returns the schedules you own on this agent. Endpoint: https://api.duvo.ai/v1/mcp
- listAgentCaseTriggers (List Agent Case Triggers) - List the case triggers configured for an agent. Each trigger automatically dispatches the agent to run cases added to a queue. Endpoint: https://api.duvo.ai/v1/mcp
- previewAgentCaseTriggerConflicts (Preview Agent Case Trigger Conflicts) - Preview which other agents would conflict with this agent's case trigger if it pointed at the given queue. Does not modify the trigger. Endpoint: https://api.duvo.ai/v1/mcp
- getAgentCaseTrigger (Get Agent Case Trigger) - Retrieve a single case trigger by id. Endpoint: https://api.duvo.ai/v1/mcp
- createAgentCaseTrigger (Create Agent Case Trigger) - Create a case trigger for an agent. An agent may have at most one case trigger; this returns 409 if one already exists. Endpoint: https://api.duvo.ai/v1/mcp
- updateAgentCaseTrigger (Update Agent Case Trigger) - Update fields on a case trigger. Only the trigger creator or a builder/admin can disable an enabled trigger or change its queue, and only a builder/admin can change queue concurrency. Endpoint: https://api.duvo.ai/v1/mcp
- deleteAgentCaseTrigger (Delete Agent Case Trigger) - Delete a case trigger. Only the trigger creator or a builder/admin can delete it. Endpoint: https://api.duvo.ai/v1/mcp
- listAgentTriggers (List Agent Triggers) - List the trigger definitions the authenticated user owns on an agent (Agent in the Duvo UI). Triggers start a Run automatically when an external event fires (e.g. an email arrives or a Linear issue is created). Endpoint: https://api.duvo.ai/v1/mcp
- upsertAgentTrigger (Upsert Agent Trigger) - Create or update the authenticated user's trigger for an integration on an agent. The integration must already be connected to the agent (its OAuth connection set up in the Duvo dashboard). Set `enabled: false` to pause a trigger without deleting it. Endpoint: https://api.duvo.ai/v1/mcp
- listAgentTriggerTypes (List Agent Trigger Types) - List the trigger types available for an agent, grouped by integration. Use the returned `integration_slug` and `trigger_type` values when creating a trigger. Endpoint: https://api.duvo.ai/v1/mcp
- createAgentSlackTrigger (Create Slack Channel Trigger) - Create a Slack channel trigger on an agent (Agent in the Duvo UI): the agent starts a Run whenever a matching message is posted in the channel. An agent can carry one trigger per channel, so call this once per channel. The Slack workspace must be installed for the team AND bound to the agent's live build first (see the Slack bound-workspaces endpoint) — otherwise this returns 400. Endpoint: https://api.duvo.ai/v1/mcp
- listAgentSlackTriggers (List Slack Channel Triggers) - List the Slack channel triggers you own on an agent (Agent in the Duvo UI), oldest first. Each trigger's `filter_config` carries the watched `channelId`, `channelName`, Slack `workspaceId`, and `matchRule`. Capped at 100 triggers per agent. Endpoint: https://api.duvo.ai/v1/mcp
- updateSlackTrigger (Update Slack Channel Trigger) - Update a Slack channel trigger you own — repoint it at another channel, change which messages match, or pause and resume it with `enabled`. Only the supplied fields change. Resuming a paused trigger requires the Slack connection it runs off to still be available on the agent; changing the channel resets the trigger's seen-message state. Endpoint: https://api.duvo.ai/v1/mcp
- listAgentSlackBoundWorkspaces (List Slack Workspaces Bound To An Agent) - List the Slack workspaces bound to an agent build that you can create channel triggers for. Creating a Slack channel trigger for any other workspace is rejected, so start here to pick a valid `slack_team_id` and `integration_instance_id`. Endpoint: https://api.duvo.ai/v1/mcp
- deleteSlackTrigger (Delete Slack Channel Trigger) - Permanently delete a Slack channel trigger you own. The agent stops starting Runs for that channel. To keep the trigger but stop it firing, update it with `enabled: false` instead. Endpoint: https://api.duvo.ai/v1/mcp
- createRevision (Create Revision) - Create a new revision for an existing agent. Endpoint: https://api.duvo.ai/v1/mcp
- getRevision (Get Revision) - Get a revision by ID. Endpoint: https://api.duvo.ai/v1/mcp
- listAgentRevisions (List Agent Revisions) - List revisions for an agent. Endpoint: https://api.duvo.ai/v1/mcp
- updateRevision (Update Revision) - Update a revision's configuration, name, description, or handover targets. Returns the updated revision. Endpoint: https://api.duvo.ai/v1/mcp
- promoteRevision (Promote Revision) - Promote a draft or historic revision to the live version. The live revision is the one used by triggers and new runs. Fails if the revision is already live, or if a draft revision still has an active builder run. Endpoint: https://api.duvo.ai/v1/mcp
- getAgent (Get Agent) - Get an agent by ID. Endpoint: https://api.duvo.ai/v1/mcp
- updateAgent (Update Agent) - Update an agent's display name or delivery settings. Endpoint: https://api.duvo.ai/v1/mcp
- deleteAgent (Delete Agent) - Delete an agent and cascade-clean its schedules, case triggers, builder runs, and handover targets. Any active jobs are interrupted and their sandboxes paused. Endpoint: https://api.duvo.ai/v1/mcp
- moveAgent (Move Agent) - Move an agent (and its connected workspace) to a different team. Pass dry_run=true to preview the closure without applying changes. Endpoint: https://api.duvo.ai/v1/mcp
- listRevisionIntegrations (List Revision Integrations) - List integrations attached to an agent revision. Endpoint: https://api.duvo.ai/v1/mcp
- attachRevisionIntegrations (Attach Revision Integrations) - Attach one or more integrations to an agent revision. To pin specific connections after attachment, use pinRevisionIntegrationConnection. IMPORTANT for the case-queue-producer and case-queue-consumer integrations: attaching the integration alone is NOT enough — the slot points at no queue and will fail at runtime until you link at least one queue with replaceRevisionIntegrationQueues. After wiring up, call getRevisionCaseQueueSetup to confirm every case-queue slot has linked_queue_count > 0 before starting work. Endpoint: https://api.duvo.ai/v1/mcp
- removeRevisionIntegration (Remove Revision Integration) - Remove an integration from an agent revision. Removes the slot for everyone on the revision, including all per-user connection pins. Requires edit permission on the agent. Endpoint: https://api.duvo.ai/v1/mcp
- listRevisionIntegrationConnections (List Revision Integration Connections) - List the connections you have pinned to this build's integration slot. Multi-pin is supported: you can pin multiple connections to the same slot. Endpoint: https://api.duvo.ai/v1/mcp
- pinRevisionIntegrationConnection (Pin Revision Integration Connection) - Pin one of your connections (from GET /v2/teams/:team_id/connections) to this build's integration slot. Multi-pin is supported: a single user can pin multiple connections to the same slot. Endpoint: https://api.duvo.ai/v1/mcp
- unpinRevisionIntegrationConnection (Unpin Revision Integration Connection) - Unpin one of your connections from this build's integration slot. The connection itself is not deleted; only the binding to this slot is removed. Endpoint: https://api.duvo.ai/v1/mcp
- getRevisionCaseQueueSetup (Get Revision Case Queue Setup) - Check that this build's case-queue integration slots are wired up correctly. Returns, per case-queue-producer/consumer slot, how many queues are linked, plus whether your team owns any case queues. A slot with linked_queue_count of 0 is attached but points at no queue and will fail at runtime — link a queue with replaceRevisionIntegrationQueues before starting work. Endpoint: https://api.duvo.ai/v1/mcp
- listRevisionIntegrationQueues (List Revision Integration Queues) - List the queues linked to this build's case-queue integration slot. Only meaningful for case-queue-producer and case-queue-consumer integrations. Endpoint: https://api.duvo.ai/v1/mcp
- replaceRevisionIntegrationQueues (Replace Revision Integration Queues) - Replace the set of queues linked to this build's case-queue integration slot. Send the full desired queue list — any queues not in the list will be unlinked. Requires edit permission on the agent. After linking, call getRevisionCaseQueueSetup to confirm the slot now reports linked_queue_count > 0. Endpoint: https://api.duvo.ai/v1/mcp
- listAgentSuggestions (List Agent Suggestions) - List an Agent's suggestions. status=pending is the inbox; status=history is consumed/dismissed/auto-cleared. Reads lazily auto-clear stale pending items. Endpoint: https://api.duvo.ai/v1/mcp
- getAgentSuggestion (Get Agent Suggestion) - Fetch a single suggestion. Poll this after a 202 from consume: an AOP apply in flight reports payload.apply.state (running/failed); once consumed, applied_revision_id carries the draft revision the change was staged onto. Endpoint: https://api.duvo.ai/v1/mcp
- consumeAgentSuggestion (Consume Agent Suggestion) - Apply a suggestion: stage its change into the Agent's draft revision, then auto-clear any pending suggestions it makes moot. Endpoint: https://api.duvo.ai/v1/mcp
- rejectAgentSuggestion (Reject Agent Suggestion) - Dismiss a pending suggestion. Endpoint: https://api.duvo.ai/v1/mcp
- listSystemSkills (List System Skills) - List all system skills (skills available to all teams). Endpoint: https://api.duvo.ai/v1/mcp
- deleteSkill (Delete Skill) - Delete a skill for the current team. Endpoint: https://api.duvo.ai/v1/mcp
- downloadSkill (Download Skill) - Download a custom skill as a ZIP archive. Only custom (team-owned) skills can be downloaded. Endpoint: https://api.duvo.ai/v1/mcp
- listSkillFiles (List Skill Files) - List all files in a skill. Endpoint: https://api.duvo.ai/v1/mcp
- getSkillFileContent (Get Skill File Content) - Get the content of a file in a skill. Endpoint: https://api.duvo.ai/v1/mcp
- updateSkillFile (Update Skill File) - Update the content of a file in a skill, overwriting the active revision in place — the previous content is not recoverable. Prefer the non-destructive flow when you can: createSkillRevision to open a draft, updateSkillRevisionFile to edit it, promoteSkillRevision to activate it. Only team skills can be edited. Endpoint: https://api.duvo.ai/v1/mcp
- listSkillAssignments (List Skill Assignments) - List the agents in the current team whose live build references the given skill. Used to warn users that editing a skill will affect every agent that uses it. Endpoint: https://api.duvo.ai/v1/mcp
- listSkillRevisions (List Skill Revisions) - List a skill's version history. Each revision is a snapshot of the skill's files; at most one is active (live) at a time, plus at most one open draft. Endpoint: https://api.duvo.ai/v1/mcp
- createSkillRevision (Create Skill Revision) - Open a draft revision of a skill, copying its files from the active revision (or from `source_revision_id`). Edit the draft with updateSkillRevisionFile, then activate it with promoteSkillRevision — the previously active revision stays intact and can be re-activated later. A skill has at most one open draft: if one already exists this returns it with `created: false`. Endpoint: https://api.duvo.ai/v1/mcp
- promoteSkillRevision (Promote Skill Revision) - Make a skill revision the active (live) one. The previously active revision becomes historic and can be re-activated later. Idempotent: promoting the already-active revision succeeds rather than erroring, and still applies any revision_name / revision_description supplied in the body. Endpoint: https://api.duvo.ai/v1/mcp
- listSkillRevisionFiles (List Skill Revision Files) - List the files in a skill revision, one page at a time. When `has_more` is true, pass `next_cursor` back as `cursor` to fetch the next page. Endpoint: https://api.duvo.ai/v1/mcp
- getSkillRevisionFileContent (Get Skill Revision File Content) - Get the content of a text file in a skill revision. Endpoint: https://api.duvo.ai/v1/mcp
- updateSkillRevisionFile (Update Skill Revision File) - Write a text file into a skill revision. Writing into a draft leaves the active revision untouched until the draft is promoted; writing into the active revision changes what the skill runs immediately. Historic revisions are read-only: create a draft from one to edit it. Endpoint: https://api.duvo.ai/v1/mcp
- updateSkillRevision (Update Skill Revision) - Rename a skill revision or change its description. Works for drafts, the active revision, and historic revisions. Endpoint: https://api.duvo.ai/v1/mcp
- deleteSkillRevision (Delete Skill Revision) - Delete a draft or historic skill revision and its files. The active revision can't be deleted — activate another revision first. Endpoint: https://api.duvo.ai/v1/mcp
- getProfile (Get Profile) - Get the profile of the authenticated user (the owner of the API key). Endpoint: https://api.duvo.ai/v1/mcp
- getLegacyClarityProcess (Get Legacy Clarity Process) - Get a legacy v1 Clarity process with process metadata, generated analysis, transformation guidance, generation progress, and captures. Use this for rows from listClarityProcesses where version=1; v2 rows should use getClarityProcess and snapshot detail tools. Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityProcess (Update Clarity Process) - Update a Clarity process name, guidance, visibility, or completion status. Team Builders can edit names and guidance, only the creator or a team manager can change visibility, and completion requires a manager role. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityProcessMembers (List Clarity Process Members) - List users with accepted access to a clarity process Endpoint: https://api.duvo.ai/v1/mcp
- removeClarityProcessMember (Remove Clarity Process Member) - Remove accepted access to a clarity process Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityProcess (Delete Clarity Process) - Delete a Clarity process. The creator or a team admin can delete it unless capture analysis is still in progress. Endpoint: https://api.duvo.ai/v1/mcp
- duplicateClarityProcess (Duplicate Clarity Process) - Duplicate a Clarity process with its analysis, captures, message history, and, for v2 processes, its live current map and transformation proposal. Requires a team manager role. Endpoint: https://api.duvo.ai/v1/mcp
- createClarityVideoUploadUrl (Create Clarity Video Upload Url) - Create a signed URL for uploading a video file directly to GCS Endpoint: https://api.duvo.ai/v1/mcp
- completeClarityVideoUpload (Complete Clarity Video Upload) - Complete a video capture after uploading to GCS via signed URL Endpoint: https://api.duvo.ai/v1/mcp
- createClarityDocumentUploadUrl (Create Clarity Document Upload Url) - Create a signed URL for uploading a PDF, TXT, Markdown, or BPMN document directly to GCS Endpoint: https://api.duvo.ai/v1/mcp
- completeClarityDocumentUpload (Complete Clarity Document Upload) - Complete a document capture after uploading to GCS via signed URL Endpoint: https://api.duvo.ai/v1/mcp
- initiateClarityPhoneInterview (Initiate Clarity Phone Interview) - Initiate a phone call interview for a clarity process via ElevenLabs Endpoint: https://api.duvo.ai/v1/mcp
- inviteClarityMeetingNotetaker (Invite Clarity Meeting Notetaker) - Invite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as a 'meeting' capture on the process Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityCapture (Delete Clarity Capture) - Delete a capture from a clarity process Endpoint: https://api.duvo.ai/v1/mcp
- createClarityGuidance (Create Clarity Guidance) - Create a new transformation guidance message for a clarity process Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityGuidance (Update Clarity Guidance) - Update the transformation guidance message for a clarity process Endpoint: https://api.duvo.ai/v1/mcp
- getClarityProcessSharing (Get Clarity Process Sharing) - Get the sharing status for a clarity process Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityProcessSharing (Update Clarity Process Sharing) - Enable or disable sharing for a clarity process Endpoint: https://api.duvo.ai/v1/mcp
- getClarityProcessInviteLink (Get Clarity Process Invite Link) - Get the active interview invite link for a process. Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityProcessInviteLink (Delete Clarity Process Invite Link) - Delete the active interview invite link for a process. Endpoint: https://api.duvo.ai/v1/mcp
- getClarityProcessJoinInfo (Get Clarity Process Join Info) - Get information about a clarity interview invite link (public). Endpoint: https://api.duvo.ai/v1/mcp
- acceptClarityProcessJoin (Accept Clarity Process Join) - Accept a clarity interview invite link and gain process access. Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityLandscapeNode (Update Clarity Landscape Node) - Rename a process landscape node or update its owner label (team manager or above for team processes; organization admin for areas) Endpoint: https://api.duvo.ai/v1/mcp
- acceptClarityLandscapeNode (Accept Clarity Landscape Node) - Accept a proposed area folder into the active process landscape, so it stops being a proposal and becomes part of the real structure (organization admin+). Only area folders can be accepted; a proposed process becomes real through assignClarityLandscapeNodeTeam instead. Re-accepting an already-active area is a no-op. Endpoint: https://api.duvo.ai/v1/mcp
- declineClarityLandscapeNode (Decline Clarity Landscape Node) - Reject a proposed process landscape node while it is still a proposal, removing it and any proposed descendants. Real processes nested underneath survive and move back to Unsorted. Only proposals can be declined — an accepted node is removed with deleteClarityLandscapeNode. Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityLandscapeNode (Delete Clarity Landscape Node) - Soft-delete a tree node and its descendants. Organization admins may delete any subtree; team managers may delete a childless process node owned by their team. The targeted node's linked clarity process and captures are deleted, while nested processes detach to the Unsorted bag. Endpoint: https://api.duvo.ai/v1/mcp
- setClarityLandscapeNodePlacement (Set Clarity Landscape Node Placement) - Move a process landscape node (team manager or above for team processes; organization admin for areas) Endpoint: https://api.duvo.ai/v1/mcp
- reorderClarityLandscapeAreas (Reorder Clarity Landscape Areas) - Reorder a sibling group of the organization's process landscape area folders left-to-right — the top-level areas by default, or the folder children of parentId (organization admin+). This changes display order only; use setClarityLandscapeNodePlacement to move a node to a different parent. Endpoint: https://api.duvo.ai/v1/mcp
- assignClarityLandscapeNodeTeam (Assign Clarity Landscape Node Team) - Set the owning team of a process in the process landscape (organization admin+). On a proposed process this accepts the proposal and creates the real process for that team; on an existing process it moves the process, its captures and its brief to another team. Endpoint: https://api.duvo.ai/v1/mcp
- createClarityProcessNode (Create Clarity Process Node) - File an existing Clarity process into an area of the process landscape (team manager or organization admin+). Use this for a process that already exists but sits in Unsorted; use proposeClarityLandscapeProcess to create a brand-new one. Endpoint: https://api.duvo.ai/v1/mcp
- proposeClarityLandscapeProcess (Propose Clarity Landscape Process) - Create a manual process in the organization's Process Landscape, either as an unassigned proposal or atomically assigned to an eligible team. Endpoint: https://api.duvo.ai/v1/mcp
- batchAddClarityLandscapeNodePeople (Batch Add Clarity Landscape Node People) - Add one or more people to multiple Process Landscape nodes in a bounded batch. Email entries can create invitations; each node-person outcome reports success, conflict, or delivery failure. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityLandscapeNodePeople (List Clarity Landscape Node People) - List the people involved in the process behind one process landscape node. To read the people across the whole landscape in one request, use getClarityHierarchyPeople instead. Endpoint: https://api.duvo.ai/v1/mcp
- addClarityLandscapeNodePerson (Add Clarity Landscape Node Person) - Add a person involved in the process behind a process landscape node. Name only records a placeholder; supplying an email also gives that person access to the process and emails them an invitation, so only pass an email the user asked you to invite. Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityLandscapeNodePerson (Update Clarity Landscape Node Person) - Change the role a person plays in the process behind a process landscape node (for example "Approver"). Send role: null to clear it. Endpoint: https://api.duvo.ai/v1/mcp
- removeClarityLandscapeNodePerson (Remove Clarity Landscape Node Person) - Remove a person from the process behind a process landscape node, and revoke the process access they were granted when they were added. Endpoint: https://api.duvo.ai/v1/mcp
- acceptClarityTeamAssignmentSuggestion (Accept Clarity Team Assignment Suggestion) - Accept a pending Process Landscape team-assignment suggestion and durably assign the suggested team (manager+). Endpoint: https://api.duvo.ai/v1/mcp
- dismissClarityTeamAssignmentSuggestion (Dismiss Clarity Team Assignment Suggestion) - Dismiss a pending Process Landscape team-assignment suggestion without changing the node's owner (manager+). Endpoint: https://api.duvo.ai/v1/mcp
- acceptClarityCaptureSuggestion (Accept Clarity Capture Suggestion) - Accept a pending Process Landscape capture suggestion and create the durable capture request (manager+). Endpoint: https://api.duvo.ai/v1/mcp
- assignClarityLandscapeCaptureRequest (Assign Clarity Landscape Capture Request) - Assign an open Process Landscape capture request to a team member, or unassign it by sending userId: null (manager+). Endpoint: https://api.duvo.ai/v1/mcp
- dismissClarityCaptureSuggestion (Dismiss Clarity Capture Suggestion) - Dismiss a pending Process Landscape capture suggestion without creating a capture request (manager+). Endpoint: https://api.duvo.ai/v1/mcp
- listClarityLandscapeNodeInterviews (List Clarity Landscape Node Interviews) - List Clarity interviews linked to a process folder Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityLandscapeNodeInterview (Delete Clarity Landscape Node Interview) - Delete an organization-scoped folder interview Endpoint: https://api.duvo.ai/v1/mcp
- getClarityProcess (Get Clarity Process) - Get the v2 read model for a clarity process: the process row (with operational fields like generation_error, generation_progress, generation_started_at, generation_last_activity_at, custom_prompt), its captures, and the lightweight version arrays for both snapshot tabs. The full payload of any specific snapshot is fetched lazily via the unified per-snapshot detail endpoint (`GET .../snapshots/:kind/:id`); this read model deliberately doesn't carry it so the response stays small. Endpoint: https://api.duvo.ai/v1/mcp
- getClarityCapture (Get Clarity Capture) - Get a single Clarity v2 capture including full transcript and video transcript. Use this when the process was loaded with captures=lite, or when only one capture's transcript is needed. Endpoint: https://api.duvo.ai/v1/mcp
- postprocessClaritySnapshot (Postprocess Clarity Snapshot) - Re-run postprocessing agents on an existing v2 clarity snapshot. Targets either the current-process snapshot or the transformation-proposal snapshot, identified by id in the body. Flips the process status to `generating` and returns 202 immediately; agents run asynchronously and flip the status back to `review` once they settle. Endpoint: https://api.duvo.ai/v1/mcp
- buildClarityAutomation (Build Clarity Automation) - Hand a transformation proposal for a v2 clarity process off to the workflow-builder pipeline. Builds from `transformation_proposal_id` when supplied, otherwise from the process's live proposal. The proposal id is the durable idempotency key, so retries return the same run and a different proposal starts a new run. Returns 202 while the LLM run completes asynchronously, or 409 when the resolved proposal is still being written. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityExtraCaptureRequests (List Clarity Extra Capture Requests) - List active extra-capture requests for a given transformation proposal of a Clarity v2 process. The caller is expected to know the proposal id from the V2 read model and skip the call when no proposal exists yet. Endpoint: https://api.duvo.ai/v1/mcp
- assignClarityExtraCaptureRequest (Assign Clarity Extra Capture Request) - Assign (or unassign, with `user_id: null`) a team member to fulfil an extra-capture request. Restricted to admins and managers. Endpoint: https://api.duvo.ai/v1/mcp
- createClarityInviteLink (Create Clarity Invite Link) - Create or regenerate a process-scoped Clarity interview invite link. Only the process creator or team managers can create invite links; creating a new link invalidates any prior active link for the process. Endpoint: https://api.duvo.ai/v1/mcp
- createClarityArtifactImportUploadUrl (Create Clarity Artifact Import Upload Url) - Create a signed upload URL for importing a Miro export into a Clarity v2 process. Supports SVG, XML, PNG, and JPEG exports. The caller must upload the file to the returned URL, then complete the import. Endpoint: https://api.duvo.ai/v1/mcp
- completeClarityArtifactImport (Complete Clarity Artifact Import) - Complete a Miro artifact import after uploading to the signed URL. The uploaded bytes are validated before the import becomes a usable Clarity capture. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityArtifactChatConversations (List Clarity Artifact Chat Conversations) - List the current user's recent non-deleted artifact-chat conversations for a Clarity v2 process and snapshot kind. Endpoint: https://api.duvo.ai/v1/mcp
- getClarityArtifactChatMessages (Get Clarity Artifact Chat Messages) - Load the latest artifact-chat messages for one active conversation, returned oldest-first. Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityArtifactChatConversation (Delete Clarity Artifact Chat Conversation) - Soft-delete an open or running artifact-chat conversation for the current user. Endpoint: https://api.duvo.ai/v1/mcp
- stopClarityArtifactChatConversation (Stop Clarity Artifact Chat Conversation) - Stop an in-flight artifact-chat turn. Flips the conversation back to `open` first so the interrupted run's late webhooks are dropped as stale, then best-effort interrupts the cc-server execution. Endpoint: https://api.duvo.ai/v1/mcp
- upgradeClarityProcess (Upgrade Clarity Process) - Move a v1 clarity process into v2. Rows with generated analysis are reset in place and regenerated; rows without analysis migrate in place when not generating. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityProcessSnapshots (List Clarity Process Snapshots) - List lightweight Clarity v2 process snapshots for one kind. Endpoint: https://api.duvo.ai/v1/mcp
- getClarityProcessSnapshot (Get Clarity Process Snapshot) - Fetch the full payload for a Clarity v2 process snapshot of either kind. Endpoint: https://api.duvo.ai/v1/mcp
- saveClarityProcessSnapshot (Save Clarity Process Snapshot) - Save user edits as the live Clarity v2 snapshot for the selected kind. Endpoint: https://api.duvo.ai/v1/mcp
- promoteClarityProcessSnapshot (Promote Clarity Process Snapshot) - Promote a draft or historic Clarity v2 snapshot to live for its kind. Endpoint: https://api.duvo.ai/v1/mcp
- revertClarityProcessSnapshot (Revert Clarity Process Snapshot) - Archive a Clarity v2 snapshot of either kind. If the live row is archived, the repository auto-promotes the latest historic row of the same kind. Endpoint: https://api.duvo.ai/v1/mcp
- generateClarityProcessSnapshot (Generate Clarity Process Snapshot) - Trigger a snapshot generation pipeline for a v2 clarity process, selected by kind. `current_process` runs the generateCurrentProcess pipeline (body fields are proposal-only and rejected); `transformation_proposal` runs the generate or regenerate proposal pipeline. Returns 202 immediately and finalises asynchronously via the cc-server webhook stream. Endpoint: https://api.duvo.ai/v1/mcp
- stopClarityProcessSnapshot (Stop Clarity Process Snapshot) - Stop an in-flight snapshot generation for the selected kind. Reads the sandbox id from the process row, kills the sandbox, flips the process back to `review`, and clears the sandbox marker so any late webhook from the killed run is dropped as stale. Endpoint: https://api.duvo.ai/v1/mcp
- inviteOrgMember (Invite Org Member) - Invite a person to an organization you administer, optionally assigning them to a team in that organization. Requires an organization Admin, Executive, or Owner role. You cannot grant a role higher than your own. Endpoint: https://api.duvo.ai/v1/mcp
- listOrgTeams (List Org Teams) - List teams belonging to an organization you are a member of, including your membership and role in each. Endpoint: https://api.duvo.ai/v1/mcp
- getOrgInsightsHeadline (Get Org Insights Headline) - Get org-wide headline insight KPIs (run totals, success rate, distinct active agents and users) aggregated across every team in the organization. Requires an organization Admin, Executive, or Owner role. Endpoint: https://api.duvo.ai/v1/mcp
- getOrgInsightsMetrics (Get Org Insights Metrics) - Get org-level insights metrics (runs, assignments, schedules) broken down per team across the organization. Requires an organization Admin, Executive, or Owner role. Endpoint: https://api.duvo.ai/v1/mcp
- getOrgInsightsUsageChart (Get Org Insights Usage Chart) - Get org-level run-volume buckets (scheduled vs on-demand) at day/week/month granularity across the organization. Requires an organization Admin, Executive, or Owner role. Endpoint: https://api.duvo.ai/v1/mcp
- createOrgTeam (Create Org Team) - Create a new team under an organization you administer. Requires an organization Admin, Executive, or Owner role. Endpoint: https://api.duvo.ai/v1/mcp
- organizeClarityProcessLandscape (Organize Clarity Process Landscape) - Start an asynchronous organization pass over the organization's unfiled processes, placing them into the Process Landscape where possible (organization admin+). Results appear progressively; started is false when there is nothing to organize. Endpoint: https://api.duvo.ai/v1/mcp
- getClarityProcessTree (Get Clarity Process Tree) - Fetch the organization's process tree, or the subtree under rootId Endpoint: https://api.duvo.ai/v1/mcp
- getClarityProcessLandscape (Get Clarity Process Landscape) - Fetch the organization's full process landscape with process summaries, team assignments, and page-level stats Endpoint: https://api.duvo.ai/v1/mcp
- getClarityHierarchyPeople (Get Clarity Hierarchy People) - List the people attached to every authorized linked process node in the organization's Process Landscape. Returns a flat list where each person carries `nodeId` and `processId`, plus their role, invite status, and capture count. `truncated` is true when the node subtree or any single process roster was capped. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityLandscapeCaptures (List Clarity Landscape Captures) - List the organization's Process Landscape captures. By default, only captures eligible to seed new process proposals are returned; excluded captures can be included for inspection. Endpoint: https://api.duvo.ai/v1/mcp
- generateClarityProcessLandscape (Generate Clarity Process Landscape) - Start a process-landscape generation run for the organization from its eligible Clarity captures (organization executives and owners) Endpoint: https://api.duvo.ai/v1/mcp
- createClarityLandscapeNode (Create Clarity Landscape Node) - Create an area folder in the process tree. An active area (the default) requires organization admin+; a "proposal" area may be added by any organization member. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityProcessLinks (List Clarity Process Links) - List process-to-process links in the organization's Clarity landscape that are visible within the caller's team access scope. Use `node_id` to find links touching a specific process node. Endpoint: https://api.duvo.ai/v1/mcp
- createClarityProcessLink (Create Clarity Process Link) - Create a process-to-process link in the organization's Clarity landscape when the caller can manage both endpoint teams. If the same live source, target, and type already exists, the existing link is returned. Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityProcessLink (Update Clarity Process Link) - Update a process-to-process link in the organization's Clarity landscape when the caller can manage both endpoint teams. Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityProcessLink (Delete Clarity Process Link) - Delete a process-to-process link from the organization's Clarity landscape when the caller can manage both endpoint teams. Endpoint: https://api.duvo.ai/v1/mcp
- setClarityLandscapePriorities (Set Clarity Landscape Priorities) - Set or clear heatmap priorities in one batch (team managers for their processes; organization admin+ across the organization) Endpoint: https://api.duvo.ai/v1/mcp
- listClarityOrganizationInterviews (List Clarity Organization Interviews) - List Clarity interviews across an organization Endpoint: https://api.duvo.ai/v1/mcp
- getClarityOrganizationInterview (Get Clarity Organization Interview) - Load a single organization Clarity interview with transcript Endpoint: https://api.duvo.ai/v1/mcp
- inviteClarityOrganizationNotetaker (Invite Clarity Organization Notetaker) - Invite the in-meeting notetaker bot (Recall.ai) to a live meeting; the recording lands as an organization Clarity interview Endpoint: https://api.duvo.ai/v1/mcp
- finalizeClarityOrganizationInterview (Finalize Clarity Organization Interview) - Manually mark an in-progress organization interview as complete without requiring final media uploads Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityOrganizationInterview (Update Clarity Organization Interview) - Rename an organization-level Clarity interview Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityOrganizationInterview (Delete Clarity Organization Interview) - Delete an organization-level Clarity interview Endpoint: https://api.duvo.ai/v1/mcp
- createClarityOrganizationDocumentUploadUrl (Create Clarity Organization Document Upload Url) - Create a signed URL for uploading a PDF, TXT, Markdown, or BPMN document as an organization-level Clarity capture Endpoint: https://api.duvo.ai/v1/mcp
- completeClarityOrganizationDocumentUpload (Complete Clarity Organization Document Upload) - Complete an organization document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation Endpoint: https://api.duvo.ai/v1/mcp
- listMyOrganizations (List My Organizations) - List the organizations the current user belongs to, with their role (organization:member, organization:admin, organization:owner, or organization:executive) and member count in each. Use this to check whether the user has an admin-or-above role before calling organization-scoped endpoints, which reject lower roles with 403. Endpoint: https://api.duvo.ai/v1/mcp
- getClarityExport (Get Clarity Export) - Get a Clarity export run by ID Endpoint: https://api.duvo.ai/v1/mcp
- getQueue (Get Queue) - Get a queue by ID. Endpoint: https://api.duvo.ai/v1/mcp
- updateQueue (Update Queue) - Update a queue. Endpoint: https://api.duvo.ai/v1/mcp
- deleteQueue (Delete Queue) - Delete a queue. Interrupts all associated active runs first and returns the number of deleted cases plus the IDs of runs that were stopped. Endpoint: https://api.duvo.ai/v1/mcp
- getCase (Get Case) - Get a case by ID. Returns the case, its event history, and every case-approval batch ever created on the case (newest first). Endpoint: https://api.duvo.ai/v1/mcp
- updateCase (Update Case) - Edit a case's title and/or its free-form data payload. Provide at least one field. Works on pending, in-progress, and settled cases. Other attributes (status, priority, labels) have their own dedicated endpoints. Returns the updated case with its event history and approval batches. Endpoint: https://api.duvo.ai/v1/mcp
- listCaseRuns (List Case Runs) - List Runs (agent runs) that have claimed or received handover of a case, newest first. Capped at 50 ownership events. Endpoint: https://api.duvo.ai/v1/mcp
- listCaseRunRecentMessages (List Case Run Recent Messages) - Return the latest qualifying messages (assistant text + tool calls) for a Run on a case, newest last. Used to populate the live body of an active Run card in the case Activity timeline. Endpoint: https://api.duvo.ai/v1/mcp
- deleteCase (Delete Case) - Delete a case. Interrupts any associated active runs first. Endpoint: https://api.duvo.ai/v1/mcp
- bulkReprocessCases (Bulk Reprocess Cases) - Re-process multiple cases on a chosen agent. Any active runs on the selected cases are interrupted first; the cases are then reset to pending and assigned to the chosen agent for the next dispatcher tick. The chosen agent must already be connected to the queue as a case-queue-consumer (with the trigger enabled or disabled). Endpoint: https://api.duvo.ai/v1/mcp
- bulkUpdateCaseStatus (Bulk Update Case Status) - Update the status of multiple cases to pending, completed, failed, or canceled. Interrupts any active runs and releases their case ownership, but never cancels their human-in-the-loop state — pending requests and open approval batches stay answerable/resolvable from the run view. Resetting to pending re-dispatches cases to the queue's trigger consumer. Endpoint: https://api.duvo.ai/v1/mcp
- bulkUpdateCasePriority (Bulk Update Case Priority) - Set the priority of multiple cases. Priority only affects the order pending cases are picked up in: due postponed cases are handled first, then higher priority. It never interrupts runs or changes case status. Set `none` to clear priority back to the default. Endpoint: https://api.duvo.ai/v1/mcp
- assignCaseLabels (Assign Case Labels) - Assign one or more labels to a case. Creates the labels on the queue if they don't already exist. Endpoint: https://api.duvo.ai/v1/mcp
- listCaseLabels (List Case Labels) - List all labels assigned to a case. Endpoint: https://api.duvo.ai/v1/mcp
- listQueueLabels (List Queue Labels) - List every label defined on a queue along with the count of cases each label is assigned to. Endpoint: https://api.duvo.ai/v1/mcp
- unlinkCaseLabels (Unlink Case Labels) - Remove the given labels from a case. Endpoint: https://api.duvo.ai/v1/mcp
- createQueueLabel (Create Queue Label) - Create a label on a queue without assigning it to a case. Endpoint: https://api.duvo.ai/v1/mcp
- deleteQueueLabel (Delete Queue Label) - Delete a label from a queue. Cascade-deletes all assignments of this label on existing cases. Endpoint: https://api.duvo.ai/v1/mcp
- updateQueueLabel (Update Queue Label) - Update a label's key, value, or color. Renaming key/value affects every case assigned to this label. Endpoint: https://api.duvo.ai/v1/mcp
- listQueueAgents (List Queue Agents) - List agents bound to a queue as producers (agents that push cases into the queue) or consumers (agents triggered by cases in the queue). Endpoint: https://api.duvo.ai/v1/mcp
- listCases (List Cases) - List cases in a queue. Supports status, date-range, and free-text filters via query params. Set count_only=true to skip Case row selection and transformation. The normal response shape is returned with cases: [] and the matching total. For label filters, use POST /v2/queues/:queue_id/cases/search. Endpoint: https://api.duvo.ai/v1/mcp
- searchCases (Search Cases) - Search cases in a queue with rich filters (multi-status, date ranges, label-based filters). Use this when the simple query-string filters on GET /v2/queues/:queue_id/cases aren't enough. Set count_only=true to skip Case row selection, enrichment, and transformation. The normal response shape is returned with cases: [] and the matching total. Endpoint: https://api.duvo.ai/v1/mcp
- createCases (Create Cases) - Create one or more cases in a queue. Provide either a single `case` object or a `cases` array (1-100); providing both returns 400. Each case accepts a title (max 500 chars), optional free-form `data`, optional labels that will be assigned to the case on creation (missing labels are created on the queue), and an optional priority (`none`, `medium`, or `high`; `medium`/`high` raise it above the default in the queue, `none` is the default). Priority only affects the order pending cases are picked up in: due postponed cases are handled first, then higher priority. Endpoint: https://api.duvo.ai/v1/mcp
- getRun (Get Run) - Get information about an agent run. Can be polled to check status. Endpoint: https://api.duvo.ai/v1/mcp
- postRunMessage (Post Run Message) - Post a message to an agent run. This will persist the message and resume the agent execution if the run is in a resumable state (waiting, completed, or interrupted). Endpoint: https://api.duvo.ai/v1/mcp
- listRunMessages (List Run Messages) - Get paginated messages for an agent run. Messages are returned in chronological order. Endpoint: https://api.duvo.ai/v1/mcp
- respondToHumanRequest (Respond To Human Request) - Respond to a human-in-the-loop request. Use 'approved' (true/false) for approval-type requests, or 'answers' ({question: answer}) for question-type requests. Only works when the run is in 'waiting' status. Endpoint: https://api.duvo.ai/v1/mcp
- stopRun (Stop Run) - Stop an agent run. No-op if the run is not currently running. Endpoint: https://api.duvo.ai/v1/mcp
- listMyTeams (List My Teams) - List teams the authenticated caller can act on. Team-scoped API keys see only the key's team; user-scoped API keys and OAuth callers see every team they're a member of. Endpoint: https://api.duvo.ai/v1/mcp
- updateAgentFolder (Update Agent Folder) - Rename an agent folder or move it to a new parent. Endpoint: https://api.duvo.ai/v1/mcp
- deleteAgentFolder (Delete Agent Folder) - Delete an agent folder. If the folder contains assignments or subfolders, pass `force=true` to delete it and move the contained assignments to the root level. Endpoint: https://api.duvo.ai/v1/mcp
- getConnection (Get Connection) - Get one of your connections by ID. Endpoint: https://api.duvo.ai/v1/mcp
- getConnectionCredentials (Get Connection Credentials) - Get the header keys configured for a connection. Sensitive values (api keys, tokens, passwords) are returned as empty strings — the response only reveals which credential fields are set, never their values. Endpoint: https://api.duvo.ai/v1/mcp
- updateConnection (Update Connection) - Update an existing connection. For sensitive header values, sending an empty string keeps the existing value; send a new value to overwrite. Toggling `shared` moves the connection between personal and team-shared. Endpoint: https://api.duvo.ai/v1/mcp
- deleteConnection (Delete Connection) - Delete a connection (disconnects the user's connection and removes any triggers bound to it). Endpoint: https://api.duvo.ai/v1/mcp
- deleteCustomIntegration (Delete Custom Integration) - Delete a custom integration type (team-level catalog entry) and cascade-remove related connections. Requires manager-or-above role. Endpoint: https://api.duvo.ai/v1/mcp
- getSecret (Get Secret) - Get an env-var secret by id. Returns metadata and env var keys; secret values are never exposed. Endpoint: https://api.duvo.ai/v1/mcp
- updateSecret (Update Secret) - Update an env-var secret. Send `values` to replace all entries, or any of `rename_keys`, `remove_keys`, `add_values` for a non-destructive patch. Editing a team-shared secret or toggling sharing requires manager role. Endpoint: https://api.duvo.ai/v1/mcp
- deleteSecret (Delete Secret) - Soft-delete an env-var secret. Deleting a team-shared secret requires manager role. Endpoint: https://api.duvo.ai/v1/mcp
- listRevisionSecrets (List Revision Secrets) - List env-var secrets attached to a specific revision (build) of an assignment. Returns metadata and env-var keys only — secret values are never exposed. Endpoint: https://api.duvo.ai/v1/mcp
- attachRevisionSecret (Attach Revision Secret) - Attach an env-var secret to a revision so its keys are injected into Runs spawned from that revision. Personal secrets can only be attached by their owner; team-shared secrets require builder permissions. Endpoint: https://api.duvo.ai/v1/mcp
- detachRevisionSecret (Detach Revision Secret) - Detach an env-var secret from a revision. Personal secrets can only be detached by their owner; team-shared secrets require builder permissions. Endpoint: https://api.duvo.ai/v1/mcp
- listRevisionLogins (List Revision Logins) - List logins attached to a specific revision (build) of an assignment. Returns metadata only — passwords and OTP secrets are never exposed. Endpoint: https://api.duvo.ai/v1/mcp
- attachRevisionLogin (Attach Revision Login) - Attach a login to a revision so the agent can use it during Runs spawned from that revision. Personal logins can only be attached by their owner; team-shared logins require builder permissions. Endpoint: https://api.duvo.ai/v1/mcp
- detachRevisionLogin (Detach Revision Login) - Detach a login from a revision. Personal logins can only be detached by their owner; team-shared logins require builder permissions. Endpoint: https://api.duvo.ai/v1/mcp
- getNotification (Get Notification) - Get a single notification by id for the authenticated user. Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- markNotificationRead (Mark Notification Read) - Mark a notification as read for the authenticated user. Idempotent — calling it again on an already-read notification still returns success. Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- dismissNotification (Dismiss Notification) - Dismiss an important notification for the authenticated user, unpinning their own row from the Important section. Only important notifications (currently: connection_broken) can be dismissed. Idempotent. Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityProcessLabels (List Clarity Process Labels) - List process tags available in an organization. Endpoint: https://api.duvo.ai/v1/mcp
- createClarityProcessLabel (Create Clarity Process Label) - Create process tags for an organization. Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityProcessLabel (Update Clarity Process Label) - Update process tags for an organization. Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityProcessLabel (Delete Clarity Process Label) - Delete process tags from an organization. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityProcessAssignedLabels (List Clarity Process Assigned Labels) - List process tags on a process. Endpoint: https://api.duvo.ai/v1/mcp
- assignClarityProcessLabels (Assign Clarity Process Labels) - Assign process tags to a process. Endpoint: https://api.duvo.ai/v1/mcp
- unlinkClarityProcessLabels (Unlink Clarity Process Labels) - Remove process tags from a process. Endpoint: https://api.duvo.ai/v1/mcp
- listAvailableClarityProcessLabels (List Available Clarity Process Labels) - List process tags available for a process. Endpoint: https://api.duvo.ai/v1/mcp
- listAgents (List Agents) - List agents for your team. Endpoint: https://api.duvo.ai/v1/mcp
- createAgent (Create Agent) - Create a new agent. Optionally include a build configuration to create the first build in the same request. Endpoint: https://api.duvo.ai/v1/mcp
- listAgentFolders (List Agent Folders) - List all agent folders for the authenticated team. Endpoint: https://api.duvo.ai/v1/mcp
- createAgentFolder (Create Agent Folder) - Create a new agent folder. Endpoint: https://api.duvo.ai/v1/mcp
- moveAgentsToFolder (Move Agents To Folder) - Move one or more agents (assignments) into a folder, or to the root level. Endpoint: https://api.duvo.ai/v1/mcp
- listQueues (List Queues) - List queues for your team. Endpoint: https://api.duvo.ai/v1/mcp
- createQueue (Create Queue) - Create a new queue. Endpoint: https://api.duvo.ai/v1/mcp
- listRuns (List Runs) - List runs for the current team. Supports filtering by agent, user, queue, status, etc. Messages, evaluation data, and queue metadata are included where available. Set count_only=true to skip Run row selection and enrichment. The normal response shape is returned with data: [] and the matching total. Endpoint: https://api.duvo.ai/v1/mcp
- startRun (Start Run) - Start a new agent run. Returns immediately with run info - does not wait for completion. Endpoint: https://api.duvo.ai/v1/mcp
- listSkills (List Skills) - List all skills for the current team, including system skills. Endpoint: https://api.duvo.ai/v1/mcp
- createSkill (Create Skill) - Create or update a skill from a JSON body. The server constructs SKILL.md from the provided fields and stores it. If a skill with the same name already exists in the team, it is updated. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityProcesses (List Clarity Processes) - List Clarity processes for the current team, most recently updated first. Returns lightweight metadata (capture counts, contributors, status) suitable for building a picker; the per-process read model is available via `GET /v2/teams/:team_id/clarity-v2/processes/:process_id` for v2 rows and `GET /v2/teams/:team_id/clarity/processes/:id` for legacy v1 rows. Both v1 (legacy) and v2 processes are returned by default; use `search`, `status`, and `version` to narrow discovery. Capped at 100 per page. Endpoint: https://api.duvo.ai/v1/mcp
- listClarityProcessSummaries (List Clarity Process Summaries) - Cross-process portfolio digest for every completed Clarity process on the team: per-process summary, SWOT, projected impact, and a step skeleton (role, system, and flow edges) — without step prose or source excerpts. Paginated (default 5, max 10). Use this to answer portfolio-wide questions in one pass; fetch a single process's full detail via getClarityProcessSnapshot only for the few that matter. Endpoint: https://api.duvo.ai/v1/mcp
- createClarityProcess (Create Clarity Process) - Create a new Clarity v2 process for the current team (Builder+). Optional `name` defaults server-side when omitted. Response uses camelCase `createdAt` to match existing FE clients. Endpoint: https://api.duvo.ai/v1/mcp
- listFiles (List Files) - List files for the current team. Endpoint: https://api.duvo.ai/v1/mcp
- createFileUploadUrl (Create File Upload Url) - Generate a signed URL for uploading a file directly to GCS. Endpoint: https://api.duvo.ai/v1/mcp
- renameFile (Rename File) - Rename a file in team storage. Endpoint: https://api.duvo.ai/v1/mcp
- deleteFile (Delete File) - Delete a file from team storage. Endpoint: https://api.duvo.ai/v1/mcp
- getFileDownloadUrl (Get File Download Url) - Generate a signed download URL for a file. Endpoint: https://api.duvo.ai/v1/mcp
- getFileContent (Get File Content) - Get the content of a text file. Endpoint: https://api.duvo.ai/v1/mcp
- updateFileContent (Update File Content) - Update the content of a text file. Endpoint: https://api.duvo.ai/v1/mcp
- listIntegrations (List Integrations) - List the team's integration catalog: built-in integration types plus any custom connection types defined for the team. OAuth authorization flows are browser-based and cannot be performed via this API; use the Duvo dashboard to complete OAuth-based connections. Endpoint: https://api.duvo.ai/v1/mcp
- createCustomIntegration (Create Custom Integration) - Create a custom integration type (team-level catalog entry) that users can then connect as user-provided MCP connections. Requires manager-or-above role. Endpoint: https://api.duvo.ai/v1/mcp
- listConnections (List Connections) - List the authenticated user's connections (connected integration instances) for the current team. Includes team-shared instances visible to the caller when the org-level Connections sharing setting is on. Filter by integration type with the `type` query parameter. Endpoint: https://api.duvo.ai/v1/mcp
- createConnection (Create Connection) - Create a new user-provided connection (custom MCP server) for the current team. OAuth-based integrations (native) require an interactive browser flow — start them with the dedicated OAuth endpoints (`/v2/teams/:team_id/connections/oauth/native/:provider/start` or `/v2/teams/:team_id/connections/oauth/mcp/start`) instead of calling this endpoint directly. Endpoint: https://api.duvo.ai/v1/mcp
- probeMcpServer (Probe an MCP server for available tools) - Probe an MCP server URL and list the tools it exposes. Useful as a dry-run before creating a connection — verifies the URL is reachable, that authentication headers (if any) are correct, and surfaces the tool catalog. Performs no writes; sits alongside `/v2/teams/:team_id/connections/oauth/mcp/check` (which probes the same URL for OAuth support). Endpoint: https://api.duvo.ai/v1/mcp
- listSecrets (List Secrets) - List env-var secrets visible to the caller — team-shared (user_id IS NULL) plus the caller's own personal entries. Returns metadata and env-var keys only; secret values are never exposed. Endpoint: https://api.duvo.ai/v1/mcp
- createSecret (Create Secret) - Create an env-var secret. Personal by default; pass `shared: true` to create a team-shared secret (requires manager role). Endpoint: https://api.duvo.ai/v1/mcp
- createTeamInvite (Create Team Invite) - Invite one person to a team. Pass `processId` to invite them to a specific Clarity process instead of the whole team (that requires the `team:clarity-member` role). Creating the invitation does NOT email anyone — call sendTeamInviteEmail with the returned id to deliver it, or use bulkCreateTeamInvites, which creates and emails in one step. Endpoint: https://api.duvo.ai/v1/mcp
- deleteTeamInvite (Delete Team Invite) - Revoke an invitation so its link and email can no longer be used. Accepts either a team invitation (requires Superadmin or above on the invitation's team) or a Clarity process invitation (requires the process creator or a team admin). Revoking one side also revokes its linked counterpart when a process invitation created both. Endpoint: https://api.duvo.ai/v1/mcp
- sendTeamInviteEmail (Send Team Invite Email) - Email an invitation to its recipient. Use this to deliver an invitation created by createTeamInvite (which never sends mail on its own), or to resend one the recipient never received. The accept link is always built from the server-configured app origin. Endpoint: https://api.duvo.ai/v1/mcp
- bulkCreateTeamInvites (Bulk Create Team Invites) - Invite several people to a team in one call, emailing each invitation immediately. Returns per-batch counts: `succeeded` were invited, `skipped` were already on the team, already had a pending invitation, or were a duplicate of an earlier entry in the same batch, `failed` could not be emailed (those invitations are rolled back). The accept link is always built from the server-configured app origin. Endpoint: https://api.duvo.ai/v1/mcp
- updateTeamInvite (Update Team Invite) - Change the role on a pending team invitation. Only pending invitations can be updated — one already accepted or declined is rejected. Requires the Manager role or above on the invitation's own team. Endpoint: https://api.duvo.ai/v1/mcp
- getTeamInviteLink (Get Team Invite Link) - Get the team's shareable invite link — the one URL anyone can use to join the team, as opposed to a per-person invitation. Returns `hasLink: false` when no link has been created. Requires the Manager role or above. Endpoint: https://api.duvo.ai/v1/mcp
- createTeamInviteLink (Create Team Invite Link) - Create or regenerate the team's shareable invite link — the one URL anyone can use to join the team. Regenerating invalidates the previous link, so anyone still holding the old URL can no longer join. Requires the Manager role or above. Endpoint: https://api.duvo.ai/v1/mcp
- deleteTeamInviteLink (Delete Team Invite Link) - Delete the team's shareable invite link so the URL stops working. Per-person invitations are unaffected. Requires the Manager role or above. Endpoint: https://api.duvo.ai/v1/mcp
- listNotifications (List Notifications) - List notifications for the authenticated user's current team, most recent first. Filter with type, unread, severity or minSeverity (mutually exclusive), important, agentRunId, or processId; paginate with limit/cursor. Pass batchId to list only the live members of a notification batch, optionally ordered by sort=importance (only valid together with batchId). Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- getNotificationFeed (Get Notification Feed) - List the notification feed for the authenticated user's current team, most recent activity first. Each item is either an individual notification or a notification batch (a per-agent group of job_issue/eval_issue/job_done/schedule_issue notifications). Filter with type, unread, and either severity (exact match) or minSeverity (threshold; the two are mutually exclusive); paginate with limit/cursor. Either severity filter also narrows a surfaced batch's counts to its qualifying members, and hides a batch with no qualifying live member. The feed is eventually consistent — a batch's counts can lag a concurrent write by one page fetch. Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- getNotificationBatch (Get Notification Batch) - Get a single notification batch by id for the authenticated user, with per-type live-member counts, unread count, and worst severity. Serves cold deep links and sidebar retention for batches the caller can no longer see in the feed. Counts every live member by default; the optional type/severity/minSeverity filters narrow them to matching members only, exactly as the feed narrows a batch row it returns under the same filters. Requires the Notification Center feature; returns 404 when it is not enabled for the team, the batch does not exist, it belongs to another recipient/team, or no live member matches the given filters. Endpoint: https://api.duvo.ai/v1/mcp
- markNotificationBatchRead (Mark Notification Batch Read) - Mark every unread live member of a notification batch as read for the authenticated user. Pass `types` to narrow the mark-read to those member types, and `severity` (exact) or `minSeverity` (threshold, mutually exclusive with `severity`) to narrow it by urgency — e.g. the page's active filters; omit them to mark every live member. Narrowing matters when the batch card was rendered under a filter: the rows marked read should be the rows the card counted. Returns the count of members that were updated. Requires the Notification Center feature; returns 404 when it is not enabled for the team or the batch does not exist or belongs to another recipient/team. Endpoint: https://api.duvo.ai/v1/mcp
- getUnreadNotificationCount (Get Unread Notification Count) - Get the unread notification count for the authenticated user's current team. Each notification batch with unread members counts as 1, regardless of its member count. Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- getNotificationCounts (Get Notification Counts) - Per-type notification counts for the authenticated user's current team. Narrow with `unread`, and with either `severity` (counts only that exact severity) or `minSeverity` (counts that urgency and above) — the two are mutually exclusive and a request carrying both is rejected with 400. Pass the same filters the feed is showing, so the counts describe the list the reader would land on. Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- markAllNotificationsRead (Mark All Notifications Read) - Mark all notifications as read for the authenticated user's current team. Returns the count of notifications that were updated. Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- deleteReadNotifications (Delete Read Notifications) - Soft-delete all read notifications for the authenticated user's current team. Returns the count of notifications that were deleted. Destructive — only call on explicit user request. Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- deleteAllNotifications (Delete All Notifications) - Soft-delete all notifications for the authenticated user's current team, read or unread. Returns the count of notifications that were deleted. Destructive — only call on explicit user request, never bulk-delete unprompted. Requires the Notification Center feature; returns 404 when it is not enabled for the team. Endpoint: https://api.duvo.ai/v1/mcp
- listTeamMembers (List Team Members) - List members of a team. The authenticated session or API key must be scoped to the requested team. Endpoint: https://api.duvo.ai/v1/mcp
- updateTeamMemberRole (Update Team Member Role) - Update an existing team member's role. Requires the Manager role or above; only an Owner may grant or remove the Owner role, and the last remaining Owner cannot be demoted. A member whose Owner role is inherited from the organization cannot be changed here. Endpoint: https://api.duvo.ai/v1/mcp
- removeTeamMember (Remove Team Member) - Remove a member from a team. Removing another member requires the Superadmin role or above; any member may remove themselves (leaving the team). The last remaining Owner cannot be removed, and a member whose Owner role is inherited from the organization can only leave voluntarily. Endpoint: https://api.duvo.ai/v1/mcp
- listTeamInvites (List Team Invites) - List a team's pending invitations — everyone invited who has not yet accepted or declined. Pass `processId` to list the pending invitations for a single Clarity process instead. Endpoint: https://api.duvo.ai/v1/mcp
- listCredentials (List credentials for user and team) - List browser-login credentials visible to the caller for the current team — team-shared (user_id IS NULL) plus the caller's own personal logins. Optionally filter by `domain`. Passwords and OTP secrets are never returned; only metadata flags indicating whether they are set. Endpoint: https://api.duvo.ai/v1/mcp
- createCredential (Create credential) - Create a login. At least one of `password` or `otp_secret` must be provided. Personal by default; pass `shared: true` to create a team-shared login (requires manager role). Endpoint: https://api.duvo.ai/v1/mcp
- getCredential (Get credential by id) - Get a login by id. Returns the encrypted password/otp_secret blobs — only the owner or team members can access it. Endpoint: https://api.duvo.ai/v1/mcp
- updateCredential (Update credential by id) - Update a login by id. At least one of password or otp_secret must remain set after the update. Editing a team-shared login or toggling sharing requires manager role. Endpoint: https://api.duvo.ai/v1/mcp
- deleteCredential (Delete credential by id) - Delete a login by id. Deleting a team-shared login requires manager role. Endpoint: https://api.duvo.ai/v1/mcp
- listActiveClarityExports (List Active Clarity Exports) - List active (queued or running) Clarity export jobs for the current user Endpoint: https://api.duvo.ai/v1/mcp
- startClarityExport (Start Clarity Export) - Start a Clarity → SAP Signavio export job Endpoint: https://api.duvo.ai/v1/mcp
- listClarityFolders (List Clarity Folders) - List the team's process folders with process and suggestion counts Endpoint: https://api.duvo.ai/v1/mcp
- createClarityFolder (Create Clarity Folder) - Create a process folder Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityFolder (Update Clarity Folder) - Rename a process folder. Renaming a landscape-linked folder permanently stops landscape name-sync. Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityFolder (Delete Clarity Folder) - Delete a process folder. Contained processes fall back to Unfiled. Endpoint: https://api.duvo.ai/v1/mcp
- reorderClarityFolders (Reorder Clarity Folders) - Reorder the team's process folders to match the given id order. The payload must name every folder exactly once. Endpoint: https://api.duvo.ai/v1/mcp
- setupClarityFoldersFromLandscape (Setup Clarity Folders From Landscape) - Create one linked folder per landscape group node containing this team's processes. Idempotent: groups that already have a linked folder are skipped. Endpoint: https://api.duvo.ai/v1/mcp
- moveClarityProcessesToFolder (Move Clarity Processes To Folder) - Move processes into a folder (or back to Unfiled) Endpoint: https://api.duvo.ai/v1/mcp
- fileSuggestedClarityProcesses (File Suggested Clarity Processes) - File every unfiled process the viewer can see into its suggested folder Endpoint: https://api.duvo.ai/v1/mcp
- listClarityTeamInterviews (List Clarity Team Interviews) - List team-level Clarity interviews Endpoint: https://api.duvo.ai/v1/mcp
- deleteClarityTeamInterview (Delete Clarity Team Interview) - Delete a team-level Clarity interview Endpoint: https://api.duvo.ai/v1/mcp
- createClarityTeamDocumentUploadUrl (Create Clarity Team Document Upload Url) - Create a signed URL for uploading a PDF, TXT, Markdown, or BPMN document as a team-level Clarity capture Endpoint: https://api.duvo.ai/v1/mcp
- completeClarityTeamDocumentUpload (Complete Clarity Team Document Upload) - Complete a team document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation Endpoint: https://api.duvo.ai/v1/mcp
- getClarityTeamSettings (Get Clarity Team Settings) - Get clarity team settings for financial calculations Endpoint: https://api.duvo.ai/v1/mcp
- updateClarityTeamSettings (Update Clarity Team Settings) - Update clarity team settings for financial calculations Endpoint: https://api.duvo.ai/v1/mcp
- getClarityPortfolioIntelligence (Get Clarity Portfolio Intelligence) - Get portfolio intelligence for the current team Endpoint: https://api.duvo.ai/v1/mcp
- generateClarityPortfolioIntelligence (Generate Clarity Portfolio Intelligence) - Generate portfolio intelligence from all completed clarity processes. Returns 202 Accepted immediately and processes in background. Endpoint: https://api.duvo.ai/v1/mcp
- movePulseDashboard (Move Pulse Dashboard) - Move a Pulse dashboard from the team in the URL to another team, keeping only its latest revision (chat history and older revisions are deleted). The caller must be a Manager or above on both teams. Pass dryRun=true to preview which Connections reconnect vs drop without applying changes. Endpoint: https://api.duvo.ai/v1/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.duvoai
- Version: 2026-05-24
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 24, 2026
- Source: https://registry.modelcontextprotocol.io
