Duvo MCP server

Connect Duvo and your agent gets 360 tools, among them acceptClarityCaptureSuggestion, acceptClarityLandscapeNode, acceptClarityProcessJoin. It answers at https://api.duvo.ai/v1/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 22 October 2026, succeeded.

Status
Answering
Tools
360
Reliability
6 of 6 checks
Response time
64 ms
Transport
streamable HTTP
Last checked
22 October 2026

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

Description as the publisher wrote it.

The 360 tools Duvo offers

ToolWhat it does
acceptClarityCaptureSuggestionAccept a pending Process Landscape capture suggestion and create the durable capture request (manager+).
Inputs: nodeId, suggestionId
acceptClarityLandscapeNodeAccept 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 assignCla
Inputs: orgId, nodeId
acceptClarityProcessJoinAccept a clarity interview invite link and gain process access.
Inputs: token
acceptClarityTeamAssignmentSuggestionAccept a pending Process Landscape team-assignment suggestion and durably assign the suggested team (manager+).
Inputs: nodeId, suggestionId
addClarityLandscapeNodePersonAdd 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 t
Inputs: orgId, nodeId, teamId, name, email, role
answerPulseDashboardQuestionAnswer 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.
Inputs: artifactId, toolCallId, answers
assignCaseLabelsAssign one or more labels to a case. Creates the labels on the queue if they don't already exist.
Inputs: queue_id, case_id, labels
assignClarityExtraCaptureRequestAssign (or unassign, with `user_id: null`) a team member to fulfil an extra-capture request. Restricted to admins and managers.
Inputs: process_id, transformation_proposal_id, request_id, user_id
assignClarityLandscapeCaptureRequestAssign an open Process Landscape capture request to a team member, or unassign it by sending userId: null (manager+).
Inputs: nodeId, requestId, userId
assignClarityLandscapeNodeTeamSet 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 b
Inputs: orgId, nodeId, teamId, intent
assignClarityProcessLabelsAssign process tags to a process.
Inputs: id, labelIds, labels
attachPulseDashboardConnectionAttach one of your connections (data sources) to a Duvo Pulse dashboard so the agent can use its tools (requires edit access).
Inputs: artifactId, connection_id
attachQueueJsonSchemaPut a queue on an existing Case schema, so both queues share one document and a later change moves them together. The queue must not already have a schema.
Inputs: queue_id, family_id
attachRevisionIntegrationsAttach 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
Inputs: agent_id, build_id, integration_ids, selected_automation_revision_id
attachRevisionLoginAttach 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.
Inputs: agentId, buildId, exposedCredentialId
attachRevisionSecretAttach 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.
Inputs: agentId, buildId, credentialId
authorizeMcpOAuthStart 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 browse
Inputs: team_id, mcp_server_url, name, custom_integration_id, return_url, integration_type
batchAddClarityLandscapeNodePeopleAdd 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.
Inputs: orgId, nodeIds, people
buildClarityAutomationHand an automation 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, s
Inputs: process_id, transformation_proposal_id
bulkCreateTeamInvitesInvite 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 e
Inputs: team_id, members, frontendUrl
bulkReprocessCasesRe-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 co
Inputs: queue_id, case_ids, all_matching, filters, search, agent_id
bulkUpdateCasePrioritySet 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 b
Inputs: queue_id, case_ids, all_matching, filters, search, priority
bulkUpdateCaseStatusUpdate 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
Inputs: queue_id, case_ids, all_matching, filters, search, status
checkMcpOAuthProbe 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 `
Inputs: mcp_server_url
completeClarityArtifactImportComplete a Miro artifact import after uploading to the signed URL. The uploaded bytes are validated before the import becomes a usable Clarity capture.
Inputs: process_id, capture_id, file_name, content_type
completeClarityDocumentUploadComplete a document capture after uploading to GCS via signed URL
Inputs: id, captureId, fileName
completeClarityImageUploadComplete an image capture after uploading it to GCS via a signed URL
Inputs: id, captureId, fileName
completeClarityOrganizationDocumentUploadComplete an organization document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation
Inputs: orgId, interviewId, fileName
completeClarityTeamDocumentUploadComplete a team document capture after uploading to GCS; extracts text and stores it as a transcript so it feeds Process Landscape generation
Inputs: interviewId, team_id, fileName
completeClarityVideoUploadComplete a video capture after uploading to GCS via signed URL
Inputs: id, captureId, fileName
consumeAgentSuggestionApply a suggestion: stage its change into the Agent's draft revision, then auto-clear any pending suggestions it makes moot.
Inputs: id, revision_id, create_new_draft, selected_automation_revision_id
createAgentCreate a new agent. Optionally include a build configuration to create the first build in the same request.
createAgentCaseTriggerCreate a case trigger for an agent. An agent may have at most one case trigger; this returns 409 if one already exists.
Inputs: agent_id, case_queue_id, enabled, concurrency
createAgentFolderCreate a new agent folder.
Inputs: team_id, name, parent_folder_id
createAgentSlackTriggerCreate 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 m
Inputs: agent_id, trigger_type, slack_team_id, channel_id, channel_name, match_rule
createAutomationCreate a new automation. Its first agent is created alongside it so the caller lands on something editable. On a team on revision semantics the automation holds a single draft revision and no live revision, with the agent's default build bo
Inputs: team_id, name
createCaseAttachmentUploadUrlIssue a signed URL for uploading a file to a case. The client must PUT the bytes to the returned URL with the returned Content-Type, then call the finalize endpoint so the attachment becomes visible on the case.
Inputs: queue_id, case_id, filename, mime_type, size_bytes
createCaseQueueEvalRubricAdd one case-level evaluation rubric to a queue's current rubric set. Case-level rubrics judge the whole case (across every Run that touched it) as a Pass/Fail question at settlement. The rubric is added to the queue's current version (buil
Inputs: queue_id, title, description
createCasesCreate 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 takes a title (max 500 chars), optional labels that will be assigned to the case on creation (missi
Inputs: queue_id, case, cases
createClarityArtifactImportUploadUrlCreate 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.
Inputs: process_id, file_name, content_type, extra_capture_request_id
320 more tools

createClarityDocumentUploadUrl, createClarityFolder, createClarityGuidance, createClarityImageUploadUrl, createClarityInviteLink, createClarityLandscapeNode, createClarityOrganizationDocumentUploadUrl, createClarityProcess, createClarityProcessLabel, createClarityProcessLink, createClarityProcessNode, createClarityTeamDocumentUploadUrl, createClarityVideoUploadUrl, createConnection, createCredential, createCustomIntegration, createEvalRubric, createFileUploadUrl, createOrgTeam, createPulseDashboard, createPulseDashboardAttachmentUploadUrl, createPulseDashboardComment, createPulseDashboardCommentReply, createQueue, createQueueAggregation, createQueueJsonSchema, createQueueLabel, createRevision, createSandbox, createSandboxUploadUrl, createSchedule, createSecret, createSkill, createSkillRevision, createTeamInvite, createTeamInviteLink, declineClarityLandscapeNode, deleteAgent, deleteAgentCaseTrigger, deleteAgentFolder, deleteAgentTrigger, deleteAllNotifications, deleteAutomation, deleteCase, deleteCaseAttachment, deleteCaseQueueEvalRubric, deleteClarityArtifactChatConversation, deleteClarityCapture, deleteClarityFolder, deleteClarityLandscapeNode, deleteClarityLandscapeNodeInterview, deleteClarityOrganizationInterview, deleteClarityProcess, deleteClarityProcessInviteLink, deleteClarityProcessLabel, deleteClarityProcessLink, deleteClarityTeamInterview, deleteConnection, deleteCredential, deleteCustomIntegration, deleteEvalRubric, deleteFile, deletePulseDashboard, deletePulseDashboardComment, deleteQueue, deleteQueueAggregation, deleteQueueLabel, deleteReadNotifications, deleteSchedule, deleteSecret, deleteSkill, deleteSkillRevision, deleteSlackTrigger, deleteTeamInvite, deleteTeamInviteLink, detachPulseDashboardConnection, detachQueueJsonSchema, detachRevisionLogin, detachRevisionSecret, dismissClarityCaptureSuggestion, dismissClarityTeamAssignmentSuggestion, dismissNotification, downloadSkill, duplicateAgent, duplicateClarityProcess, duplicatePulseDashboard, evaluateQueueAggregation, exportCases, exportPulseDashboardHtml, fileSuggestedClarityProcesses, finalizeCaseAttachment, finalizeClarityOrganizationInterview, generateClarityPortfolioIntelligence, generateClarityProcessLandscape, generateClarityProcessSnapshot, getAgent, getAgentCaseTrigger, getAgentMemoryFile, getAgentSuggestion, getAutomation, getAutomationCurrent, getAutomationCurrentFlow, getAutomationTabs, getBatchQueueStats, getCase, getCaseAttachmentDownloadUrl, getCaseQueueEvalRubrics, getClarityArtifactChatMessages, getClarityCapture, getClarityExport, getClarityHierarchyPeople, getClarityOrganizationInterview, getClarityPortfolioIntelligence, getClarityProcess, getClarityProcessInviteLink, getClarityProcessJoinInfo, getClarityProcessLandscape, getClarityProcessSharing, getClarityProcessSnapshot, getClarityProcessTree, getClarityTeamSettings, getConnection, getConnectionCredentials, getCredential, getEvalRubrics, getEvalScores, getFileContent, getFileDownloadUrl, getLegacyClarityProcess, getNotification, getNotificationBatch, getNotificationCounts, getNotificationFeed, getOrgInsightsHeadline, getOrgInsightsMetrics, getOrgInsightsUsageChart, getProfile, getPulseDashboard, getPulseDashboardAttachmentDownloadUrl, getPulseDashboardHtml, getPulseDashboardPdf, getPulseDashboardVersionHtml, getQueue, getQueueAggregationResult, getQueueJsonSchema, getRevision, getRevisionCaseQueueSetup, getRun, getRunEvaluation, getSecret, getSkillFileContent, getSkillRevisionFileContent, getTeam, getTeamInviteLink, getUnreadNotificationCount, inviteClarityMeetingNotetaker, inviteClarityOrganizationNotetaker, inviteOrgMember, listActiveClarityExports, listAgentCaseTriggers, listAgentFolders, listAgentMemoryFiles, listAgentRevisions, listAgentSchedules, listAgentSlackBoundWorkspaces, listAgentSlackTriggers, listAgentSuggestions, listAgentTriggerTypes, listAgentTriggers, listAgents, listAutomations, listAvailableClarityProcessLabels, listCaseAttachments, listCaseLabels, listCaseRunRecentMessages, listCaseRuns, listCases, listClarityArtifactChatConversations, listClarityExtraCaptureRequests, listClarityFolders, listClarityLandscapeCaptures, listClarityLandscapeNodeInterviews, listClarityLandscapeNodePeople, listClarityOrganizationInterviews, listClarityProcessAssignedLabels, listClarityProcessLabels, listClarityProcessLinks, listClarityProcessMembers, listClarityProcessSnapshots, listClarityProcessSummaries, listClarityProcesses, listClarityStepFrames, listClarityTeamInterviews, listConfigFields, listConnections, listCredentials, listFiles, listIntegrations, listMyOrganizations, listMyTeams, listNotifications, listOrgAgents, listOrgRuns, listOrgTeams, listPluginCatalog, listPulseDashboardComments, listPulseDashboardConnections, listPulseDashboardMessages, listPulseDashboardVersions, listPulseDashboards, listQueueAgents, listQueueAggregations, listQueueLabels, listQueues, listRevisionIntegrationConnections, listRevisionIntegrationQueues, listRevisionIntegrations, listRevisionLogins, listRevisionSecrets, listRunMessages, listRuns, listSandboxFiles, listSecrets, listSkillAssignments, listSkillFiles, listSkillRevisionFiles, listSkillRevisions, listSkills, listSystemSkills, listTeamInvites, listTeamMembers, markAllNotificationsRead, markNotificationBatchRead, markNotificationRead, moveAgent, moveAgentsToFolder, moveClarityProcessesToFolder, movePulseDashboard, organizeClarityProcessLandscape, pinRevisionIntegrationConnection, postRunMessage, postprocessClaritySnapshot, previewAgentCaseTriggerConflicts, probeMcpServer, promoteClarityProcessSnapshot, promoteRevision, promoteSkillRevision, proposeClarityLandscapeProcess, publishPulseDashboard, refreshPulseDashboard, refreshQueueAggregation, rejectAgentSuggestion, removeClarityLandscapeNodePerson, removeClarityProcessMember, removeRevisionIntegration, removeTeamMember, renameFile, reorderClarityFolders, reorderClarityLandscapeAreas, replaceCaseQueueEvalRubrics, replaceEvalRubrics, replaceQueueJsonSchema, replaceRevisionIntegrationQueues, respondToHumanRequest, restorePulseDashboardVersion, revertClarityProcessSnapshot, saveClarityProcessSnapshot, searchCases, sendPulseDashboardMessage, sendTeamInviteEmail, setClarityLandscapeNodePlacement, setClarityLandscapePriorities, setPulseDashboardCommentResolution, setupClarityFoldersFromLandscape, startClarityExport, startNativeOAuth, startRun, stopClarityArtifactChatConversation, stopClarityProcessSnapshot, stopPulseDashboardMessage, stopRun, unlinkCaseLabels, unlinkClarityProcessLabels, unpinRevisionIntegrationConnection, updateAgent, updateAgentCaseTrigger, updateAgentFolder, updateAutomation, updateCase, updateCaseQueueEvalRubric, updateClarityFolder, updateClarityGuidance, updateClarityLandscapeNode, updateClarityLandscapeNodePerson, updateClarityOrganizationInterview, updateClarityProcess, updateClarityProcessLabel, updateClarityProcessLink, updateClarityProcessSharing, updateClarityTeamSettings, updateConnection, updateCredential, updateEvalRubric, updateFileContent, updatePulseDashboard, updateQueue, updateQueueJsonSchemaSettings, updateQueueLabel, updateRevision, updateSchedule, updateSecret, updateSkillFile, updateSkillRevision, updateSkillRevisionFile, updateSlackTrigger, updateTeamInvite, updateTeamMemberRole, upgradeClarityProcess, uploadSandboxFile, upsertAgentTrigger

Add Duvo to your AI client

Every block below points at https://api.duvo.ai/v1/mcp. Pick your client and copy.

Claude Code: one command in your terminal
claude mcp add --transport http duvo https://api.duvo.ai/v1/mcp
Claude Desktop: claude_desktop_config.json
{
  "mcpServers": {
    "duvo": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.duvo.ai/v1/mcp"]
    }
  }
}
Cursor: ~/.cursor/mcp.json, or .cursor/mcp.json in a project
{
  "mcpServers": {
    "duvo": {
      "url": "https://api.duvo.ai/v1/mcp"
    }
  }
}
VS Code and GitHub Copilot: .vscode/mcp.json
{
  "servers": {
    "duvo": {
      "type": "http",
      "url": "https://api.duvo.ai/v1/mcp"
    }
  }
}
Zed: Zed settings.json
{
  "context_servers": {
    "duvo": {
      "url": "https://api.duvo.ai/v1/mcp"
    }
  }
}
Windsurf: ~/.codeium/mcp_config.json
{
  "mcpServers": {
    "duvo": {
      "serverUrl": "https://api.duvo.ai/v1/mcp"
    }
  }
}
JetBrains AI Assistant: Settings, Tools, AI Assistant, MCP, New MCP Server, as JSON
{
  "mcpServers": {
    "duvo": {
      "url": "https://api.duvo.ai/v1/mcp"
    }
  }
}
Continue: .continue/mcpServers/neuronto.yaml
name: Duvo
version: 0.0.1
schema: v1
mcpServers:
  - name: Duvo
    type: streamable-http
    url: https://api.duvo.ai/v1/mcp
Gemini CLI: ~/.gemini/settings.json
{
  "mcpServers": {
    "duvo": {
      "httpUrl": "https://api.duvo.ai/v1/mcp"
    }
  }
}
Codex CLI: MCP server config
{
  "mcpServers": {
    "duvo": {
      "type": "http",
      "url": "https://api.duvo.ai/v1/mcp"
    }
  }
}
Warp: MCP servers, + Add, paste JSON
{
  "mcpServers": {
    "duvo": {
      "url": "https://api.duvo.ai/v1/mcp"
    }
  }
}
Goose: a one-click extension link
goose://extension?url=https%3A%2F%2Fapi.duvo.ai%2Fv1%2Fmcp&type=streamable_http&id=duvo&name=Duvo

Is Duvo up right now?

It answered our last check on 22 October 2026 in 64 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.

MCP servers similar to Duvo

Questions about Duvo

How many tools does Duvo have?

360, as returned by the server's own tools/list on 14 September 2026: acceptClarityCaptureSuggestion, acceptClarityLandscapeNode, acceptClarityProcessJoin, acceptClarityTeamAssignmentSuggestion, addClarityLandscapeNodePerson, answerPulseDashboardQuestion, assignCaseLabels, assignClarityExtraCaptureRequest, and 352 more.

Is Duvo down?

It answered our last check on 22 October 2026 in 64 ms. Over 6 checks since 11 September 2026 it answered 6.

How do I add Duvo to Cursor?

Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://api.duvo.ai/v1/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.

Does Duvo need an API key?

It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.

Where this comes from

Publisher: io.github.duvoai. Endpoint host: api.duvo.ai. ARD identifier: urn:air:io.github.duvoai:mcp:duvo. First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page is inferred from its name. Ranking in Neuronto search is never for sale.

Is this your server? Get a message the day it stops answering or its tools change: monitoring, 14 days free. Or claim the domain to manage how it is listed.