io.github.drain54/verify-api
REMOTE · VERIFY.DRAIN54.MY.ID · SCANNED SEP 28
AI claim verification MCP endpoint with x402 payments and stealth web fetch
Available components
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 Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS check failed: the endpoint is reachable over plaintext HTTP. See how to fix → View diagnostics → Fail
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability71
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1437 tokens (~179/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
- Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.drain54/verify-api MCP server?
io.github.drain54/verify-api is a hosted endpoint at https://verify.drain54.my.id/, 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 · verify.drain54.my.id
claude mcp add --transport http drain54-verify-api 'https://verify.drain54.my.id/'
{
"mcpServers": {
"drain54-verify-api": {
"url": "https://verify.drain54.my.id/"
}
}
} {
"servers": {
"drain54-verify-api": {
"type": "http",
"url": "https://verify.drain54.my.id/"
}
}
} [mcp_servers.drain54-verify-api] url = "https://verify.drain54.my.id/"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"drain54-verify-api": {
"type": "remote",
"url": "https://verify.drain54.my.id/",
"enabled": true
}
}
} openclaw mcp add drain54-verify-api --url 'https://verify.drain54.my.id/' --transport streamable-http
mcp_servers:
drain54-verify-api:
url: "https://verify.drain54.my.id/" {
"McpServers": {
"drain54-verify-api": {
"Transport": "http",
"Url": "https://verify.drain54.my.id/"
}
}
} assistant mcp add drain54-verify-api -t streamable-http -u 'https://verify.drain54.my.id/'
{
"mcpServers": {
"drain54-verify-api": {
"type": "http",
"url": "https://verify.drain54.my.id/"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 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
- 27 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 26 Sept 26 0
- Stability: unverified → 0.03 ▲ functional
- Server version: 0.5.0 → 1.0.0 functional
- 25 Sept 26 66
First indexed and scored.
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 28 Sept 2026 · Probed https://verify.drain54.my.id
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=drain54.my.id | CN=YE2,O=Let's Encrypt,C=US | 15 Sept 2026 | 14 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 539f1b083ce5f56070e050e15a932460dbf |
| SANs: *.drain54.my.id, drain54.my.id | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| 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 verify.drain54.my.id. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| id. | present | 26887 | 8 | Verified |
| my.id. | present | 26449 | 13 | Verified |
| drain54.my.id. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 3 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://verify.drain54.my.id | Verified | 200 | |
| sse | https://verify.drain54.my.id | Not MCP | 200 | |
| http (plaintext) | http://verify.drain54.my.id | Served over HTTP | 200 |
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 →
check_endpoint_health ~160
Probe and verify the reachability, HTTP status code, latency, and operational health of an AI API endpoint or web service. Follows redirects with a 15-second timeout. Requires x402 micropayment (0.01 USDC on Base). When to use: Check if a specific API URL or model endpoint is online, responding, or returning 5xx/402 errors. When NOT to use: Do NOT use for general domain WHOIS or DNS record lookups. Parameters: - `url` (string, required): Target HTTP/HTTPS endpoint URL to probe (8-1000 chars), e.g. 'https://api.openai.com/v1/models'.
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | The target API or service endpoint URL to probe. |
| Name | Type | Req | Description |
|---|---|---|---|
| checked_at | string | – | ISO 8601 timestamp of the check |
| http_status | integer | yes | HTTP status code returned by the target endpoint |
| latency_ms | integer | yes | Response latency in milliseconds |
| verdict | string | yes | Reachability status verdict |
No examples provided.
extract_json_from_web ~177
Extract structured JSON data matching a custom schema directly from any webpage. Extracts clean content and processes schema mapping via fast LLM parsing. Requires x402 micropayment (0.015 USDC on Base). When to use: Scraping structured data (product specs, prices, jobs, articles) into clean JSON. When NOT to use: Do NOT use for general open-ended chat without a defined schema. Parameters: - `url` (string, required): Target webpage URL. - `schema` (object, required): JSON object describing fields or schema to extract. - `instructions` (string, optional): Specific guidance for extraction.
| Name | Type | Req | Description |
|---|---|---|---|
| instructions | string | – | Optional instructions for parsing or field formatting. |
| schema | object | yes | Schema definition or list of fields to extract. |
| url | string | yes | Target webpage URL. |
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | Extracted JSON fields |
| elapsed_ms | integer | – | – |
| title | string | – | – |
| url | string | yes | – |
No examples provided.
fetch_stealth_web ~149
Fetch webpage HTML with modern browser TLS and header impersonation (Sec-Ch-Ua, realistic headers) to bypass bot protection and detect anti-bot challenges. Requires x402 micropayment (0.01 USDC on Base). When to use: Fetching websites that block standard cURL or basic HTTP libraries with 403 Forbidden. When NOT to use: Do NOT use for downloading giant binary files (videos, zip archives). Parameters: - `url` (string, required): Target webpage URL. - `custom_headers` (object, optional): Additional HTTP headers to pass along.
| Name | Type | Req | Description |
|---|---|---|---|
| custom_headers | object | – | Optional custom headers. |
| url | string | yes | Target webpage URL. |
| Name | Type | Req | Description |
|---|---|---|---|
| challenge_detected | boolean | – | – |
| challenge_type | string | – | – |
| content_length | integer | – | – |
| elapsed_ms | integer | – | – |
| html | string | yes | – |
| http_status | integer | yes | – |
| title | string | – | – |
| url | string | yes | – |
No examples provided.
get_captcha_pricing ~86
Retrieve current x402 pricing per 1,000 CAPTCHA solves across all supported types (Turnstile, hCaptcha, reCAPTCHA v2, Arkose, Cloudflare). Free endpoint with zero parameters. When to use: Check current rates and atomic USDC requirements before calling solve_captcha. When NOT to use: Do NOT use to submit or solve CAPTCHA challenges.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | yes | Payment currency (USDC) |
| network | string | yes | Target blockchain network (Base) |
| pricing | object | yes | Map of CAPTCHA type to cost in USDC atomic units per 1,000 solves |
No examples provided.
read_web_page ~226
Extract clean, readable Markdown and metadata from any public webpage for LLM ingestion, stripping ads, popups, and navigational clutter. Returns clean markdown, title, description, character count, and estimated tokens. Requires x402 micropayment (0.005 USDC on Base). When to use: Ingesting articles, blog posts, documentation, or news pages into LLM context. When NOT to use: Do NOT use for raw binary files (PDF/images), authenticated pages behind a login, or single-page apps that require heavy JavaScript rendering. Parameters: - `url` (string, required): Full target webpage URL (e.g. 'https://news.ycombinator.com'). - `include_links` (boolean, optional, default true): Whether to preserve markdown hyperlinks. - `include_images` (boolean, optional, default false): Whether to preserve image markdown links.
| Name | Type | Req | Description |
|---|---|---|---|
| include_images | boolean | – | Preserve markdown image tags. |
| include_links | boolean | – | Preserve markdown hyperlinks. |
| url | string | yes | Full target webpage URL to extract markdown from. |
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Clean extracted Markdown content |
| description | string | – | Extracted meta description |
| elapsed_ms | integer | – | Extraction time in milliseconds |
| estimated_tokens | integer | – | Estimated LLM tokens (~len/4) |
| length | integer | yes | Content length in characters |
| title | string | – | Extracted page title |
| url | string | yes | Target webpage URL |
No examples provided.
search_web ~153
Execute live web searches using multi-engine chain (TinyFish, DuckDuckGo, Jina) without monthly API subscriptions. Returns fresh source URLs, titles, and snippets. Requires x402 micropayment (0.005 USDC on Base). When to use: Real-time web browsing and information retrieval for AI agents. When NOT to use: Do NOT use for deep recursive crawling of entire sites. Parameters: - `query` (string, required): Search query (3-300 chars). - `limit` (integer, optional, default 5): Maximum number of search results to return (1-10).
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Number of results to return. |
| query | string | yes | Web search query. |
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | – | Number of returned results |
| query | string | yes | Original search query |
| results | array | yes | – |
No examples provided.
solve_captcha ~231
Solve web CAPTCHA challenges (Turnstile, hCaptcha, reCAPTCHA v2, Arkose, Cloudflare) and return a valid solution token. Automatically retries once on failure without double charging. Requires x402 payment on Base. When to use: Use when an agent encounters a bot wall or CAPTCHA challenge during automated web workflows. When NOT to use: Do NOT use for non-CAPTCHA auth, 2FA/OTP codes, or general login forms. Parameters: - `type` (string, required): CAPTCHA type ('turnstile', 'hcaptcha', 'recaptcha', 'arkose', 'cloudflare'). - `sitekey` (string, required): Public sitekey extracted from the target page DOM. - `url` (string, required): Full target webpage URL hosting the challenge.
| Name | Type | Req | Description |
|---|---|---|---|
| sitekey | string | yes | The CAPTCHA sitekey parameter extracted from the target page DOM or iframe. |
| type | string | yes | The specific type of CAPTCHA challenge encountered on the target page. |
| url | string | yes | The full target page URL where the CAPTCHA challenge is hosted. |
| Name | Type | Req | Description |
|---|---|---|---|
| elapsed | number | – | Time taken in seconds to solve the challenge |
| method | string | – | Solving method or backend engine used |
| solved | boolean | yes | Whether the CAPTCHA challenge was successfully solved |
| token | string | yes | The resulting CAPTCHA response token to submit to the form |
No examples provided.
verify_ai_claim ~255
Verify whether an AI model, API provider, pricing claim, or infrastructure assertion is true today using live web evidence. Returns deterministic verdicts (TRUE, FALSE, PARTIALLY_TRUE, UNREACHABLE, UNVERIFIED) with cited sources and confidence scores. Requires x402 micropayment (0.01 USDC on Base). When to use: Fact-checking an AI provider's claims, pricing, or model availability. When NOT to use: Do NOT use for general open-ended web search, coding assistance, or non-AI claim verification. Parameters: - `query` (string, required): The exact claim or assertion to verify (5-500 chars), e.g. 'Is GLM-5.3 Flash free on ZenMux?'. - `depth` (string, optional, default 'standard'): Verification depth. 'standard' executes fast single-pass search (0.01 USDC); 'deep' conducts multi-source cross-examination (0.03 USDC).
| Name | Type | Req | Description |
|---|---|---|---|
| depth | string | – | Verification depth: 'standard' (0.01 USDC) or 'deep' (0.03 USDC). |
| query | string | yes | The specific AI infrastructure claim or assertion to verify. |
| Name | Type | Req | Description |
|---|---|---|---|
| answer | string | yes | Detailed explanation backed by fresh sources |
| confidence | number | yes | Confidence score between 0.0 and 1.0 |
| id | string | – | Unique verification record ID |
| sources | array | yes | Fresh evidence sources used for verification |
| verdict | string | yes | Deterministic evidence-backed verdict |
No examples provided.
What is the io.github.drain54/verify-api MCP server?
io.github.drain54/verify-api is an MCP server listed in the public MCP registry as io.github.drain54/verify-api. AI claim verification MCP endpoint with x402 payments and stealth web fetch. This page covers its hosted endpoint (https://verify.drain54.my.id).
Is the io.github.drain54/verify-api MCP server safe to use?
io.github.drain54/verify-api scores 67 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 io.github.drain54/verify-api MCP server expose?
io.github.drain54/verify-api exposes 8 tools: verify_ai_claim, check_endpoint_health, solve_captcha, get_captcha_pricing, read_web_page, and 3 more. Their descriptions and schemas cost roughly 1,437 tokens of context every time the server is loaded.
Does the io.github.drain54/verify-api MCP server require authentication?
No. We connected to io.github.drain54/verify-api without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.github.drain54/verify-api MCP server still maintained?
io.github.drain54/verify-api is still listed as active in the MCP registry. We last reached this channel on 28 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.