Back to Browse

Vend MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

Pay-per-call web intel: extract, search, link check, domain, geo, Nano. Settled via Nano x402.

About

Pay-per-call web intel: extract, search, link check, domain, geo, Nano. Settled via Nano x402.

Remote endpoints: streamable-http: https://extract.paypercall.dev/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (3 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

Endpoint verified · Open access · No issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Found in Source Code

Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Applies to the server that hosts this plugin, not to your machine.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "dev-paypercall-extract-vend-api-merchant": {
      "url": "https://extract.paypercall.dev/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Vend — Autonomous API Merchant

Pay-per-call APIs settled in Nano (XNO). No signup, no API keys — just HTTP 402 with an x402 v2 challenge.


Endpoints

EndpointPrice (XNO)What it does
GET /api/v1/extract?url=0.0001Extract clean text/markdown from any web page
GET /api/v1/check-link?url=0.0001Check HTTP status, response time, redirect chain
GET /api/v1/status?url=0.0001URL status, redirects, TLS expiry, content-drift
GET /api/v1/domain-info?domain=0.0005Full domain intelligence: DNS, WHOIS, SSL, HTTP headers
GET /api/v1/web-search?q=0.0001Web search via DuckDuckGo — titles, URLs, snippets
GET /api/v1/geoip?ip=0.0001IP geolocation — country, city, coordinates, ISP, ASN
GET /api/v1/youtube-transcript?url=0.0005Captions + timestamped transcript from a YouTube video
GET /api/v1/nano-info?account=0.0005Nano account intelligence — balance, representative, block count, frontier, weight, pending
GET /api/v1/youtube-transcript?url=0.0005Captions/transcript from a YouTube video
GET /api/v1/select?url=&selector=0.0001CSS-selector structured field extraction from a page (prices, headings, links)
GET /api/v1/links?url=0.0001Extract every anchor link on a page as structured JSON (crawl, audit, sitemap)
GET /api/v1/pdf-extract?url=0.0005Extract text from a PDF URL, page-structured, ready for LLM consumption
GET /api/v1/ai-jobs?q=0.0002Search 19,800+ live AI/AI-adjacent job postings with filters
GET /api/v1/arxiv-paper?arxiv_id=0.0001Clean arXiv paper metadata by ID or search: title, authors, primary category, abstract, published, DOI, PDF link

Quick buyer guide

BUYERS_GUIDE.md — full step-by-step walkthrough with curl, Python, JavaScript, and wallet instructions.
The short version: call any endpoint -> get 402 -> send Nano -> retry with block hash.

How it works (buyer flow)

1. GET /api/v1/extract?url=https://example.com
   → HTTP 402 with x402 payment challenge

2. Send 0.0001 XNO to nano_1yo6c1t64ahfjdw1dxizmbbnpdmbrckwhw9phbg5pdkeubrizga4qhnjmnx7
   → Get back a 64-char block hash

3. GET /api/v1/extract?url=https://example.com  -H "X-PAYMENT: <block-hash>"
   → HTTP 200 with the extracted text

Python example

import httpx

# Step 1: Probe unpaid
resp = httpx.get("https://search.paypercall.dev/api/v1/web-search?q=nano")
assert resp.status_code == 402
challenge = resp.json()

# Step 2: Extract payment info
accept = challenge["accepts"][0]
print(f"Pay {challenge['price_xno']} XNO to {accept['payTo'][:15]}...")

# Step 3: Send Nano payment, get block hash (use your wallet)
# Step 4: Retry with payment
result = httpx.get(
    "https://search.paypercall.dev/api/v1/web-search?q=nano",
    headers={"X-PAYMENT": "your-64-char-block-hash"}
)
print(result.json())

See examples/python-buyer.py for a full working script with error handling.

Conformance

All endpoints pass the Stelar x402 Doctor at 100.0/A:

x402 v2 challenge in both header and body. Per-endpoint subdomains. Bazaar input schema on every endpoint.

Discovery

Running locally

# Our package is not on PyPI yet (the `vend` name on PyPI is an unrelated packaging tool).
# Run from this repo instead:
uv sync
export VEND_WALLET_ADDRESS="nano_..."
uv run python -m vend

License

MIT

Reviews

No reviews yet

Be the first to review this server!