Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the MailTester Ninja Email Verification and Finder API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmailtester.ninja%2Fmailtester" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmailtester.ninja%2Fmailtester" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with MailTester Ninja Email Verification and Finder API.
Verify one email address per GET /ninja call and branch on the code field: ok for deliverable, ko for invalid, mb for uncertain, and -- for no verdict
Detect catch-all, disposable, greylisted, and no-MX domains through the message field on each verification
Find a work email address with GET /find from first, last, and domain, getting the matched format, confidence, and every tested permutation
Receive a best guess on catch-all domains through the guess field when no format can be confirmed
GET STARTED
Cap how long a finder search runs with the timeout query parameter
Try verification with no signup using key=free before moving to a mtf_ free token or a sub_ subscription key
Patterns agents use MailTester Ninja Email Verification and Finder API for, with concrete tasks.
★ Agent lead research through Jentic
A prospecting agent that has a name and a company domain calls the finder to get a likely work address, then verifies addresses it already holds before outreach. Through Jentic the agent finds both operations by intent, the sub_ subscription key stays in the developer's own Jentic One instance instead of travelling in prompts, and a rule can allow verification while keeping the finder off.
Call GET /find with first 'Tim', last 'Cook', and domain 'apple.com', then report the email, format, and confidence from the result
Pre-send email list verification
Before a send, each address is checked with GET /ninja. Results with code ok go to the send list, ko results are dropped, and mb results such as Catch-All are held for review since a catch-all domain is never reported as valid. Results with code -- mean no check ran, so the address is retried rather than dropped.
Call GET /ninja with email 'jane.doe@example.com' and add the address to the send list only when code is 'ok'
Company email format discovery
Sales teams often need the address pattern a company uses. GET /find returns the format that the mail server accepted, such as flast or first.last, along with the tested list of permutations and their codes, so the pattern can be applied to other contacts at the same domain.
Call GET /find with first 'Ana', last 'Silva', and domain 'example.com' and return the format and tested fields
2 endpoints — the mailtester ninja api verifies email addresses against the recipient's live mail server and finds work addresses from a person's name and company domain.
METHOD
PATH
DESCRIPTION
/ninja
Verify an email address
/find
Find a work email address
/ninja
Verify an email address
/find
Find a work email address
What agents get from Jentic-routed access to this vendor.
Setup
Wiring MailTester Ninja by hand means appending the key to every URL as a query parameter, sending the Accept header to get JSON from the verify call, and pacing requests to your key's rate yourself. Through Jentic you install once, import MailTester Ninja from the API Directory, store the key once, and your agent calls it.
Permission scoping
MailTester Ninja has no resource ids in its paths and takes the address or name as query values, so limit the agent to the operations it needs, such as verifying addresses. Rules bound which of the two operations your agent may call, not which addresses or domains it looks up.
Credential isolation
Your MailTester Ninja key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'verify an email address' or 'find someone's work email', and Jentic returns the matching MailTester Ninja operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using MailTester Ninja Email Verification and Finder API through Jentic.
Is there a MailTester Ninja MCP server?
You don't need an MCP server to give your agent MailTester Ninja. Jentic connects it directly from the API Directory: import it, store your key once, and your agent calls it. Operations are discovered on demand, so no extra tool definitions sit in the agent's context.
What authentication does the MailTester Ninja API use?
Per its OpenAPI spec, the MailTester Ninja API takes an API key in the key query parameter. The value can be free for a no-signup trial, a mtf_ free token, or a sub_ subscription key, and the finder needs a subscription key. Because the key rides in the URL, Jentic stores it encrypted in your own Jentic One instance and adds it at execution time, so it never enters the agent's context.
Can I limit what my agent is allowed to do with MailTester Ninja?
Yes. For example, write a rule that allows only GET /ninja, so the agent can verify addresses it already has but cannot run finder searches that spend several verifications per call. The address, name, and domain travel as query values, so rules bound which operation the agent calls, not which address it checks.
What are the rate limits for the MailTester Ninja API?
Per the spec, key=free allows 10 checks a day per IP and a mtf_ token allows 50 checks a day, both at one request every 30 seconds. A paid key allows its daily limit divided by 8640 requests per 10 seconds across all connections. On the finder, each tested format counts as one verification, and one key can run up to 60 searches an hour on the same domain.
How do I find a work email through Jentic?
Install Jentic One, import the MailTester Ninja API from the directory, and search for 'find a work email address'. Jentic returns the findEmail operation with its input schema; your agent sends first, last, and domain, and Jentic adds your subscription key. To run it on your own infrastructure, install Jentic One from its GitHub repo.
What does an mb result mean?
A code of mb means the result is uncertain: the domain accepts every address or could not be probed, with messages such as Catch-All, Timeout, or Greylisted. A catch-all domain is never reported as valid, so treat mb results as needing review rather than as deliverable.
For Agents
Verify whether an email address is deliverable with a live SMTP check, or find a person's work email from their first name, last name, and company domain.
Use for: Check whether info@apple.com is a valid address, Find the work email for Tim Cook at apple.com, Verify this lead's email before I add it to the CRM, Find out if a company domain is catch-all
Not supported: Does not handle sending email, bulk list uploads, or company firmographic data. Use for verifying single email addresses and finding work emails by name and domain only.
The MailTester Ninja API verifies email addresses against the recipient's live mail server and finds work addresses from a person's name and company domain. The verify call checks syntax, domain, and MX records, then holds an SMTP conversation that stops before any message is sent, returning a code of ok, ko, mb, or -- with a message such as Accepted, Catch-All, or Disposable. The finder call takes first, last, and domain and tests common formats such as first.last and flast until the mail server accepts one, returning the address with its format and confidence, or a guess on catch-all domains. Nothing is stored.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>