Koskamo

Kawaa MCP

An official Model Context Protocol server provided by Kawaa that allows AI agents to verify email addresses, monitor bulk verification jobs, and retrieve results without requiring custom integration code.

Endpoint and access

OAuth sign-in: the first time you connect, your client opens the vendor's own authorization prompt in a browser.

Kawaa MCP logo, by KawaaVendor evidenceStreamable HTTPOAuth sign-inEndpoint checked 2026-11-06Operated by Kawaa
You need:Create one in Settings → API keysAuthenticate with the same API key you would use for the REST API, as an HTTP bearer token
MCP endpoint (Streamable HTTP)
https://api.kawaa.com/mcp
Vendor documentation

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to kawaa.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Verify email addresses for syntax, domain, and risk signals
  • Monitor the status of bulk email verification jobs
  • Retrieve verification results and usage data

Source and maintenance

Vendor evidenceRegistry 1.0.1

Protocol and capabilities

Server
kawaa 1.2.0
MCP protocol negotiated in check
2025-11-25
Tools
Sign-in required
Resources
3 advertised
Resource templates
1 advertised
Prompts
Sign-in required
Server-advertised capabilities
{
  "tools": {},
  "prompts": {},
  "resources": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Kawaa verifies email addresses: whether a mailbox exists, whether an address is disposable or a role account, and how a domain is set up to send mail. Two things to know before using these tools. **Verification costs credits.** verify_email costs 1 (0.5 from cache), get_email_history 0.5, verify_emails about 1 per address, find_business_email 5 (Starter plan and up), and check_domain_setup 10. get_account, get_usage, get_job, get_job_results, get_job_export_link, list_jobs and cancel_job are free. Check the balance with get_account before submitting a large list, and set max_credits on verify_emails. **A result is not always a verdict.** status "catch_all" means the domain accepts every recipient, so the individual mailbox could not be checked; "unknown" means the check could not conclude. Neither is a "yes" or a "no". Read the kawaa://reference/verification-statuses resource before deciding what to do with results, and hand ambiguous cases to the person rather than resolving them silently. Batch verification is asynchronous: verify_emails returns a job_id, and get_job is how you wait for it. Never resubmit a batch to check on it: that charges again. verify_email, verify_emails, get_email_history, find_business_email and check_domain_setup each return the idempotency_key they used; retry with that key and the repeat is free **for as long as the receipt lasts**, which differs per tool: about a day for get_email_history, a month for find_business_email and check_domain_setup, and at least a month (longer where the plan keeps results longer) for the two verification tools. After that the same key buys new work. Retry promptly, and read the tool's own description before assuming a late retry is free. How many addresses fit in one batch depends on the plan whose limits apply, which get_account reports as limits_plan (for a white-label sub-account, its provider's plan), so read it before submitting a long list and split it if you have to. This server accepts at most 30 requests every 10 seconds and 120 a minute from one credential, counting every request, not only tool calls. The API requests the tools make also count against the API rate limit this credential is held to, which get_account reports as rate_limit_per_minute. That is the plan's limit (below 120 a minute on the Free and Starter plans) unless something lower applies: a white-label sub-account's provider sets its limit, and a key can carry a lower cap of its own. Requests that carry a credential and come from one network address also share a backstop of 300 every 10 seconds and 1,200 a minute, which a hosted agent that serves many customers from a few addresses can reach first. Whichever runs out first answers rate_limited with retry_after_seconds: wait that long, then retry the same call. max_credits on verify_emails is checked before anything is submitted, and it is the only brake that acts before credits are spent, so get the list and the cap right before submitting. If a running job turns out to be wrong, cancel_job stops it and returns the credits for the addresses it never checked; the ones already checked are kept, and stay billed.

Tools

Sign-in required

No tool definitions available.

Prompts

Sign-in required

No prompt definitions available.

Resources

3 advertised

account — Kawaa account

Advertised by the server during the last successful anonymous check.

The account this connection is authenticated as: plan, credit balance, and usage against the current allowance. Whether that allowance renews at all depends on the account: `credits.allowance_basis` says which. Only `billing_period` resets; for a paid plan with no billing period on file (`no_billing_period`), a Free account or a white-label sub-account the spend is cumulative and is not reset on a schedule. Reads live; spends no credits.

account URI
kawaa://account

MIME type: application/json

verification-statuses — What each verification status means

Advertised by the server during the last successful anonymous check.

The verdicts Kawaa returns and how to act on each, including the three (catch_all, unknown, risky) that are most often misread. Read this before deciding what to do with results.

verification-statuses URI
kawaa://reference/verification-statuses

MIME type: text/markdown

error-handling — How to handle a failed tool call

Advertised by the server during the last successful anonymous check.

The failure kinds these tools return, which are retryable, and how to retry something that charges credits without paying twice.

error-handling URI
kawaa://reference/errors

MIME type: text/markdown

job — A verification job

Advertised by the server during the last successful anonymous check.

The status and verdict counts of one verification job, by id. Spends no credits. Per-address verdicts come from the get_job_results tool, which pages.

job URI template
kawaa://jobs/{job_id}

MIME type: application/json

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1394 ms
95th percentile latency
1394 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1394 ms · metadata changed · refuses unauthenticated tools/list (HTTP 401)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http kawaa-mcp https://api.kawaa.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add kawaa-mcp --url https://api.kawaa.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable kawaa-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "kawaa-mcp": {
      "url": "https://api.kawaa.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "kawaa-mcp": {
      "type": "streamableHttp",
      "url": "https://api.kawaa.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start kawaa-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "kawaa-mcp": {
      "type": "http",
      "url": "https://api.kawaa.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http kawaa-mcp https://api.kawaa.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://api.kawaa.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "kawaa-mcp": {
      "serverUrl": "https://api.kawaa.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Kawaa MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Kawaa MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing