kontato

Give your AI agents a real WhatsApp number to send and receive messages.

사용해야 할까요

품질 및 안전성

B
설명 품질
82%
스키마 완전성
94%
이름 품질
91%
오염 위험
40%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (7)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'schedule' description contains placeholder textschedule에서
  • MEDIUMTool 'send' description contains placeholder textsend에서
  • MEDIUMTool 'status' description contains placeholder textstatus에서
  • INFOTool description contains placeholder or incomplete textschedule에서
  • INFOTool description contains placeholder or incomplete textsend에서
  • INFOTool description contains placeholder or incomplete textstatus에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,361토큰 (도구 정의)
~1.5 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.84%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "kontato": {
      "url": "https://api.kontato.ai/mcp"
    }
  }
}

원격 엔드포인트

https://api.kontato.ai/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (9)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
⚪provision(email, owner_phone)

ATIVA a conta Kontato do telefone informado — cria apenas se ainda nao existir; se ja existe, reutiliza a MESMA conta (e normal e esperado chamar com conta existente: funciona como login). IDEMPOTENTE POR TELEFONE: se ja existe conta para o owner_phone, devolve a MESMA conta — entao e seguro chamar de novo em qualquer sessao ou depois de um restart (o usuario nunca precisa lidar com api_key). Se a resposta vier com verification_required=false (numero ja verificado antes), NAO peca OTP: chame `send` direto. Informe owner_phone (formato internacional so digitos, ex: 5511999998888) para habilitar o caso seguro de self-notification: o agente entrega no WhatsApp do proprio dono. Retorna o whatsapp_bridge_number (numero generico do Kontato que envia, nunca o numero pessoal do dono).

입력 스키마

{
  "type": "object",
  "properties": {
    "email": {
      "description": "E-mail do dono (opcional).",
      "type": "string"
    },
    "owner_phone": {
      "description": "Numero WhatsApp do dono, so digitos, como texto ou numero (ex: 5511999998888). Vira o destino default das self-notifications.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪verify_number(code, owner_phone)

Confirma o numero do dono com o codigo OTP de 6 digitos que chegou no WhatsApp dele apos o `provision`. OBRIGATORIO antes de enviar/agendar: ate verificar, `send`/`reply`/`schedule` retornam 403 owner_not_verified. Se o codigo expirou ou errou demais, chame de novo apos pedir um novo (resend) ao operador.

입력 스키마

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Codigo de 6 digitos recebido no WhatsApp do dono (texto ou numero)."
    },
    "owner_phone": {
      "description": "Numero do dono (so digitos, como texto ou numero). Passe para reativar a conta se a sessao MCP for nova (clientes stateless).",
      "type": "string"
    }
  },
  "required": [
    "code"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪schedule(prompt, schedule_type, schedule_value, owner_phone)

Registra uma entrega recorrente ou unica no scheduler do Kontato. No horario, o Kontato roda o `prompt` como um agente completo (com web/Exa) e entrega no WhatsApp do dono. USE ISTO para "todo dia me manda X": voce nao precisa ficar online nem prometer trabalho futuro — o scheduler dispara sozinho. O `prompt` deve ser autossuficiente (ex: "Busque as principais noticias do mercado financeiro de hoje e entregue um resumo curto").

입력 스키마

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "description": "O que entregar quando disparar. Autossuficiente."
    },
    "schedule_type": {
      "type": "string",
      "enum": [
        "cron",
        "interval",
        "once"
      ],
      "description": "cron=recorrente em horarios; interval=a cada N ms; once=uma vez."
    },
    "schedule_value": {
      "type": "string",
      "description": "cron: \"0 8 * * *\" (todo dia 8h, fuso BRT) | interval: ms como \"3600000\" | once: horario local \"2026-06-20T15:30:00\" (sem Z)."
    },
    "owner_phone": {
      "description": "Numero do dono (so digitos, como texto ou numero). Passe para reativar a conta se a sessao MCP for nova (clientes stateless).",
      "type": "string"
    }
  },
  "required": [
    "prompt",
    "schedule_type",
    "schedule_value"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_schedules(owner_phone)

Lista as entregas agendadas (recorrentes/unicas) desta conta, com proximo disparo.

입력 스키마

{
  "type": "object",
  "properties": {
    "owner_phone": {
      "description": "Numero do dono (so digitos, como texto ou numero). Passe para reativar a conta se a sessao MCP for nova (clientes stateless).",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴cancel_schedule(schedule_id, owner_phone)

Cancela uma entrega agendada pelo seu schedule_id (obtido em `list_schedules` ou `schedule`).

입력 스키마

{
  "type": "object",
  "properties": {
    "schedule_id": {
      "type": "string",
      "description": "ID do schedule a cancelar."
    },
    "owner_phone": {
      "description": "Numero do dono (so digitos, como texto ou numero). Passe para reativar a conta se a sessao MCP for nova (clientes stateless).",
      "type": "string"
    }
  },
  "required": [
    "schedule_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡send(message, to, template_name, template_variables, owner_phone)

Envia uma mensagem de WhatsApp pelo numero-ponte do Kontato. CASO SEGURO: se OMITIR "to", entrega no WhatsApp do PROPRIO DONO (self-notification). JANELA DE 24H: e resolvida AUTOMATICAMENTE pelo servidor — mande so "message"; se a janela do WhatsApp estiver fechada, o Kontato embrulha o texto num template aprovado e entrega mesmo assim (a resposta volta com via="template"). NAO pergunte ao dono sobre janela nem sobre template; nunca peca para ele "mandar oi" antes. REGRA TURN-BASED: voce nao executa trabalho no futuro; se pedirem algo recorrente ("todo dia me manda X"), faca a entrega de HOJE agora e oriente a registrar um schedule, nunca prometa entrega futura.

입력 스키마

{
  "type": "object",
  "properties": {
    "message": {
      "description": "Texto da mensagem (obrigatorio quando NAO usar template).",
      "type": "string"
    },
    "to": {
      "description": "Destino so com digitos, como texto ou numero. OMITA para enviar ao proprio dono (recomendado).",
      "type": "string"
    },
    "template_name": {
      "description": "AVANCADO, normalmente DESNECESSARIO: a janela de 24h ja e tratada sozinha pelo servidor. Use apenas para escolher um template especifico. Templates disponiveis (nome, variaveis em ordem): kontato_aviso (1 variável: texto da notificação) — Notificação genérica do agente para o dono. É o template usado AUTOMATICAMENTE pela API quando a janela de 24h está fechada.; kontato_lembrete (1 variável: texto do lembrete) — Lembrete que o dono programou com o agente.; kontato_ativacao (2 variáveis: nome do destinatário, nome do agente ou da empresa) — Primeiro contato com um destinatário NOVO (traz botões \"Ativar recebimento\" / \"Não quero receber\")..",
      "type": "string"
    },
    "template_variables": {
      "description": "Variaveis posicionais do template ({{1}}, {{2}}...), em ordem.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "owner_phone": {
      "description": "Numero do DONO da conta (so digitos, como texto ou numero). Passe SEMPRE que souber: reativa a conta automaticamente quando a sessao MCP e nova (clientes stateless como o conector do claude.ai).",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪reply(to, message, owner_phone)

Responde a um numero especifico que mandou mensagem para o numero-ponte. Igual a `send`, mas "to" e OBRIGATORIO. Responder a quem te escreveu (reply-ratio alto) e mais seguro que cold outbound.

입력 스키마

{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "Destino so com digitos, como texto ou numero (ex: 5511999998888)."
    },
    "message": {
      "type": "string",
      "description": "Texto da resposta."
    },
    "owner_phone": {
      "description": "Numero do dono (so digitos, como texto ou numero). Passe para reativar a conta se a sessao MCP for nova (clientes stateless).",
      "type": "string"
    }
  },
  "required": [
    "to",
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_messages(since, limit, owner_phone)

Lista o historico de mensagens do numero-ponte (recebidas e enviadas), mais recentes primeiro. Use para decidir a quem responder com `reply`.

입력 스키마

{
  "type": "object",
  "properties": {
    "since": {
      "description": "Timestamp ISO 8601; retorna apenas mensagens posteriores.",
      "type": "string"
    },
    "limit": {
      "description": "Maximo de mensagens (1 a 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "owner_phone": {
      "description": "Numero do dono (so digitos, como texto ou numero). Passe para reativar a conta se a sessao MCP for nova (clientes stateless).",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢status(owner_phone)

Mostra o estado da conta Kontato: ativa ou nao, numero-ponte, e os schedules (rotinas) ja registrados. Use para honrar a regra turn-based: antes de dizer que algo sera entregue "todo dia", confirme aqui se existe um schedule ativo.

입력 스키마

{
  "type": "object",
  "properties": {
    "owner_phone": {
      "description": "Numero do dono (so digitos, como texto ou numero). Passe para reativar a conta se a sessao MCP for nova (clientes stateless).",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

권장 프롬프트

list_items
List all [items] available in kontato
예상 도구: list_schedules
browse_collection
Show me the [collection] from kontato
예상 도구: list_schedules

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 9개
검증됨버전이 기록되지 않음도구 9개