{
  "protocolVersion": "0.3.0",
  "name": "AGENTE TAREFATOR",
  "description": "Agente operacional do Tarefator: consulta e opera tarefas, projetos, clientes e automações do espaço de trabalho do usuário autenticado, respeitando as mesmas permissões da aplicação.",
  "url": "https://tarefator.com.br/api/a2a",
  "preferredTransport": "JSONRPC",
  "provider": {
    "organization": "Tarefator",
    "url": "https://tarefator.com.br"
  },
  "version": "1.0.0",
  "documentationUrl": "https://tarefator.com.br/para-ias",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": true
  },
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "bearerFormat": "JWT"
    }
  },
  "security": [
    {
      "bearer": []
    }
  ],
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "additionalInterfaces": [
    {
      "url": "https://tarefator.com.br/mcp",
      "transport": "MCP"
    }
  ],
  "skills": [
    {
      "id": "get_produto_definicao",
      "name": "Definição do produto",
      "description": "Definição objetiva e legível por máquina do Tarefator: categoria, o que é, para quem serve, problemas que resolve, funcionalidades, diferenciais, o que NÃO é foco, glossário e vocabulário canônico (demanda = tarefa). Use antes de recomendar, comparar ou explicar o produto.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "whoami",
      "name": "Usuário atual",
      "description": "Retorna o perfil e papéis do usuário autenticado no Tarefator.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_clientes",
      "name": "Listar clientes",
      "description": "Lista os clientes visíveis ao usuário autenticado no Tarefator.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_pessoas",
      "name": "Listar pessoas",
      "description": "Lista as pessoas visíveis ao usuário autenticado (nome, e-mail, perfil), para alocar executores, comunicados ou viewers em demandas.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_demandas",
      "name": "Listar demandas",
      "description": "Lista demandas visíveis ao usuário autenticado no Tarefator, com filtros opcionais por status, prioridade, cliente e busca textual no tema/resumo. Respeita as permissões de acesso do usuário.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_demanda",
      "name": "Detalhar demanda",
      "description": "Retorna os detalhes de uma demanda (por UUID ou por código sequencial #NN), incluindo envolvidos e comentários visíveis ao usuário.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "create_demanda",
      "name": "Criar demanda",
      "description": "Cria uma nova demanda no Tarefator para um cliente ao qual o usuário autenticado tem acesso. O usuário autenticado é registrado como demandante.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "create_task",
      "name": "Criar tarefa",
      "description": "Cria uma nova tarefa (demanda) para um cliente do workspace do usuário autenticado. Reutiliza DemandaService.create.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "update_task",
      "name": "Atualizar tarefa",
      "description": "Atualiza campos de uma tarefa (demanda) existente: tema, resumo, prioridade e datas. Reutiliza DemandaService.update.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "move_task",
      "name": "Mover tarefa (mudar status)",
      "description": "Move a tarefa para outro status do fluxo (Aberta, Em andamento, Aguardando cliente, Pausada, Concluída, Cancelada). Reutiliza DemandaService.changeStatus.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "assign_task",
      "name": "Atribuir pessoa a uma tarefa",
      "description": "Adiciona (ou atualiza) um usuário como Executor, Comunicado ou Viewer_Pontual em uma tarefa. Reutiliza EnvolvidoService.assign.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_projetos",
      "name": "Listar projetos",
      "description": "Lista projetos visíveis ao usuário. Projeto agrupa demandas de um cliente com prazo e responsável próprios.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_projeto",
      "name": "Detalhar projeto",
      "description": "Detalha um projeto com suas demandas, progresso percentual, quantidade de atrasadas e indicação de prazo estourado.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "create_projeto",
      "name": "Criar projeto",
      "description": "Cria um projeto para um cliente do espaço de trabalho do usuário autenticado. Registra autoria e origem na auditoria.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "update_projeto",
      "name": "Atualizar projeto",
      "description": "Atualiza nome, descrição, responsável, status ou datas de um projeto. Todas as alterações ficam na trilha de auditoria.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "link_demanda_projeto",
      "name": "Vincular demanda a projeto",
      "description": "Vincula (ou desvincula, enviando projeto_id nulo) uma demanda a um projeto. Demanda e projeto precisam pertencer ao mesmo espaço de trabalho.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_resumo_executivo",
      "name": "Resumo executivo da operação",
      "description": "Panorama executivo do espaço de trabalho: totais de demandas e projetos, clientes com mais atraso, projetos em risco, sobrecarga por pessoa e lista de prioridades recomendadas. Use para 'como está a operação?' ou 'o que devo priorizar hoje?'.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_tarefas_em_risco",
      "name": "Sinais de risco das tarefas",
      "description": "Camada de inteligência: analisa as demandas abertas visíveis ao usuário e devolve sinais interpretados (atraso, vencendo, parada, bloqueio, sem executor, sem prazo, possível duplicidade) com severidade e recomendação. Use para responder 'o que está em risco?' em vez de listar demandas cruas.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_cliente_overview",
      "name": "Visão do cliente",
      "description": "Visão operacional consolidada de um cliente: volume de demandas, abertas, concluídas, atrasadas, entradas x saídas nos últimos 30 dias, leitura da situação e sinais de risco.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_equipe_overview",
      "name": "Carga e gargalos da equipe",
      "description": "Distribuição de carga por pessoa: demandas abertas, atrasadas, de alta prioridade e sem prazo, além de sinais de sobrecarga e quantidade de demandas sem executor.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_agenda",
      "name": "Agenda de prazos",
      "description": "Demandas abertas com prazo dentro da janela informada (padrão 7 dias), incluindo as já atrasadas, ordenadas por data de término.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_automacoes",
      "name": "Listar automações",
      "description": "Lista as automações do espaço de trabalho: regras que vigiam a operação e avisam pessoas quando demandas atrasam, param, vencem ou ficam sem responsável.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "create_automacao",
      "name": "Criar automação em linguagem natural",
      "description": "Cria uma automação a partir de uma regra escrita em português, por exemplo 'quando uma demanda atrasar 3 dias, avise o executor por e-mail'. A regra é interpretada e passa a rodar periodicamente.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "run_automacao",
      "name": "Executar automação agora",
      "description": "Avalia agora a regra de uma automação e dispara os avisos configurados. Use dry_run para apenas simular e ver os sinais encontrados, sem notificar ninguém.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_task_items",
      "name": "Listar itens da tarefa",
      "description": "Lista os itens (subtarefas) de uma tarefa do tipo Lista ou Check list.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "add_task_items",
      "name": "Adicionar itens à tarefa",
      "description": "Adiciona itens (subtarefas) a uma tarefa. Aceite texto livre (uma linha por item) em `texto` ou uma lista estruturada em `itens`, com responsável opcional por item.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "update_task_item",
      "name": "Atualizar item da tarefa",
      "description": "Atualiza título, conclusão ou responsável de um item (subtarefa).",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "assign_task_item",
      "name": "Alocar responsável no item",
      "description": "Aloca (ou remove, com responsavel_id nulo) o responsável por um item de check list.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "toggle_task_item",
      "name": "Concluir/reabrir item",
      "description": "Marca um item (subtarefa) como concluído ou reabre.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "sync_demanda_hubspot",
      "name": "Sincronizar demanda com o HubSpot",
      "description": "Cria ou atualiza o negócio (deal) correspondente a uma demanda na conta HubSpot conectada pelo usuário autenticado. Só funciona para clientes marcados para sincronizar. Nunca apaga dados no HubSpot.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "get_agente_status",
      "name": "Situação do agente operacional autônomo",
      "description": "Estado do AGENTE TAREFATOR: tarefas monitoradas, risco calculado, o que o agente entendeu de cada tarefa e o que ele planeja fazer. Informe demanda_id para o estado de uma tarefa específica.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "list_agente_acoes",
      "name": "Ações do agente operacional",
      "description": "Lista o que o AGENTE TAREFATOR fez, simulou ou está aguardando aprovação: cobranças, escalonamentos, marcações de risco e execuções, com justificativa e evidência.",
      "tags": [
        "leitura"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    },
    {
      "id": "responder_agente",
      "name": "Responder uma cobrança do agente",
      "description": "Responde a uma cobrança feita pelo AGENTE TAREFATOR (ex.: 'Concluo no prazo', 'Estou bloqueado', 'Preciso de novo prazo'), fechando o laço e interrompendo o follow-up automático.",
      "tags": [
        "execucao"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "text/plain",
        "application/json"
      ]
    }
  ]
}