← Registry

API Tools

tuski.ai

An email-validation API server that starts and monitors bulk email verification jobs and checks credit balances.

x402 supported1 endpoint22 known toolsFirst detected September 30, 2026Last detected September 30, 2026

ENDPOINT 1

https://tuski.ai/mcp

No auth detected

MCP server metadata

Name
Tuski
Version
0.4.0
Capabilities
experimentalpromptsresourcestools
Server instructions

Tuski validates email lists by sending real probe messages and detecting bounces, and finds companies matching a profile via AI web search. Authenticate with OAuth Connect, or `Authorization: Bearer tsk_live_...`. Scopes/permissions: `validate` (validate_emails, pause_job, resume_job, cancel_job), `export` (get_results, get_results_csv), `discovery` (all company-search tools). get_credits, list_jobs, get_job_status and wait_for_job need no permission. Email flow: get_credits -> validate_emails -> wait_for_job (respect its poll_after_seconds) -> get_results or get_results_csv. Charging: validate_emails deducts 1 credit per address accepted for testing (passes syntax/domain checks) at intake, from the organization wallet that also pays for phone, discovery and contacts. No-MX addresses and our own send failures are refunded when the job closes; a real bounce is a paid result. Timing: a job closes after its 15-minute bounce window and a bounce check of each mailbox that sent it: a little over send time plus 15 minutes for a short list, hours for thousands of addresses. A late check holds it at most 6 hours more (reason `valid (bounce check delayed)`). After `done` a verdict changes only on a rare late bounce or a dashboard recheck. Result row statuses: `valid`: deliverable mailbox; `invalid`: permanent address failure; `unknown`: send attempted, outcome unclear; `unreachable`: domain has no mail server, refunded; `mailbox_full`: recipient inbox is full; `blocked`: rejected by recipient's policy; `soft_temp`: temporary bounce, may resolve later; `routing_error`: mail could not be routed; `other_bounce`: other permanent bounce; `pending`: not sent (in a finished job: rejected at upload, not charged); `queued`: charged, waiting to send; `sending`: in flight now; `sent`: delivered, awaiting the bounce check; `cancelled`: job or lead was cancelled. Results: get_results pages 100 rows by default (1000 at most); has_more (and next_offset for company search) says if another page exists. get_results_csv and export_companies embed up to 500 CSV rows; a larger export returns a download_url valid for 10 minutes, no API key needed. Idempotency: the same idempotency_key returns the same job and never charges twice; without one, a key is derived from your account, organization and request, so an identical call within 10 minutes is recognized too. After a timeout or transport error, repeat the identical call; changed input starts a new job and a new charge. Large lists: upload a file via REST POST /api/v1/email-validation/jobs instead of one huge validate_emails call. Company search: estimate_company_search (free quote) -> start_company_search (reserves credits) -> wait_for_company_search -> get_companies or export_companies; get_company_search reads its status and cancel_company_search stops it early. A search lists and charges only companies it verified on the web (an older search with `verified_results` false lists every candidate) and refunds the rest of its reservation. Result rows may carry an email you can pass to validate_emails. Contacts: find_contacts -> get_contacts -> estimate_contact_unlock -> unlock_contacts -> wait_for_contacts -> get_contacts. Needs the `contacts` permission, separate from `discovery`. unlock_contacts charges per requested field up front and refunds any field the provider could not deliver. Errors: every failure reads `code: message (next: what to do next)`. Read next to choose your next call.

Known tools 22

get_credits

Check the credit balance for this API key's organization.

Inferred read-only
list_jobs

List your email-validation jobs, most recent first.

Potential side effects
get_job_status

Get one job's status, counts and ETA.

Inferred read-only
wait_for_job

Wait on the server for a job to finish, instead of polling yourself.

Inferred read-only
validate_emails

Start an email-validation job.

Potential side effects
get_results_csv

Return the results CSV for a completed/in-progress job.

Inferred read-only
cancel_job

Cancel a job and refund credits for unsent leads.

Potential side effects
pause_job

Pause a job so its senders stop claiming new leads.

Inferred read-only
resume_job

Resume a paused job and restart its senders.

Inferred read-only
get_results

Return job results as structured JSON rows (default) or CSV text.

Inferred read-only
estimate_company_search

Free price check for an AI Web Search company search.

Inferred read-only
start_company_search

Start an AI Web Search company search.

Inferred read-only
get_company_search

Get one company search's status, progress and billing.

Inferred read-only
wait_for_company_search

Wait on the server for a company search to finish, instead of polling yourself.

Inferred read-only
get_companies

List one page of a company search's delivered companies, paginated.

Inferred read-only
export_companies

Export a company search's delivered companies (the rows get_companies lists) as CSV.

Inferred read-only
cancel_company_search

Cancel a running company search.

Inferred read-only
estimate_contact_unlock

Free price check for unlocking contact fields.

Inferred read-only
find_contacts

Start a free people search for the companies of a finished company search.

Inferred read-only
get_contacts

List one page of the people found for a contacts job, paginated.

Inferred read-only
unlock_contacts

Reveal contact fields for specific people.

Inferred read-only
wait_for_contacts

Wait on the server for a set of unlock requests to finish.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.tuski]
url = "https://tuski.ai/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "tuski": {
      "type": "http",
      "url": "https://tuski.ai/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: tuski
Remote MCP URL: https://tuski.ai/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "tuski": {
      "url": "https://tuski.ai/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "tuski": {
      "type": "http",
      "url": "https://tuski.ai/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "tuski",
  "transport": "streamable-http",
  "url": "https://tuski.ai/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Trust Data Available

BuiltWith Trust API v2 evidence for tuski.ai was fetched 2026-10-01T23:42:58.842Z and is being refreshed.

Trust status Neutral

tuski.ai is assessed as Neutral: No suspicious signals found, but no strong positive signal either

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.