Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ai.kontato/kontato

REMOTE · API.KONTATO.AI

Give your AI agents a WhatsApp number and a voice: they message you and call you.

Available components

0 this week 36 Trust /100

Last scanned (9 hours ago)

Scores higher than 19% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Communication

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability0
Schema Quality & AI Usability0
  • Schema blocked by authentication: the endpoint requires auth we don't have to read it. See how to fix → Unverified
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
  • Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Tool Safety0
  • Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.Unverified
Capabilities0
  • Capabilities blocked by authentication: the endpoint requires auth we don't have to read them. See how to fix → Unverified

Unverified: 6 categories

Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm. Claim this server and supply a read-only token to verify it and lift the score.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 10 Oct 26 −41
    • Endpoint reachability: reachable → behind authorisation ▼ security
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Transport: pass → unverified ▼ security
    • Authorization: fail → pass ▲ security
    • First check of Authorization: partial security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • First check of Schema quality: unverified functional
  • 5 Oct 26 0
    • Tool “send” rewrote its description, which is the text the model reads security
    • Schema quality: 2156 → 2396 ▼ functional
    • New tool “authorize_recipient” functional
    • New tool “list_recipients” functional
  • 4 Oct 26 0
    • Schema quality: 1642 → 2156 ▼ functional
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Aug 26 0
    • Tool “send” rewrote its description, which is the text the model reads security
    • Schema quality: 161 → 182 ▼ functional
    • “send” reworded the description of “template_name” cosmetic
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://api.kontato.ai/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.kontato.ai CN=YE1,O=Let's Encrypt,C=US 12 Oct 2026 10 Jan 2027 ECDSA 256 ECDSA-SHA384 62b2515b43c652a80f5dd275b713b1ef9e0
SANs: api.kontato.ai
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.kontato.ai. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 1814, 3799 8, 8 Verified
kontato.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On connection
HTTP status 401

WWW-Authenticate challenge Bearer realm="kontato", resource_metadata="https://api.kontato.ai/.well-known/oauth-protected-resource"

Bearer realm="kontato", resource_metadata="https://api.kontato.ai/.well-known/oauth-protected-resource"
Header Value
www-authenticate Bearer realm="kontato", resource_metadata="https://api.kontato.ai/.well-known/oauth-protected-resource"

Protected resource metadata

Document https://api.kontato.ai/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://api.kontato.ai/mcp
Authorisation server https://api.kontato.ai

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.kontato.ai/mcp Auth required 401
http (plaintext) http://api.kontato.ai/mcp HTTPS enforced 308 https://api.kontato.ai/mcp
MCP tools · 13 exposed · ~2,396 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
authorize_recipient ~143

Asks a phone number for permission to receive messages from this account. By default an account only messages its OWNER; any other number must be authorized: Kontato sends an invite on WhatsApp and the person must reply SIM (yes). Until then, `send`/`reply` to that number are refused. Use it once per person (e.g. a colleague who should get alerts).

NameTypeReqDescription
owner_phonestring–Owner number (digits only). Pass it to reactivate the account if this MCP session is new (stateless clients).
phonestringyesRecipient number, digits with country code (e.g. 5511999998888).

No output schema declared.

No examples provided.

call ~439

Places a phone call to the account OWNER (the person who verified their number), spoken by Kontato's voice assistant on your behalf. Use it when something deserves the owner's attention now, or when you need a decision and they are away from the screen. Modes: "notify" reads a message and asks if they have any instruction; "ask" asks a question (up to 4 options) and confirms the answer; "conversation" is a brainstorm of up to 10 minutes and returns a structured summary (decisions, requirements, open questions, next steps). The call is ASYNC: this tool returns a call_id immediately; then call `get_call` every ~10 seconds until state is "finished". Calls only go to the owner's verified number (never to third parties) and there is a daily limit. Write `message` in the owner's language; the call is spoken in `language` (default pt-BR).

NameTypeReqDescription
agent_namestring–Your name as the owner knows you, e.g. "Claude Code", "ChatGPT", "Codex". Said in the greeting.
contextstring–One short sentence of context said at the start (e.g. "The deploy of the landing page finished.").
languagestring–Spoken language, e.g. "pt-BR" (default) or "en".
max_duration_sinteger–Max talk time in seconds (ask/notify default 240, conversation default and cap 600).
messagestringyesnotify: the message to read. ask: the question. conversation: the topic to discuss.
modestringyesnotify = message; ask = question with optional options; conversation = brainstorm up to 10 min.
optionsarray–ask mode only: up to 4 short options, read as "option 1, option 2...".
owner_namestring–Owner's first name, used in the greeting.
owner_phonestring–Owner number (digits only). Pass it to reactivate the account if this MCP session is new (stateless clients).

No output schema declared.

No examples provided.

cancel_schedule ~79

Cancels a scheduled delivery by its schedule_id (from `list_schedules` or `schedule`).

NameTypeReqDescription
owner_phonestring–Owner number (digits only, as text or number). Pass it to reactivate the account if this MCP session is new (stateless clients).
schedule_idstringyesID of the schedule to cancel.

No output schema declared.

No examples provided.

get_call ~170

Returns the state of a call placed with `call`. While running, state is "queued", "ringing", "in_progress" or "processing". When state is "finished", read: outcome ("answered", "no_instruction", "decide_later", "completed", "voicemail", "no_answer", "busy", "interrupted", "timed_out"), answer (what the owner said, in one sentence), chosen_option (ask mode), summary (conversation mode) and transcript. Act on the answer after the call; the voice assistant never executes anything.

NameTypeReqDescription
call_idstringyesThe call_id returned by `call`.
owner_phonestring–Owner number (digits only). Pass it to reactivate the account if this MCP session is new (stateless clients).

No output schema declared.

No examples provided.

list_messages ~104

Lists the message history of the bridge number (received and sent), newest first. Use it to decide whom to answer with `reply`.

NameTypeReqDescription
limitinteger–Maximum number of messages (1 to 100).
owner_phonestring–Owner number (digits only, as text or number). Pass it to reactivate the account if this MCP session is new (stateless clients).
sincestring–ISO 8601 timestamp; returns only later messages.

No output schema declared.

No examples provided.

list_recipients ~62

Lists the numbers this account may message besides the owner, with their status ("authorized" or "pending").

NameTypeReqDescription
owner_phonestring–Owner number (digits only). Pass it to reactivate the account if this MCP session is new (stateless clients).

No output schema declared.

No examples provided.

list_schedules ~65

Lists the scheduled deliveries (recurring or one-time) of this account, with the next run.

NameTypeReqDescription
owner_phonestring–Owner number (digits only, as text or number). Pass it to reactivate the account if this MCP session is new (stateless clients).

No output schema declared.

No examples provided.

provision ~226

ACTIVATES the Kontato account for the given phone: creates it only if it does not exist yet; if it exists, reuses the SAME account (calling it with an existing account is normal and expected: it works like a login). IDEMPOTENT BY PHONE: safe to call again in any session or after a restart (the user never has to handle an api_key). If the response has verification_required=false (number already verified), do NOT ask for an OTP: call `send` or `call` directly. Pass owner_phone (international format, digits only, e.g. 5511999998888) to enable the safe self-notification case: you deliver to the owner's own WhatsApp and phone. Returns whatsapp_bridge_number (Kontato's shared number that sends, never the owner's personal number).

NameTypeReqDescription
emailstring–Owner e-mail (optional).
owner_phonestring–Owner WhatsApp number, digits only, as text or number (e.g. 5511999998888). Becomes the default destination of self-notifications and calls.

No output schema declared.

No examples provided.

reply ~115

Replies to a specific number that messaged the bridge number. Same as `send`, but "to" is REQUIRED. Replying to whoever wrote to you is safer than cold outbound.

NameTypeReqDescription
messagestringyesReply text.
owner_phonestring–Owner number (digits only, as text or number). Pass it to reactivate the account if this MCP session is new (stateless clients).
tostringyesDestination, digits only, as text or number (e.g. 5511999998888).

No output schema declared.

No examples provided.

schedule ~292

Registers a recurring or one-time delivery in the Kontato scheduler. At the scheduled time, Kontato runs the `prompt` as a full agent (with web search) and delivers the result to the owner's WhatsApp. USE THIS for "send me X every day": you do not need to stay online or promise future work; the scheduler fires on its own. The `prompt` must be self-contained (e.g. "Find today's top financial market news and deliver a short summary").

NameTypeReqDescription
channelstring–How to deliver: "whatsapp" (default) or "call" (a phone call reads the result aloud to the owner, e.g. a morning briefing; if unanswered, it goes to WhatsApp).
owner_phonestring–Owner number (digits only, as text or number). Pass it to reactivate the account if this MCP session is new (stateless clients).
promptstringyesWhat to deliver when it fires. Self-contained.
schedule_typestringyescron = recurring at set times; interval = every N ms; once = one time.
schedule_valuestringyescron: "0 8 * * *" (every day 8am, São Paulo time) | interval: ms like "3600000" | once: local time "2026-06-20T15:30:00" (no Z).

No output schema declared.

No examples provided.

send ~470

Sends a WhatsApp message through Kontato's bridge number. SAFE CASE: if you OMIT "to", it is delivered to the OWNER's own WhatsApp (self-notification). Other numbers must be AUTHORIZED first with `authorize_recipient` (the person replies SIM/yes on WhatsApp); otherwise the send is refused with recipient_not_authorized. 24-HOUR WINDOW: handled AUTOMATICALLY by the server; just send "message". If the WhatsApp window is closed, Kontato wraps the text in an approved template and delivers it anyway (the response comes back with via="template"). Do NOT ask the owner about the window or templates; never ask them to "say hi" first. TURN-BASED RULE: you do not run work in the future; if asked for something recurring ("send me X every day"), deliver TODAY's now and register a `schedule`; never promise a future delivery.

NameTypeReqDescription
messagestring–Message text (required when NOT using a template).
owner_phonestring–Account OWNER number (digits only, as text or number). ALWAYS pass it when you know it: it reactivates the account automatically when the MCP session is new (stateless clients like the claude.ai conn…
template_namestring–ADVANCED, usually UNNECESSARY: the server already handles the 24-hour window. Use only to pick a specific template. Available templates (name, variables in order): kontato_aviso (1 variável: texto da…
template_variablesarray–Positional template variables ({{1}}, {{2}}...), in order.
tostring–Destination, digits only, as text or number. OMIT it to send to the owner (recommended).

No output schema declared.

No examples provided.

status ~90

Shows the Kontato account state: active or not, bridge number, and the schedules already registered. Use it to honor the turn-based rule: before saying something will be delivered "every day", confirm here that an active schedule exists.

NameTypeReqDescription
owner_phonestring–Owner number (digits only, as text or number). Pass it to reactivate the account if this MCP session is new (stateless clients).

No output schema declared.

No examples provided.

verify_number ~141

Confirms the owner number with the 6-digit OTP that arrived on their WhatsApp after `provision`. REQUIRED before sending, scheduling or calling: until verified, `send`/`reply`/`schedule`/`call` return 403 owner_not_verified. If the code expired or failed too many times, call again after requesting a new one (resend).

NameTypeReqDescription
codestringyes6-digit code received on the owner's WhatsApp (text or number).
owner_phonestring–Owner number (digits only, as text or number). Pass it to reactivate the account if this MCP session is new (stateless clients).

No output schema declared.

No examples provided.

Install

How do I install the ai.kontato/kontato MCP server?

ai.kontato/kontato is a hosted endpoint at https://api.kontato.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.kontato.ai

# add to Claude Code
claude mcp add --transport http ai-kontato-kontato 'https://api.kontato.ai/mcp'
Common questions

What is the ai.kontato/kontato MCP server?

ai.kontato/kontato is an MCP server listed in the public MCP registry as ai.kontato/kontato. Give your AI agents a WhatsApp number and a voice: they message you and call you. This page covers its hosted endpoint (https://api.kontato.ai/mcp).

Is the ai.kontato/kontato MCP server safe to use?

ai.kontato/kontato scores 36 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ai.kontato/kontato MCP server expose?

ai.kontato/kontato exposes 13 tools: provision, verify_number, schedule, list_schedules, cancel_schedule, and 8 more. Their descriptions and schemas cost roughly 2,396 tokens of context every time the server is loaded.

Does the ai.kontato/kontato MCP server require authentication?

Yes. ai.kontato/kontato asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the ai.kontato/kontato MCP server still maintained?

ai.kontato/kontato is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.