Labsco
JessieJanie logo

Skim

from JessieJanie

Clean web reader for AI agents. Pays $0.002/call in USDC on Base via x402. No API keys, no signup.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedAccount requiredAdvanced setup

skim-mcp

Give your AI agent the ability to read any URL โ€” clean Markdown, no ads, no nav, no boilerplate. Pays itself per call. No signup, no API key.

skim-mcp is the official Model Context Protocol server for Skim โ€” the canonical x402 clean reader API. It exposes one tool, read_url, that your agent can call to fetch any web page as agent-ready Markdown plus structured metadata (title, byline, published date, language, excerpt). Each call costs $0.002 in USDC on Base, paid automatically by your local wallet over HTTP 402.

See it before you wire it: try Skim free in your browser โ€” 10 free skims a day, no wallet, no signup. Paste a URL, see exactly what your agent gets back.

A 30-second demo GIF coming here soon.


Try it without an agent

Skeptical? Test the upstream endpoint directly โ€” it'll return a 402 challenge so you can see the protocol in action:

curl -i -X POST https://skim402.com/api/v1/read \
  -H 'content-type: application/json' \
  -d '{"url":"https://en.wikipedia.org/wiki/HTTP_402"}'

You'll get back HTTP/1.1 402 Payment Required with the x402 challenge in the response body. To then pay the challenge from a script (not an agent), see x402-fetch.


The tool

read_url

Reads any URL and returns clean Markdown with a YAML frontmatter block.

Input:

{ "url": "https://example.com/article" }

Output:

---
title: Example article
byline: Jane Doe
published: 2025-01-15
lang: en
excerpt: A short summary...
---

# Example article

The cleaned article body in Markdown...

That's it. One tool, one input, one shape of output. Designed to drop into any agent's tool-calling loop with zero ceremony.


How it actually works

your agent โ”€โ”€โ–บ skim-mcp โ”€โ”€โ–บ POST https://skim402.com/api/v1/read
                  โ–ฒ                       โ”‚
                  โ”‚                       โ–ผ
                  โ”‚              402 Payment Required
                  โ”‚                  (x402 challenge)
                  โ”‚                       โ”‚
                  โ–ผ                       โ”‚
   x402-fetch signs EIP-3009 โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
   USDC transfer authorization
                  โ”‚
                  โ–ผ
        retry POST with X-PAYMENT header
                  โ”‚
                  โ–ผ
   Skim verifies + settles via Coinbase CDP facilitator
                  โ”‚
                  โ–ผ
        200 OK + clean Markdown

End-to-end latency is typically 1.5โ€“2 seconds including settlement. Your private key never leaves your machine โ€” it only signs authorizations locally.


Security

  • Dedicated wallet, always. Fund it with only as much USDC as you're willing to spend in a runaway loop. The SKIM_MAX_PRICE_USD cap catches accidental price escalations on the server side.
  • Plaintext config caveat. MCP clients read the private key from a JSON file on disk in plaintext. Anyone with read access to your home directory can drain the wallet. This is a property of every MCP server that needs credentials โ€” keep the wallet small.
  • No outbound telemetry from this package. skim-mcp only talks to skim402.com (or whatever you set as SKIM_API_URL). No analytics, no error reporting, no phone-home.