# io.github.drain54/verify-api (remote · verify.drain54.my.id)

AI claim verification MCP endpoint with x402 payments and stealth web fetch

- Trust score: 67/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-28

## Components

- remote · `verify.drain54.my.id`: 67/100 (this document), [markdown](https://verifymcp.io/servers/drain54-verify-api/verify.md), [page](https://verifymcp.io/servers/drain54-verify-api/verify)

## Channel facts

- Endpoint: `https://verify.drain54.my.id`
- Transports: `streamable-http, sse`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-28.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS check failed: the endpoint is reachable over plaintext HTTP.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 71/100
  - AI-judged instruction clarity (excellent).
  - 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.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 10/100
  - Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### 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.

### Claude

```bash
claude mcp add --transport http drain54-verify-api 'https://verify.drain54.my.id/'
```

### Cursor

```json
{
  "mcpServers": {
    "drain54-verify-api": {
      "url": "https://verify.drain54.my.id/"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "drain54-verify-api": {
      "type": "http",
      "url": "https://verify.drain54.my.id/"
    }
  }
}
```

### Codex

```toml
[mcp_servers.drain54-verify-api]
url = "https://verify.drain54.my.id/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "drain54-verify-api": {
      "type": "remote",
      "url": "https://verify.drain54.my.id/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add drain54-verify-api --url 'https://verify.drain54.my.id/' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  drain54-verify-api:
    url: "https://verify.drain54.my.id/"
```

### Netclaw

```json
{
  "McpServers": {
    "drain54-verify-api": {
      "Transport": "http",
      "Url": "https://verify.drain54.my.id/"
    }
  }
}
```

### Vellum

```bash
assistant mcp add drain54-verify-api -t streamable-http -u 'https://verify.drain54.my.id/'
```

### Other

```json
{
  "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.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-28 (score 67, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-27 (score 67, +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.

### 2026-09-26 (score 66, 0)

- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 0.5.0 → 1.0.0

### 2026-09-25 (score 66)

First indexed and scored.

## MCP tools (8)

### `verify_ai_claim` (~255 tokens)

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).

Input parameters:

- `depth` (string): Verification depth: 'standard' (0.01 USDC) or 'deep' (0.03 USDC).
- `query` (string, required): The specific AI infrastructure claim or assertion to verify.

Output parameters:

- `answer` (string): Detailed explanation backed by fresh sources
- `confidence` (number): Confidence score between 0.0 and 1.0
- `id` (string): Unique verification record ID
- `sources` (array): Fresh evidence sources used for verification
- `verdict` (string): Deterministic evidence-backed verdict

### `check_endpoint_health` (~160 tokens)

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'.

Input parameters:

- `url` (string, required): The target API or service endpoint URL to probe.

Output parameters:

- `checked_at` (string): ISO 8601 timestamp of the check
- `http_status` (integer): HTTP status code returned by the target endpoint
- `latency_ms` (integer): Response latency in milliseconds
- `verdict` (string): Reachability status verdict

### `solve_captcha` (~231 tokens)

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.

Input parameters:

- `sitekey` (string, required): The CAPTCHA sitekey parameter extracted from the target page DOM or iframe.
- `type` (string, required): The specific type of CAPTCHA challenge encountered on the target page.
- `url` (string, required): The full target page URL where the CAPTCHA challenge is hosted.

Output parameters:

- `elapsed` (number): Time taken in seconds to solve the challenge
- `method` (string): Solving method or backend engine used
- `solved` (boolean): Whether the CAPTCHA challenge was successfully solved
- `token` (string): The resulting CAPTCHA response token to submit to the form

### `get_captcha_pricing` (~86 tokens)

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.

Output parameters:

- `currency` (string): Payment currency (USDC)
- `network` (string): Target blockchain network (Base)
- `pricing` (object): Map of CAPTCHA type to cost in USDC atomic units per 1,000 solves

### `read_web_page` (~226 tokens)

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.

Input parameters:

- `include_images` (boolean): Preserve markdown image tags.
- `include_links` (boolean): Preserve markdown hyperlinks.
- `url` (string, required): Full target webpage URL to extract markdown from.

Output parameters:

- `content` (string): 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): Content length in characters
- `title` (string): Extracted page title
- `url` (string): Target webpage URL

### `search_web` (~153 tokens)

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).

Input parameters:

- `limit` (integer): Number of results to return.
- `query` (string, required): Web search query.

Output parameters:

- `count` (integer): Number of returned results
- `query` (string): Original search query
- `results` (array)

### `extract_json_from_web` (~177 tokens)

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.

Input parameters:

- `instructions` (string): Optional instructions for parsing or field formatting.
- `schema` (object, required): Schema definition or list of fields to extract.
- `url` (string, required): Target webpage URL.

Output parameters:

- `data` (object): Extracted JSON fields
- `elapsed_ms` (integer)
- `title` (string)
- `url` (string)

### `fetch_stealth_web` (~149 tokens)

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.

Input parameters:

- `custom_headers` (object): Optional custom headers.
- `url` (string, required): Target webpage URL.

Output parameters:

- `challenge_detected` (boolean)
- `challenge_type` (string)
- `content_length` (integer)
- `elapsed_ms` (integer)
- `html` (string)
- `http_status` (integer)
- `title` (string)
- `url` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/drain54-verify-api/verify#diagnostics

## Score history

- 2026-09-28: 67
- 2026-09-27: 67
- 2026-09-26: 66
- 2026-09-25: 66

## Common questions

### 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.

## Links

- Remote endpoint: https://verify.drain54.my.id/
- Repository: https://github.com/drain54/verify-api
- Changelog RSS feed: https://verifymcp.io/servers/drain54-verify-api/verify.xml
- Changelog JSON feed: https://verifymcp.io/servers/drain54-verify-api/verify.json
- HTML version of this page: https://verifymcp.io/servers/drain54-verify-api/verify
