Conecte assistentes de IA como Claude Code, Cursor, VS Code e Claude Desktop ao KrakenDock pelo Model Context Protocol (MCP). O assistente lê seus projetos e, se você deixar, cria e move cards, comenta, cuida das sprints e edita a wiki por você.
O acesso usa um token de acesso pessoal, criado por você e revogável a qualquer momento. Este guia é para quem usa o KrakenDock com um assistente de IA no dia a dia.
Versão em Markdown puro deste guia: https://app.krakendock.com/docs/mcp.md?lang=pt-BR. Use-a para colar num assistente de IA ou na documentação interna do seu time.
| Peça | O que é |
|---|---|
| Servidor MCP | https://api.krakendock.com/mcp, com transporte Streamable HTTP |
| Token de acesso | credencial que começa com krk_pat_, enviada no cabeçalho Authorization: Bearer … |
| Onde criar o token | Configurações → Tokens de acesso (MCP) |
| O que o assistente faz | usa as ferramentas do servidor, sempre com as suas permissões |
O assistente age em seu nome. O token nunca dá mais acesso do que você já tem: ele só pode reduzir esse acesso, com as permissões e os projetos que você escolher.
whoami).Depois de clicar em Já copiei o token, o token some da tela. Os modelos de configuração continuam em Como conectar, com o marcador <SEU_TOKEN> no lugar do token.
| Permissão | O que libera |
|---|---|
| Leitura | sempre incluída: ler projetos, boards, cards, sprints, membros, anexos e a wiki |
| Escrita | criar e editar cards, comentários, sprints, boards, colunas, labels e páginas da wiki; decidir a triagem |
| Exclusão | excluir cards, comentários, páginas, sprints, colunas, boards e labels, e restaurar cards excluídos |
PROJECT_NOT_FOUND).Na lista Seus tokens, clique em Revogar na linha do token e confirme. Os assistentes que usam esse token perdem o acesso na hora. A ação não pode ser desfeita.
A lista mostra, para cada token, o começo dele (por exemplo, krk_pat_Ab3d…), as permissões, os projetos, a data de criação, o Último uso e quando expira. Use o Último uso para achar tokens esquecidos.
403 TERMS_NOT_ACCEPTED. Entre no KrakenDock pelo navegador e aceite os termos.Cada pessoa pode ter até 20 tokens ativos. Os tokens vencidos e os revogados não contam.
A tela Tokens de acesso (MCP) mostra todos os modelos abaixo já com o endereço certo do servidor. Troque krk_pat_... pelo seu token.
No terminal:
claude mcp add --transport http kraken https://api.krakendock.com/mcp \
--header "Authorization: Bearer krk_pat_..."
--scope user.--scope project, a configuração vai para o arquivo .mcp.json do repositório. Nesse caso, não grave o token no arquivo: use "Authorization": "Bearer ${KRAKEN_TOKEN}" e defina a variável de ambiente KRAKEN_TOKEN na sua máquina.claude mcp list ou, dentro do Claude Code, com /mcp.Arquivo ~/.cursor/mcp.json (para todos os projetos) ou .cursor/mcp.json (só para um projeto):
{
"mcpServers": {
"kraken": {
"url": "https://api.krakendock.com/mcp",
"headers": { "Authorization": "Bearer krk_pat_..." }
}
}
}
O Cursor também aceita "Bearer ${env:KRAKEN_TOKEN}", lendo o token de uma variável de ambiente. Reinicie o Cursor depois de mudar o arquivo.
Arquivo .vscode/mcp.json do projeto:
{
"servers": {
"kraken": {
"type": "http",
"url": "https://api.krakendock.com/mcp",
"headers": { "Authorization": "Bearer krk_pat_..." }
}
}
}
Se a pasta .vscode vai para o Git, peça o token ao abrir, em vez de gravá-lo no arquivo:
{
"inputs": [
{
"type": "promptString",
"id": "kraken-token",
"description": "Token do KrakenDock",
"password": true
}
],
"servers": {
"kraken": {
"type": "http",
"url": "https://api.krakendock.com/mcp",
"headers": { "Authorization": "Bearer ${input:kraken-token}" }
}
}
}
O Claude Desktop conversa com o servidor por meio do mcp-remote, que precisa do Node.js instalado. Em Settings → Developer → Edit Config, abra o claude_desktop_config.json e acrescente:
{
"mcpServers": {
"kraken": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.krakendock.com/mcp",
"--header",
"Authorization: Bearer krk_pat_..."
]
}
}
}
Reinicie o Claude Desktop. No Windows, o espaço em Authorization: Bearer … pode quebrar o argumento. Nesse caso, passe "Authorization:${AUTH_HEADER}" (sem espaço) no lugar do cabeçalho e defina "env": { "AUTH_HEADER": "Bearer krk_pat_…" } no mesmo bloco, como indica o README do mcp-remote.
Os conectores remotos do claude.ai ("Adicionar conector personalizado") ainda não funcionam com o KrakenDock: eles não permitem enviar um cabeçalho Authorization próprio (só OAuth), e o servidor aceita só o token.
Peça ao assistente para usar a ferramenta whoami. Ela mostra o seu usuário, as permissões do token e, se ele for restrito, os projetos.
Para testar sem assistente, chame a ferramenta direto com curl:
curl https://api.krakendock.com/mcp \
-H "Authorization: Bearer krk_pat_..." \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"whoami","arguments":{}}}'
São 43 ferramentas, agrupadas abaixo por assunto. A coluna Permissão diz qual permissão do token faz a ferramenta aparecer.
| Ferramenta | Permissão | O que faz |
|---|---|---|
whoami | Leitura | mostra o usuário do token, as permissões e os projetos (se o token for restrito) |
list_projects | Leitura | lista os seus projetos, com a referência handle/KEY usada nas outras ferramentas |
get_project | Leitura | traz o projeto com os boards e as colunas, as labels, os campos customizados e os templates de card |
list_members | Leitura | lista as pessoas do projeto; o user_id serve para atribuir cards |
| Ferramenta | Permissão | O que faz |
|---|---|---|
get_board | Leitura | mostra o board com a sprint ativa e as colunas com os cards (sem descrição) |
get_backlog | Leitura | lista o backlog de um board scrum, com filtros por texto, label, responsável, tipo e prioridade |
search_cards | Leitura | busca cards de um projeto por texto e filtros (board, coluna, sprint, responsável, card pai, status…) |
search | Leitura | busca em todos os seus projetos: cards, comentários e páginas da wiki |
my_cards | Leitura | lista os cards atribuídos a você em todos os projetos, por prazo |
| Ferramenta | Permissão | O que faz |
|---|---|---|
get_card | Leitura | traz o card completo, com comentários, as 20 últimas mudanças, card pai, subtarefas e progresso |
list_attachments | Leitura | lista os arquivos do card e dos comentários |
create_card | Escrita | cria um card, inclusive subtarefas (até 3 níveis), com campos customizados e a partir de um template |
update_card | Escrita | edita só os campos enviados; também arquiva, finaliza, reabre e troca o card pai |
move_card | Escrita | move o card para uma coluna, no topo, no fim ou numa posição; também entre boards do mesmo projeto |
complete_column_cards | Escrita | finaliza de uma vez todos os cards de uma coluna de concluídos |
delete_card | Exclusão | exclui o card; ele pode ser restaurado por 30 dias |
restore_card | Exclusão | restaura um card excluído na coluna e na posição em que estava |
| Ferramenta | Permissão | O que faz |
|---|---|---|
add_comment | Escrita | comenta em Markdown; num card do Helpdesk, visibility: requester responde ao solicitante por e-mail |
update_comment | Escrita | edita um comentário; só o autor pode |
delete_comment | Exclusão | exclui um comentário de vez |
| Ferramenta | Permissão | O que faz |
|---|---|---|
list_sprints | Leitura | lista as sprints do projeto, por board e status |
create_sprint | Escrita | cria uma sprint planejada num board scrum |
update_sprint | Escrita | edita nome, meta e datas de uma sprint planejada ou ativa |
start_sprint | Escrita | inicia uma sprint planejada (cada board tem no máximo uma ativa) |
close_sprint | Escrita | encerra a sprint ativa e manda os cards não concluídos para o backlog ou para outra sprint |
delete_sprint | Exclusão | exclui uma sprint planejada; os cards dela voltam para o backlog |
| Ferramenta | Permissão | O que faz |
|---|---|---|
create_board | Escrita | cria um board scrum ou kanban, com as colunas padrão |
update_board | Escrita | renomeia o board, troca a metodologia ou a posição |
delete_board | Exclusão | exclui um board sem cards e sem sprint ativa; nunca o último do projeto |
create_column | Escrita | cria uma coluna no fim do board, com limite de WIP opcional |
update_column | Escrita | renomeia, marca como concluída, muda a posição ou o limite de WIP |
delete_column | Exclusão | exclui uma coluna vazia; nunca a última do board |
create_label | Escrita | cria uma label com cor #RRGGBB |
update_label | Escrita | renomeia a label ou troca a cor |
delete_label | Exclusão | exclui uma label |
| Ferramenta | Permissão | O que faz |
|---|---|---|
get_wiki_tree | Leitura | lista as páginas do projeto (id, página pai e título) |
get_wiki_page | Leitura | traz a página em Markdown; com version, lê uma versão antiga |
list_wiki_versions | Leitura | lista as versões salvas de uma página |
create_wiki_page | Escrita | cria uma página, opcionalmente dentro de outra |
update_wiki_page | Escrita | substitui o conteúdo da página; recusa a edição se outra pessoa salvou antes |
delete_wiki_page | Exclusão | exclui uma página sem páginas filhas |
| Ferramenta | Permissão | O que faz |
|---|---|---|
list_triage | Leitura | lista as propostas de quem não é membro que esperam decisão, das mais antigas para as mais novas |
triage_card | Escrita | aceita a proposta num board, recusa com um motivo ou pede mais informações ao autor |
As ferramentas de exclusão pedem ao assistente que confirme com você antes. Cada ferramenta também avisa o cliente se só lê, se escreve ou se é destrutiva, e muitos clientes usam isso para decidir quando pedir confirmação.
acme/APP e me diga o que está parado em revisão."APP e quebre em subtarefas de API, web e testes."APP-42 para Em andamento e atribua a mim."APP-57 e os comentários e resuma o que falta decidir."APP e mande o que não terminou para a próxima sprint."APP e recuse as duplicadas."O assistente se vira com nomes e chaves. Para referências exatas:
handle/KEY (seu usuário ou o slug da organização, mais a chave, como acme/APP) ou só KEY, se não houver outro projeto seu com a mesma chave. Uma chave repetida responde AMBIGUOUS_REFERENCE.handle/KEY-N ou KEY-N, com a mesma regra.me vale como você.As respostas trazem a url de cada item no KrakenDock, para o assistente mandar o link.
| Limite | Valor |
|---|---|
| Requisições ao servidor MCP | 120 por minuto por pessoa, somando todos os tokens dela |
| Tokens ativos por pessoa | 20 |
| Projetos num token restrito | 50 |
| Nome do token | até 100 caracteres |
| Tentativas com token inválido | limitadas por IP; só as tentativas erradas contam |
429 RATE_LIMITED com o cabeçalho Retry-After.Não. O token de acesso pessoal vale só no servidor MCP (/mcp). A API REST do KrakenDock usa a sessão do navegador e não aceita esse token. Para integrar outros sistemas, use os webhooks.
Não. list_attachments traz o nome, o tipo, o tamanho e um link de cada arquivo. O link abre no navegador para quem está logado no KrakenDock, mas o assistente não baixa o arquivo com o token.
Confira se você é membro do projeto e se ele está entre os projetos do token. Projetos públicos de que você não é membro ficam de fora. Peça um whoami para ver os projetos do token.
Os cards criados pelo assistente recebem a origem "Via IA (MCP)", e o histórico do card marca as mudanças com "via MCP". A autoria continua sendo sua.
Sim, com um token com Escrita. get_card traz a conversa com o solicitante, e add_comment com visibility: requester responde por e-mail. Sem esse parâmetro, o comentário é uma nota interna. Veja o guia do Helpdesk.
update_wiki_page exige a versão atual da página. Se alguém salvou antes, a edição é recusada, e o assistente precisa ler a página de novo e juntar as mudanças.
| Sintoma | Causa provável |
|---|---|
401 UNAUTHENTICATED | falta o cabeçalho Authorization: Bearer krk_pat_... |
401 INVALID_TOKEN | token errado, revogado ou vencido. Uma troca de senha revoga todos os tokens |
403 TERMS_NOT_ACCEPTED | aceite os Termos de Uso atuais entrando no KrakenDock pelo navegador |
429 RATE_LIMITED | passou de 120 requisições por minuto, ou de tentativas com token inválido. Espere o tempo do Retry-After |
| O assistente não oferece criar nem excluir | o token não tem Escrita ou Exclusão. Crie outro token com a permissão |
PROJECT_NOT_FOUND | o projeto não está no token, você não é membro ou a chave está errada |
AMBIGUOUS_REFERENCE | dois projetos seus têm a mesma chave. Use handle/KEY |
ACCESS_TOKEN_LIMIT_REACHED ao criar um token | você já tem 20 tokens ativos. Revogue um |
Accept must contain both 'application/json' and 'text/event-stream' | num teste com curl, faltou o cabeçalho Accept do exemplo |