Allows for the management of a Kanban task board using Google Sheets as a backend, providing tools for searching, adding, and updating tasks with support for batch operations and pagination.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Sheets Kanban MCP Serverlist all high priority tasks in the MCP project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server - Google Sheets Kanban
Servidor MCP (Model Context Protocol) para gerenciamento de tarefas em um quadro Kanban utilizando Google Sheets como backend.
Características
Integração com Google Sheets: Usa Google Sheets API v4 para armazenamento de dados
Modelos Pydantic: Validação de dados com Pydantic v2
Operações em Lote: Suporte para adicionar e atualizar múltiplas tarefas de uma vez
Busca Avançada: Filtros por prioridade, status, contexto, projeto e texto
Paginação: Suporte completo para navegação paginada de resultados
Protocolo MCP: Compatível com clientes MCP via STDIO
Configuração
Claude
Executar o seguinte comando na pasta do projeto:
claude mcp add --transport stdio kanban-sheets -- uv run -- --directory "caminho\projeto\sua\maquina" python main.py
Ferramentas Disponíveis
1. get_one_task - Buscar Tarefa Específica
Busca uma tarefa específica pelo ID da tarefa e nome do projeto.
Parâmetros:
project(obrigatório): Nome do projetotask_id(obrigatório): ID único da tarefa
Exemplo:
Retorno (sucesso):
Retorno (não encontrada):
2. list_tasks - Listar e Buscar Tarefas
Lista e busca tarefas da planilha com filtros avançados e paginação opcional.
Parâmetros:
filters(opcional): Objeto com critérios de buscaprioridade: Lista de prioridades (Baixa, Normal, Alta, Urgente)status: Lista de status para filtrarcontexto: Filtro por contexto (busca parcial, case-insensitive)projeto: Filtro por projeto (busca parcial, case-insensitive)texto_busca: Busca em Descrição e Detalhado (case-insensitive)task_id: Busca por Task ID específicosprint: Filtro por Sprint
pagination(opcional): Objeto compage(número da página) epage_size(itens por página)
Exemplos:
Retorno (sem paginação):
Retorno (com paginação):
3. add_task - Adicionar Tarefa
Adiciona uma nova tarefa na planilha.
Parâmetros:
task: Objeto Task com todos os campos
Exemplo:
4. update_task - Atualizar Tarefa
Atualiza uma tarefa existente pelo Task ID.
Parâmetros:
task_id: ID da tarefa a ser atualizadaupdates: Dicionário com campos a atualizar
Exemplo:
5. batch_add_tasks - Adicionar Múltiplas Tarefas
Adiciona múltiplas tarefas em uma única operação.
Parâmetros:
batch: Objeto BatchTaskAdd contendo lista de tarefas
Exemplo:
Retorno:
6. batch_update_tasks - Atualizar Múltiplas Tarefas
Atualiza múltiplas tarefas em uma única operação.
Parâmetros:
batch: Objeto BatchTaskUpdate contendo lista de atualizações
Exemplo:
Retorno:
7. get_valid_configs - Obter Configurações Válidas
Retorna os valores válidos para Status e Prioridade.
Retorno:
Modelos de Dados
Task
BatchTaskAdd
BatchTaskUpdate
Onde TaskUpdate é:
SearchFilters
PaginationParams
PaginatedResponse
Configuração
Pré-requisitos
Python 3.13.5 ou superior
Conta Google Cloud com Google Sheets API habilitada
Arquivo
credentials.jsoncom credenciais de Service Account
Variáveis de Ambiente
Crie um arquivo .env com:
Instalação
Configuração do Cliente MCP
Adicione ao seu cliente MCP:
Estrutura da Planilha
A planilha deve ter as seguintes colunas (A até K):
Coluna | Nome | Descrição |
A | Projeto | Nome do Projeto |
B | Task ID | ID único da tarefa |
C | Task ID Root | ID da tarefa raiz |
D | Sprint | Sprint associada |
E | Contexto | Contexto da tarefa |
F | Descrição | Descrição breve |
G | Detalhado | Descrição detalhada |
H | Prioridade | Prioridade da tarefa |
I | Status | Status atual |
J | Data Criação | Data de criação |
K | Data Solução | Data de solução |
Exemplos de Uso Avançado
Buscar todas as tarefas urgentes pendentes
Listar tarefas de um projeto específico com paginação
Buscar tarefas impedidas ou pausadas
Buscar por palavra-chave na descrição
Tecnologias Utilizadas
FastMCP: Framework para servidores MCP
Pydantic: Validação de dados (v2.12.3)
Google API Python Client: Integração com Google Sheets
google-auth: Autenticação com Google Cloud
Testes
O projeto inclui uma suíte completa de testes usando pytest.
Estrutura de Testes
Instalação das Dependências de Teste
As dependências incluem:
pytest: Framework de testespytest-asyncio: Suporte para testes assíncronospytest-cov: Cobertura de códigopytest-mock: Mocking facilitado
Executar Testes
Estrutura dos Testes
Os testes utilizam mocks do Google Sheets API para não depender de conexões reais. As principais fixtures incluem:
mock_env_vars: Variáveis de ambiente mockadasmock_sheets_service: Mock do serviço Google Sheetsmock_credentials: Mock das credenciais do Googlesample_sheet_data: Dados de exemplo para testesempty_sheet_data: Dados de planilha vazia
Cobertura de Testes
Os testes cobrem:
list_tasks:
Listagem sem filtros
Filtros individuais (prioridade, status, contexto, etc.)
Múltiplos filtros combinados
Paginação
Casos de erro
add_task:
Adição com todos os campos
Adição com campos mínimos
Diferentes prioridades e status
Validação de campos
Tratamento de erros
update_task:
Atualização de campos individuais
Atualização de múltiplos campos
Validação de status e prioridade
Tarefa não encontrada
Tratamento de erros
batch_add_tasks e batch_update_tasks:
Operações em lote bem-sucedidas
Operações parcialmente bem-sucedidas
Validações em lote
Tratamento de erros
get_valid_configs:
Retorno de configurações válidas
Estrutura do retorno
Exemplo de Teste
Configuração do pytest
O arquivo pytest.ini contém as configurações padrão, incluindo:
Padrões de descoberta de testes
Opções de saída
Configuração de cobertura de código
Marcadores customizados
Documentação Adicional
Licença
Este projeto é um servidor MCP para gerenciamento de tarefas em Google Sheets.