πŸ”Œ

MCP - Connect an AI Client

Let Claude Desktop, Claude Code, Gemini CLI, or any other MCP-compatible client create tasks, manage sprints, triage tickets, and more - directly in Decuga, using your own AI assistant instead of ours.

Claude Desktop, Claude Code, Gemini CLI & more
Works across every project you belong to
Personal API keys or one-click sign-in
Same permissions as the dashboard

Overview

MCP (Model Context Protocol) is an open standard that lets AI assistants call tools in other applications. Decuga exposes an MCP server so any MCP-compatible client - Claude Desktop, Claude Code, Gemini CLI, or a custom integration you build yourself - can act on your behalf: creating and updating tasks, moving sprints along, triaging service desk tickets, and more, all described in plain language to whichever AI client you're already using.

This is the same set of actions available from the Decuga Slack assistant and the in-app chat panel - just reachable from outside Decuga too, through an AI client of your choice. Every action still goes through your own account and your own project permissions; nothing an MCP client does bypasses what you're normally allowed to do in the dashboard.

MCP access is a Pro and higher feature.

Connecting a client

There are two ways to connect, depending on which client you use. Both end up in the same place - your AI client gets access to the same set of actions, scoped to your account.

Option A - Claude Code, Gemini CLI, OpenAI, or anything that takes a bearer token

1

Create a personal MCP key

Go to your Profile page and find the MCP API Keys card. Click New MCP key, give it a name (e.g. β€œClaude Desktop - laptop”), and copy the key shown - it starts with dmcp_ and is only ever shown once.

2

Add the server to your client

Point your client at Decuga's MCP endpoint with the key as a bearer token. For Claude Code:

claude mcp add decuga --transport http \
  --header "Authorization: Bearer dmcp_your_key_here" \
  https://decuga.com/api/mcp

Gemini CLI and any other client that supports a custom header for remote MCP servers work the same way - just supply the same URL and header.

Option B - Claude Desktop

1

Add a custom connector

In Claude Desktop, go to Settings β†’ Connectors β†’ Add custom connector and enter https://decuga.com/api/mcp.

2

Sign in and approve

Claude Desktop opens your browser to sign in with your normal Decuga account, then shows a one-time approval screen asking whether to let Claude connect. Approve it, and you're done - no key to copy or manage.

Claude Code: auto-tag commits

This is a Claude Codefeature specifically - it doesn't apply to Claude Desktop, Gemini CLI, or any other client. It works by watching for a git commit inside a real repository, which only makes sense for a coding tool with its own project directory and shell access.

If your team tracks work in Decuga, this optional skill has Claude Code check the current sprint for a task that already covers whatever it's about to commit - creating one if there isn't one - and put the task's code at the start of the commit message, like DT-142: Add retry to the webhook sender. The code goes first because git tools and the GitHub UI cut long messages short, and the start is the part that always shows. Every commit ends up traceable to a real task, without you having to look one up and paste the code in yourself.

1

Connect Claude Code to Decuga

Follow Option A above first, if you haven't already - this skill uses the same MCP connection, it doesn't need anything extra on the Decuga side.

2

Download and install the skill

decuga-task.skill is a zip file containing one folder, decuga-task/. Unzip it and drop that folder into .claude/skills/ in your repo (create the directory if it doesn't exist yet) - or into ~/.claude/skills/ if you want it available in every repo you work in, not just this one.

3

Optional: remind Claude Code to use it before every commit

A skill only runs when Claude Code decides it's relevant - usually reliable, but not guaranteed on every single commit. For a stronger nudge, add this to your repo's .claude/settings.json (merge it in if that file already has other hooks):

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "if": "Bash(git commit*)",
            "command": "jq -n --arg msg 'Before this commit lands, apply the decuga-task skill if a Decuga MCP connection is available in this session.' '{hookSpecificOutput: {hookEventName: \"PreToolUse\", additionalContext: $msg}}'"
          }
        ]
      }
    ]
  }
}

Requires jq on your PATH.

This is best-effort, not a hard guarantee. Claude decides whether and how to apply the skill each time - the hook above only adds a reminder, it doesn't block a commit that skips it. If you need every single commit provably tagged (e.g. for compliance), enforce that server-side instead of relying on this.

Managing keys

Every personal MCP key you create is listed on your Profile page, along with when it was created and last used. You can create as many as you like - one per client or device is a good default, so you can tell them apart and revoke one without affecting the others.

Revoking a key takes effect immediately - any client still using it will start getting rejected on its next request. There's no confirmation step once you revoke, so make sure you're revoking the right one.

What it can do

A sample of what you can ask - not an exhaustive list. Type naturally; these are just starting points.

Tasks & sub-tasks

  • β€œCreate a task to update the login page copy
  • β€œAdd a sub-task of DT-51 called Fix mobile layout
  • β€œMove DT-42 to In Review and assign it to Amit
  • β€œWhat are my open tasks across all my projects?

Sprints & backlog

  • β€œWhat's in the current sprint board?
  • β€œStart Sprint 5
  • β€œWhat's in the backlog?

Service Desk & change management

  • β€œCreate a ticket for a customer who can't log in
  • β€œWhat tickets are assigned to me?
  • β€œSubmit CR-12 for approval

Goals, roadmap & reporting

  • β€œWhat's the status of our Q3 OKRs?
  • β€œAdd a roadmap item for dark mode
  • β€œGive me a project analytics summary
If a request is genuinely ambiguous - which task, which sprint, which project - the assistant asks a brief clarifying question instead of guessing. It never invents an ID or fabricates an answer it can't look up.

Working across projects

Unlike the in-app chat panel - which is always scoped to whichever project you have open - an MCP client isn't tied to one project. If you belong to more than one, just ask it to list your projects, or name the one you mean and it will resolve it for you.

Every action still checks your actual membership and role on that specific project, the same as if you'd clicked through to it in the dashboard yourself.

Security

An MCP client acts as you- it has exactly the permissions your account has, nothing more. Every tool call goes through the same authorization checks as the dashboard and the Slack assistant; there's no separate, more-permissive path for MCP clients.

  • Personal API keys can be revoked any time from your Profile page.
  • Claude Desktop's connector flow uses your normal Decuga sign-in - Decuga never sees or stores your Claude credentials, and Claude never sees your Decuga password.
  • Nothing an MCP client does is retried or applied silently on your behalf without you asking for it - the assistant only acts on what you tell it in that conversation.

Troubleshooting

"Add custom connector" says my server can't be reached

Double check the URL is exactly https://decuga.com/api/mcp with no trailing path. If it still fails, the client may not support remote MCP servers yet - try a static API key instead (Option A above), which more clients support today.

My client says the request was unauthorized

For a static key, confirm the header is exactly "Authorization: Bearer dmcp_..." with no extra whitespace, and that the key hasn't been revoked from your Profile page. For Claude Desktop, try removing and re-adding the connector to redo the sign-in.

It says I need to upgrade my plan

MCP access requires a Pro plan or higher. Everything else about your account works the same - this only affects the MCP connection itself.

It can't find a task/project I'm asking about

Confirm you're actually a member of that project - an MCP client can only see and act on projects your own account belongs to. Ask it to list your projects to confirm which ones it can see.