Planka v2
Conecte Claude, Cursor, Codex e outros clientes MCP diretamente aos seus quadros do Planka v2.x.
Documentação
Planka v2.x MCP
Conecte Claude, Cursor, Codex e outros clientes MCP diretamente aos seus quadros Planka v2.x.
Dê aos seus agentes de IA acesso estruturado e seguro a projetos, quadros, cartões, tarefas, comentários, etiquetas e fluxos de trabalho por meio do Model Context Protocol (MCP).
[!IMPORTANT] Desenvolvido especificamente para Planka v2.x. Este MCP não é compatível com Planka v1.x.
Por que usar o Planka MCP?
O Planka oferece uma excelente interface web para usuários humanos. No entanto, agentes de IA precisam de acesso estruturado a projetos, quadros, cartões, tarefas, comentários e fluxos de trabalho.
Este servidor MCP expõe a API do Planka v2 por meio do Model Context Protocol (MCP), permitindo que Claude, Cursor, Codex e outros agentes de IA interajam com o Planka usando linguagem natural.
Versões Suportadas do Planka
| Versão do Planka | Status |
|---|---|
| 2.0.0-rc.2 | ✅ Testada |
| 2.1.1 | ✅ Testada |
| 2.2.1 | ✅ Testada |
| 2.x mais recentes | ⚠️ Espera-se que funcione |
Recursos
- Gerenciamento completo de projetos e quadros
- Gerenciamento completo do ciclo de vida de cartões
- Suporte a listas de tarefas e tarefas
- Comentários, etiquetas e atribuições
- Controle de tempo em cartões
- Resumos de projetos e quadros
- Interface de ferramentas nativa do MCP
- Suporte aos principais clientes MCP
- Suporte a Planka auto-hospedado e em nuvem
Exemplos de Conversas
Configuração de Projeto
Usuário
Crie um projeto chamado "Redesign do Site" com os quadros "Backlog", "Em Andamento" e "Concluído".
Assistente
✓ Created project "Website Redesign"
✓ Created board "Backlog"
✓ Created board "In Progress"
✓ Created board "Done"
Project setup completed successfully.
Criação de Tarefas
Usuário
Crie um cartão "Implementar autenticação" no quadro Backlog com as tarefas:
- Projetar fluxo de login
- Implementar autenticação JWT
- Adicionar redefinição de senha
- Escrever testes
Assistente
✓ Created card "Implement authentication"
✓ Created task list
✓ Added 4 tasks
Automação de Fluxo de Trabalho
Usuário
Encontre todos os cartões atrasados atribuídos a mim, mova-os para "Bloqueado", adicione um comentário explicando o motivo e gere um resumo do projeto.
Assistente
✓ Found 7 overdue cards
✓ Moved cards to "Blocked"
✓ Added explanatory comments
✓ Generated updated project summary
Ferramentas Disponíveis
| Nome da Ferramenta | Ações | Descrição |
|---|---|---|
project_board_manager | get_projects · create_project · get_project · update_project · delete_project · get_boards · create_board · get_board · update_board · delete_board · get_board_summary · get_project_summary | Projetos e quadros, incluindo resumos agregados |
list_manager | get_all · create · get_one · update · delete | Listas Kanban dentro de um quadro |
card_manager | get_all · create · get_one · update · move · duplicate · delete · create_with_tasks · get_details | Cartões, incluindo criação em uma única etapa com checklist de tarefas |
stopwatch | start · stop · get · reset | Controle de tempo em um cartão |
label_manager | get_all · create · update · delete · add_to_card · remove_from_card | Etiquetas do quadro e sua atribuição aos cartões |
task_list_manager | get_all · create · get_one · update · delete | Listas de tarefas dentro de um cartão (entidade do Planka v2.0) |
task_manager | get_all · create · batch_create · get_one · update · delete · complete_task | Tarefas individuais, incluindo criação em massa |
comment_manager | get_all · create · get_one · update · delete | Comentários em um cartão |
membership_manager | get_all · create · get_one · update · delete | Associação e funções no nível do quadro (editor / viewer) |
card_membership_manager | get_all · get_users · create · delete | Atribuir/remover membros do cartão por ID, e-mail ou nome de usuário |
card_manager com action: "get_details" inclui um array attachments com metadados somente leitura:
IDs de anexos e cartões, ID do usuário criador, nome, tipo, tipo MIME, tamanho, URL de download ou
link e carimbos de data/hora. Ele não baixa nem retorna o conteúdo dos anexos.
Início Rápido
Requisitos
- Uma instância do Planka v2.x em execução
- Uma conta de usuário dedicada do Planka para seu agente de IA
- Node.js 18+ (se executado localmente)
[!IMPORTANT] Após criar a conta do MCP, faça login na interface web do Planka com essa conta e aceite os termos de serviço antes de configurar ou iniciar o servidor MCP. Isso é necessário para toda nova conta.
Configure Seu Cliente MCP
Todo cliente compatível com MCP usa o mesmo comando subjacente — apenas o local do arquivo de configuração (e ocasionalmente o wrapper JSON) difere. Consulte Exemplos de Configuração de Cliente abaixo para sua ferramenta específica.
O bloco de configuração principal é sempre:
{
"command": "npx",
"args": ["-y", "@goldpulpy/planka-v2-mcp@latest"],
"env": {
"PLANKA_BASE_URL": "https://your-planka-instance.com",
"PLANKA_AGENT_EMAIL": "agent@yourdomain.com",
"PLANKA_AGENT_PASSWORD": "your-secure-password",
"PLANKA_IGNORE_SSL": "true"
}
}
Alternativa: executar a partir de uma compilação local
{
"command": "node",
"args": ["/absolute/path/to/planka-v2-mcp/dist/index.js"],
"env": {
"PLANKA_BASE_URL": "https://your-planka-instance.com",
"PLANKA_AGENT_EMAIL": "agent@yourdomain.com",
"PLANKA_AGENT_PASSWORD": "your-secure-password",
"PLANKA_IGNORE_SSL": "true"
}
}
Útil quando você está contribuindo para o próprio servidor ou precisa de uma compilação fixa e offline.
[!TIP] Defina
PLANKA_IGNORE_SSLcomo"true"apenas para certificados autoassinados em ambientes confiáveis/locais — deixe-o sem definição em produção.
Verifique a Conexão
Pergunte algo somente leitura ao seu agente primeiro, por exemplo, "Liste meus projetos do Planka." Se você receber uma resposta real, a conexão está configurada corretamente.
Exemplos de Configuração de Cliente
A maioria dos clientes MCP compartilha exatamente o mesmo formato JSON mcpServers — apenas o local do arquivo de configuração difere. Clientes com formato diferente (Codex, Continue, Zed) têm seu próprio bloco abaixo.
Clientes padrão mcpServers - Claude Desktop, Claude Code, Cursor, Windsurf, Cline, Antigravity
{
"mcpServers": {
"planka-mcp": {
"command": "npx",
"args": ["-y", "@goldpulpy/planka-v2-mcp@latest"],
"env": {
"PLANKA_BASE_URL": "https://your-planka-instance.com",
"PLANKA_AGENT_EMAIL": "agent@yourdomain.com",
"PLANKA_AGENT_PASSWORD": "your-secure-password",
"PLANKA_IGNORE_SSL": "true"
}
}
}
}
Insira este bloco no arquivo de configuração relevante:
| Cliente | Arquivo de configuração |
|---|---|
| Claude Desktop | macOS: ~/Library/Application Support/Claude/claude_desktop_config.json · Windows: %APPDATA%\Claude\claude_desktop_config.json |
| Claude Code (CLI) | .mcp.json na raiz do seu projeto (ou claude mcp add, veja abaixo) |
| Cursor | ~/.cursor/mcp.json (global) ou .cursor/mcp.json (projeto) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Cline (VS Code) | cline_mcp_settings.json, via Cline → MCP Servers → Configure MCP Servers (adicione "disabled": false, "autoApprove": [] à entrada do servidor) |
| Antigravity | Via Settings → MCP Servers → Add Server, ou diretamente no arquivo de configuração |
[!NOTE] O Claude Code também suporta adicionar o servidor por meio de um comando de linha única em vez de editar o JSON manualmente:
claude mcp add planka-mcp \ --env PLANKA_BASE_URL=https://your-planka-instance.com \ --env PLANKA_AGENT_EMAIL=agent@yourdomain.com \ --env PLANKA_AGENT_PASSWORD=your-secure-password \ --env PLANKA_IGNORE_SSL=true \ -- npx -y @goldpulpy/planka-v2-mcp@latest
Reinicie o cliente após salvar.
Codex CLI
Edite ~/.codex/config.toml:
[mcp_servers.planka-mcp]
command = "npx"
args = ["-y", "@goldpulpy/planka-v2-mcp@latest"]
[mcp_servers.planka-mcp.env]
PLANKA_BASE_URL = "https://your-planka-instance.com"
PLANKA_AGENT_EMAIL = "agent@yourdomain.com"
PLANKA_AGENT_PASSWORD = "your-secure-password"
PLANKA_IGNORE_SSL = "true"
Ou adicione em uma única linha:
codex mcp add planka-mcp -- npx -y @goldpulpy/planka-v2-mcp@latest
depois defina as variáveis PLANKA_* no bloco [mcp_servers.planka-mcp.env] gerado.
Continue (extensão VS Code / JetBrains)
Adicione a ~/.continue/config.yaml:
mcpServers:
- name: planka-mcp
command: npx
args:
- -y
- "@goldpulpy/planka-v2-mcp@latest"
env:
PLANKA_BASE_URL: https://your-planka-instance.com
PLANKA_AGENT_EMAIL: agent@yourdomain.com
PLANKA_AGENT_PASSWORD: your-secure-password
PLANKA_IGNORE_SSL: "true"
Zed
Edite ~/.config/zed/settings.json (macOS/Linux) ou %APPDATA%\Zed\settings.json (Windows), ou abra via Cmd+Shift+P → "zed: open settings":
{
"context_servers": {
"planka-mcp": {
"source": "custom",
"command": "npx",
"args": ["-y", "@goldpulpy/planka-v2-mcp@latest"],
"env": {
"PLANKA_BASE_URL": "https://your-planka-instance.com",
"PLANKA_AGENT_EMAIL": "agent@yourdomain.com",
"PLANKA_AGENT_PASSWORD": "your-secure-password",
"PLANKA_IGNORE_SSL": "true"
}
}
}
}
"source": "custom" é necessário para servidores adicionados manualmente (ao contrário daqueles instalados por meio de uma extensão do Zed). O Zed recarrega o servidor automaticamente após salvar — não é necessário reiniciar o editor.
Qualquer outro cliente compatível com MCP
O servidor é um servidor MCP stdio padrão — qualquer cliente que suporte o formato command / args / env funcionará. Aponte-o para:
npx -y @goldpulpy/planka-v2-mcp@latest
com as quatro variáveis de ambiente PLANKA_* definidas como mostrado acima.
Variáveis de Ambiente
| Variável | Obrigatória | Padrão | Descrição |
|---|---|---|---|
PLANKA_BASE_URL | ✅ | - | URL completa da sua instância Planka |
PLANKA_AGENT_EMAIL | ✅ | - | E-mail de login do usuário agente dedicado |
PLANKA_AGENT_PASSWORD | ✅ | - | Senha do usuário agente |
PLANKA_IGNORE_SSL | ❌ | false | Ignorar verificação SSL - apenas para certificados autoassinados/locais |
Segurança
- A autenticação é realizada usando uma conta de usuário Planka dedicada.
- As credenciais são fornecidas apenas por meio de variáveis de ambiente.
- O servidor MCP não persiste dados do quadro fora do processo em execução.
- A verificação de certificado SSL está habilitada por padrão.
PLANKA_IGNORE_SSL=truedeve ser usado apenas em ambientes locais confiáveis ou auto-hospedados.
Solução de Problemas
O cliente não consegue ver nenhuma ferramenta / a conexão falha silenciosamente
- Confirme que
PLANKA_BASE_URLnão tem barra final e está acessível a partir da máquina que executa o servidor MCP (não apenas do seu navegador). - Verifique se o usuário agente consegue fazer login com essas credenciais exatas através da interface web normal do Planka e aceitou os termos de serviço.
Erros de SSL / certificado
- Se sua instância usa um certificado autoassinado, defina
"PLANKA_IGNORE_SSL": "true". Evite isso em produção - prefira um certificado válido.
Cartões são criados, mas listas de verificação/subtarefas não aparecem
- Certifique-se de que o tipo de cartão seja
"project"(o padrão). Cartões criados como tipo"story"não expõem Listas de Tarefas da mesma forma.
Desenvolvimento
# Install dependencies
npm install
# Configure environment variables
cp .env.example .env
# Start the bundled Planka development instance
npm run planka:up
# Build the project
npm run build
# Run @modelcontextprotocol/inspector
npm run inspector
A instância de desenvolvimento requer Docker Compose e está disponível em
http://localhost:3000 (login: admin@example.com / admin). Atualize .env com
essa URL e login para uso local. Como com qualquer conta MCP recém-criada, faça login
através do navegador e aceite os termos de serviço antes de usar a conta com o
servidor MCP. Pare a instância preservando seus dados com npm run planka:down,
ou pare-a e exclua seus volumes com npm run planka:clear.
Semear um Quadro de Demonstração
O comando de semeadura exclusivo para desenvolvimento cria um quadro representativo para testes locais e
demonstrações. Instale as dependências do projeto e configure .env com uma instância Planka v2
acessível e valores válidos de PLANKA_BASE_URL, PLANKA_AGENT_EMAIL e PLANKA_AGENT_PASSWORD
antes de executá-lo.
# Reuse or create the private "Demo Project", then create "Demo Board"
npm run seed
# Seed an existing project
npm run seed -- --project-id <project-id>
# Choose a different board name
npm run seed -- --project-id <project-id> --board-name "My Demo Board"
# Show all options
npm run seed -- --help
O quadro inclui cartões nas listas de fluxo de trabalho padrão, descrições, datas de vencimento relativas, etiquetas Planka usadas como tags, listas de tarefas, tarefas concluídas e incompletas, e comentários. O comando imprime o ID do projeto, ID do quadro, nome do quadro e contagens de recursos quando é bem-sucedido.
O comando de semeadura se recusa a modificar um projeto que já contém um quadro com o nome exato solicitado;
use --board-name para escolher outro nome. Se ocorrer um erro após a criação do quadro, o comando
relata o estágio com falha e o ID do quadro e deixa o quadro parcialmente preenchido disponível para
inspeção. Exclua esse quadro no Planka antes de tentar novamente com o mesmo nome.
A fonte de semeadura e sua saída .seed-dist/ compilada separadamente são exclusivas para desenvolvimento e não são
incluídas na compilação do servidor MCP ou no pacote publicado.
Contribuindo
Contribuições são bem-vindas. Veja CONTRIBUTING.md para detalhes.
Agradecimentos
Este projeto é um fork de Navya-Tecnologia/planka-v2-mcp, que se baseia em bradrisse/kanban-mcp. Agradecemos a @virapa e @bradrisse pela base por trás deste código.
Licença
Licenciado sob a Licença MIT. Veja LICENSE para detalhes.
Este projeto foca exclusivamente na interface MCP. Para a configuração do servidor Planka em si, veja a documentação oficial do Planka.