{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T17:38:32.098Z","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce.md","server":{"slug":"io-usefulapi-neverbounce","name":"NeverBounce MCP by usefulapi","registryName":"io.usefulapi/neverbounce","description":"MCP server for NeverBounce — business email verification, credits and bulk jobs.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"neverbounce","type":"remote","identifier":"https://neverbounce.usefulapi.io/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce","version":"1.6.3","transport":null,"scoredAt":"2026-11-05T15:03:43.635Z"},"score":{"total":18,"tier":"low","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":18},{"date":"2026-11-04","total":18},{"date":"2026-11-03","total":18},{"date":"2026-11-02","total":18},{"date":"2026-11-01","total":65},{"date":"2026-10-31","total":65}]},"categories":[{"name":"Endpoint Security","score":46,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","HSTS check failed: the Strict-Transport-Security header is absent.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.unreachable","args":{}},{"code":"https.inconclusive","args":{"reason":"redirect_not_https"}},{"code":"headers.hsts_absent","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":0,"verdict":"fail","reasons":["Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly."],"codes":[{"code":"transport.redirected","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":0,"verdict":"unverified","reasons":["Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list."],"codes":[{"code":"schema.unreachable","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"codes":[{"code":"stability.insufficient_history","args":{}}]},{"name":"Tool Coverage","score":0,"verdict":"unverified","reasons":["Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolquality.unreachable","args":{}}]},{"name":"Tool Safety","score":0,"verdict":"unverified","reasons":["Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolsafety.unreachable","args":{}}]},{"name":"Capabilities","score":0,"verdict":"unverified","reasons":["Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"codes":[{"code":"cap.unreachable","args":{}}]}],"inconclusive":["Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.","Stability not yet verified: not enough scan history yet (needs a 30-day window).","Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"malware":[],"components":[{"slug":"neverbounce","type":"remote","identifier":"https://neverbounce.usefulapi.io/mcp","withdrawn":false,"score":18,"current":true,"url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce.md"}],"facts":[{"label":"Endpoint","value":"https://neverbounce.usefulapi.io/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.6.3"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"neverbounce_get_account_info","title":"Get account info and credits","description":"Credits left (paid and free), credits used, and how many verification jobs are completed, queued, processing or under review. Free: it spends no credits. POST /account/info.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":48},{"name":"neverbounce_verify_email","title":"Verify one email address","description":"WRITE: SPENDS 1 of your NeverBounce credits per call. Verifies ONE e-mail address and returns result (valid, invalid, disposable, catchall or unknown), flags (e.g. has_dns_mx, role_account, free_email_host), a suggested correction for typos like gmal.com, and optionally the parsed address parts. NeverBounce's usage rules: use this for a single address at the point of entry; do NOT call it in a loop over a list or database (the account can be locked) - use neverbounce_create_job for lists. POST /single/check.","inputs":[{"name":"address_info","type":"boolean","required":false,"description":"Also return the parsed address parts (addr, alias, host, domain, tld...)."},{"name":"email","type":"string","required":true,"description":"The one e-mail address to verify."},{"name":"timeout","type":"integer","required":false,"description":"Seconds NeverBounce may spend before answering 'unknown' (1-60). Omit for the default."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":198},{"name":"neverbounce_list_jobs","title":"List verification jobs","description":"Bulk verification jobs of the account (most recent first as NeverBounce returns them) with id, status, filename, timestamps, totals per result (valid, invalid, catchall, disposable, unknown, duplicates, bad_syntax), bounce estimate and percent complete. Filter by id, exact filename or status. POST /jobs/search.","inputs":[{"name":"filename","type":"string","required":false,"description":"Exact filename of the job."},{"name":"items_per_page","type":"integer","required":false,"description":"Results per page, 1-100 (default 25)."},{"name":"job_id","type":"integer","required":false,"description":"NeverBounce job id (from neverbounce_list_jobs or neverbounce_create_job)."},{"name":"job_status","type":"string","required":false,"description":"Only jobs in this status."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":170},{"name":"neverbounce_get_job","title":"Get job status","description":"One verification job: status (waiting, parsing, running, complete, failed, under_review...), failure reason, timestamps, totals (records, billable = credits it will use, processed, valid, invalid, catchall, disposable, unknown, duplicates, bad_syntax), bounce estimate and percent complete. Poll this until status is complete. POST /jobs/status.","inputs":[{"name":"job_id","type":"integer","required":true,"description":"NeverBounce job id (from neverbounce_list_jobs or neverbounce_create_job)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":106},{"name":"neverbounce_get_job_results","title":"Get job results (paged)","description":"Per-address results of a job: the submitted row (data) and its verification (result, flags, suggested_correction, address info). Paged; use neverbounce_download_job_results for a CSV. The job must be complete. POST /jobs/results.","inputs":[{"name":"items_per_page","type":"integer","required":false,"description":"Results per page, 1-100 (default 25)."},{"name":"job_id","type":"integer","required":true,"description":"NeverBounce job id (from neverbounce_list_jobs or neverbounce_create_job)."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":132},{"name":"neverbounce_download_job_results","title":"Download job results as CSV","description":"The results of a complete job as CSV text (the submitted columns plus email_status), cut at 200000 characters with a note when longer (use neverbounce_get_job_results to page through large jobs). By default every result type is included; set a type to false to leave it out. POST /jobs/download.","inputs":[{"name":"catchalls","type":"boolean","required":false,"description":"Include catch-all addresses (default true)."},{"name":"disposables","type":"boolean","required":false,"description":"Include disposable addresses (default true)."},{"name":"invalids","type":"boolean","required":false,"description":"Include invalid addresses (default true)."},{"name":"job_id","type":"integer","required":true,"description":"NeverBounce job id (from neverbounce_list_jobs or neverbounce_create_job)."},{"name":"unknowns","type":"boolean","required":false,"description":"Include unknown addresses (default true)."},{"name":"valids","type":"boolean","required":false,"description":"Include valid addresses (default true)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":169},{"name":"neverbounce_create_job","title":"Create a bulk verification job","description":"WRITE: creates a bulk verification job from up to 100 e-mail addresses given in this call, and has NeverBounce parse it. It does NOT start the verification and spends NO credits; run neverbounce_start_job afterwards (that spends 1 credit per billable address). Put ALL the addresses of one list into ONE job: NeverBounce's rules allow 10 concurrent jobs and 50 runs a day, and many small jobs in a short time can get the account locked. Returns the job_id. POST /jobs/create.","inputs":[{"name":"emails","type":"array","required":true,"description":"The e-mail addresses to verify, 1-100."},{"name":"filename","type":"string","required":false,"description":"Name shown in the NeverBounce dashboard (default: a timestamped name)."},{"name":"leverage_historical_data","type":"boolean","required":false,"description":"Default true. Set false to use real-time verification only (no historical data)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":180},{"name":"neverbounce_start_job","title":"Start a verification job","description":"WRITE: STARTS a created job and SPENDS 1 credit per billable address (shown as total.billable in neverbounce_get_job); it cannot be stopped or undone. Safety: you must pass max_credits, and the job is refused when its billable count is above it or above 1000 (start bigger jobs in the NeverBounce dashboard). The job must be in status waiting or waiting_analyzed. With run_sample true it only runs the free sample analysis (estimated bounce rate) and spends nothing. POST /jobs/start.","inputs":[{"name":"job_id","type":"integer","required":true,"description":"NeverBounce job id (from neverbounce_list_jobs or neverbounce_create_job)."},{"name":"max_credits","type":"integer","required":true,"description":"The most credits you accept to spend (1-1000); the job is refused if its billable count is higher."},{"name":"run_sample","type":"boolean","required":false,"description":"Run only the free sample analysis instead of the full verification."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":195}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T15:03:43.000Z","track":"remote","endpoint":"https://neverbounce.usefulapi.io/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=usefulapi.io","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-09-13T08:55:39Z","notAfter":"2026-12-12T09:54:12Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"neverbounce.usefulapi.io.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"io.","outcome":"verified","label":"Verified"},{"zone":"usefulapi.io.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"inconclusive","label":"Inconclusive","gate":null,"gateLabel":null,"status":302,"authorizationServers":[]},"httpsRedirect":{"outcome":"inconclusive","label":"Inconclusive","status":302},"transports":[{"transport":"streamable-http","outcome":"redirected","label":"Redirected","status":302,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-31","recent":[{"id":"chg_01a19a76-6345-75f6-bf3e-46f58720fd1c","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a19a76-6345-75f6-bf3e-46f58720fd1c"},{"id":"chg_01a19a76-6346-7bb1-8ce7-79a0ded2aede","kind":"check.unverifiable","summary":"Authorization (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a19a76-6346-7bb1-8ce7-79a0ded2aede"},{"id":"chg_01a19a76-6347-788e-99f6-a15db7034edf","kind":"check.unverifiable","summary":"Stability (0.03 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a19a76-6347-788e-99f6-a15db7034edf"},{"id":"chg_01a19a76-6348-747e-8551-3b876d612c4a","kind":"check.unverifiable","summary":"Schema quality (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a19a76-6348-747e-8551-3b876d612c4a"},{"id":"chg_01a19a76-6348-7d57-afaf-7153f69e2dfd","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a19a76-6348-7d57-afaf-7153f69e2dfd"},{"id":"chg_01a19a76-6349-75fd-8e5b-2ea159da1bf8","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a19a76-6349-75fd-8e5b-2ea159da1bf8"},{"id":"chg_01a19a76-634a-76e3-8d76-b0ee737e7a23","kind":"capture.status_changed","summary":"Endpoint reachability (reachable → not serving MCP)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a19a76-634a-76e3-8d76-b0ee737e7a23"},{"id":"chg_01a19a76-634a-7ede-ae3f-b4d7fdfc65b4","kind":"score.total_changed","summary":"Trust score (65 → 18)","materiality":"functional","direction":"regression","scoreDelta":-47,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a19a76-634a-7ede-ae3f-b4d7fdfc65b4"},{"id":"chg_01a1954f-ee3b-7721-b9ae-f7b7e9d04504","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a1954f-ee3b-7721-b9ae-f7b7e9d04504"},{"id":"chg_01a193fb-7953-730b-b1cf-4110e3c928e4","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a193fb-7953-730b-b1cf-4110e3c928e4"},{"id":"chg_01a19028-5ed6-731f-aa76-f582eb96712f","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce#chg-chg_01a19028-5ed6-731f-aa76-f582eb96712f"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce/changelog.json"},"links":{"html":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce","markdown":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce.md","changelogJson":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce/changelog.json","changelogRss":"https://verifymcp.io/servers/io-usefulapi-neverbounce/neverbounce.xml","external":[{"label":"Remote endpoint","href":"https://neverbounce.usefulapi.io/mcp"},{"label":"Repository","href":"https://github.com/m190/usefulapi-mcp"},{"label":"Website","href":"https://usefulapi.io/neverbounce/"}]}}