Skip to main content
Glama
MCP Gestão de Tarefas

MCP Gestão de Tarefas

by bcosta19

MCP Task Management

Standalone server based on the Model Context Protocol (MCP) to integrate development agents with the Task Management system.

Requirements

  • Node.js 22.5 or higher;

  • access to the Task Management server;

  • valid credentials or an authentication token.

Related MCP server: Cherry Studio Task Board

Installation

npm install
npm run build

Configuration and authentication

The assistant configures the server URL and authentication locally. The URL can be provided via the GESTAO_TAREFAS_API_URL variable, the --api-url argument, or during the assistant's execution.

npm run setup

When the URL is not configured, the assistant will prompt:

URL do Gestão de Tarefas:

It is also possible to provide access data via arguments:

npm run setup -- \
  --api-url=https://seu-servidor-de-gestao.exemplo \
  --email=seu.email@empresa.gov.br \
  --password=suasenha

To use an existing web session or token:

npm run setup -- --api-url=https://seu-servidor-de-gestao.exemplo --token=SEU_TOKEN

The assistant attempts to authenticate via a JSON endpoint and, if not available, uses the web form with CSRF. Credentials are not versioned. The session or token is saved in the local .env and in ~/.gestao-tarefas-mcp/config.json.

An existing web session or token can be provided to the assistant or configured in GESTAO_TAREFAS_API_TOKEN.

Environment variables

The .env.example file contains the reference configuration:

GESTAO_TAREFAS_API_URL=https://seu-servidor-de-gestao.exemplo
GESTAO_TAREFAS_API_TOKEN=cole_a_sessao_web_ou_token_aqui
OFFLINE_QUEUE_PATH=~/.gestao-tarefas-mcp/queue.sqlite
REQUEST_TIMEOUT_MS=5000
IGNORE_PREFEITURA=true
IGNORED_PROJECT_PATTERNS=prefeitura,pmsp,pref-,pm-,pm_

Do not place tokens, passwords, or cookies in versioned files.

Features

The server provides tools for:

  • detecting the current project and its link to the system;

  • listing projects, demands, and sprints;

  • creating demands and subtasks;

  • updating subtasks and querying demand details;

  • associating demands with sprints;

  • operating with an offline queue and syncing items later;

  • checking connectivity and authentication status.

Projects marked as external or belonging to the City Hall can be automatically ignored. This behavior is controlled by IGNORE_PREFEITURA, IGNORED_PROJECT_PATTERNS, and the .gestaotarefas.json file.

Execution

The server uses stdio and must be run from the build:

npm run build
node dist/index.js

Example configuration for an MCP client:

{
  "mcpServers": {
    "gestao-tarefas": {
      "command": "node",
      "args": ["/caminho/para/mcp-gestao-tarefas/dist/index.js"],
      "env": {
        "GESTAO_TAREFAS_API_URL": "https://seu-servidor-de-gestao.exemplo",
        "GESTAO_TAREFAS_API_TOKEN": "CONFIGURADO_LOCALMENTE",
        "OFFLINE_QUEUE_PATH": "~/.gestao-tarefas-mcp/queue.sqlite",
        "IGNORE_PREFEITURA": "true"
      }
    }
  }
}

After changing the code, run npm run build and restart the MCP client.

The component and flow overview is in ARCHITECTURE.md.

Development agent configuration

An agent with workspace access can configure the server following this sequence:

Configure o servidor MCP deste projeto.

1. Leia o README.md e identifique o cliente MCP em uso.
2. Use o diretório atual como diretório do projeto.
3. Instale as dependências apenas se necessário.
4. Execute npm run build.
5. Registre o servidor usando node dist/index.js e preserve as demais
   configurações existentes do cliente.
6. Solicite a URL do servidor e a autenticação caso ainda não estejam
   configuradas. Não exiba nem grave tokens ou senhas no chat.
7. Inicie o servidor ou informe que o cliente precisa ser reiniciado.

The agent must ask for confirmation before overwriting existing configurations or installing dependencies. If it does not have permission to change the client configuration, it must provide instructions for manual application.

Project configuration

The .gestaotarefas.json file must be created at the root of the repository that will be integrated with Task Management, at the same level as the .git directory:

meu-projeto/
├── .git/
├── .gestaotarefas.json
├── package.json
└── src/

The MCP looks for this file starting from the current directory and continues going up through parent folders. Thus, a configuration placed in a common folder can also be shared by multiple repositories. The alternative name .gestao-tarefas.json is also accepted.

To link the repository to a project, create meu-projeto/.gestaotarefas.json with the corresponding identifier:

{
  "projeto_id": 1,
  "nome": "Gestão de Tarefas",
  "departamento": "TI"
}

To disable the MCP only in this repository, use the same file:

{
  "nome": "Projeto externo",
  "tipo": "externo",
  "ignorado": true,
  "motivo": "Projeto fora do escopo"
}

Tests

npm test

The suite covers authentication, context detection, bypass of ignored projects, HTTP communication, offline queue, synchronization, and MCP tools.

Available Tools

14 tools
associar_demanda_sprintA

Associa uma demanda existente a uma sprint. A API rejeita a operação se a demanda já estiver em outra sprint.

Inputs: sprint_id (required), demanda_id (required).

atualizar_demandaA

Atualiza campos de uma demanda existente (projeto, título, descrição, prioridade, status, responsável, sprint, datas, classificação ITIL, estimativa, solicitante).

Inputs: demanda_id (required), projeto_id (required), status, titulo, +12 more.

atualizar_subtarefaC

Atualiza campos de uma subtarefa (título, descrição, status ou data limite) ou atualiza múltiplos IDs em lote.

Inputs: status, titulo, descricao, data_limite, +2 more.

concluir_subtarefasA

Conclui ou altera o status de múltiplas subtarefas em uma única operação (passando uma lista de subtarefa_ids ou o demanda_id para concluir todas as pendentes daquela demanda).

Inputs: status, demanda_id, subtarefa_ids.

criar_demandaA

Registra uma nova demanda no sistema de Gestão de Tarefas. A operação é bloqueada para projetos não identificados ou explicitamente ignorados. Se a rede estiver offline, salva na fila local.

Inputs: titulo (required), descricao (required), prioridade (required), projeto_id (required), +11 more.

criar_subtarefaA

Cria uma subtarefa técnica vinculada a uma demanda existente. A operação é bloqueada para projetos não identificados ou explicitamente ignorados. Se offline, armazena na fila local para posterior envio.

Inputs: titulo (required), demanda_id (required), descricao, data_limite, +2 more.

listar_demandas_ativasB

Lista as demandas abertas ou em andamento de um projeto para análise de contexto e vínculo de subtarefas.

Inputs: projeto_id (required), status, responsavel_id.

listar_projetosC

Lista todos os projetos cadastrados no sistema de Gestão de Tarefas.

Inputs: status.

listar_sprintsA

Lista as sprints visíveis, em ordem da mais recente para a mais antiga.

Inputs: no named parameters.

obter_contexto_projetoA

Identifica o projeto ativo com base no diretório de trabalho atual (via .gestaotarefas.json ou Git), verificando se o MCP deve operar ou se está desativado para projetos externos ou não identificados.

Inputs: diretorio_path.

obter_detalhes_demandaB

Consulta os detalhes completos de uma demanda específica, incluindo suas subtarefas e responsáveis.

Inputs: demanda_id (required).

renovar_sessaoB

Renova a sessão de autenticação do Gestão de Tarefas utilizando as credenciais salvas ou novas credenciais informadas.

Inputs: email, password.

sincronizar_fila_offlineB

Força o envio de todas as demandas e subtarefas que foram geradas localmente enquanto desconectado da VPN/intranet.

Inputs: no named parameters.

verificar_status_conexaoA

Informa o estado da conexão com a API da intranet, a validade do token de autenticação e a quantidade de itens na fila offline pendente.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 14 tools

    Disambiguation4/5

    Most tools target distinct resources and actions, e.g. project context vs project listing, demand details vs active demand list. Some boundary ambiguity exists between atualizar_subtarefa and concluir_subtarefas, since both can change subtask statuses in bulk, but their primary intents are distinguishable.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in Portuguese snake_case (obter_, listar_, criar_, atualizar_, concluir_, etc.). There are no mixed conventions or inconsistent verb styles.

    Tool Count5/5

    14 tools is well within the appropriate range for a task-management MCP server. Each tool addresses a distinct workflow area: project context, demand lifecycle, subtask management, sprints, and offline/session handling.

    Completeness4/5

    The core demand/subtask lifecycle is covered: create, read, update, list, bulk conclude, and sprint association. Minor gaps exist such as no delete/archive operations and no all-demand listing beyond active demands, but these are workable.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers