Pay-per-call SSRF-safe web intelligence for AI agents through MCP and x402.
Project description
1cent Web Intelligence for AI Agents
Give AI agents safe, bounded web intelligence without subscriptions, API keys or handing a crawler unrestricted network access. Start with three free MCP tools; pay only for the URL operation used. Production uses x402 v2, Base Mainnet USDC and PayAI.
Try the real safe fetch path in one command — fixed example.com, no payment:
curl -sS https://1cent.maxzoa.ru/v1/demo/live-pulse
Or preview one URL of your choice without payment, limited to one preview per client and UTC day:
curl -sS "https://1cent.maxzoa.ru/v1/demo/preview?url=https%3A%2F%2Fexample.com%2F"
- MCP:
https://1cent.maxzoa.ru/mcp - Free product demo:
https://1cent.maxzoa.ru/v1/demo/pulse - Free live demo:
https://1cent.maxzoa.ru/v1/demo/live-pulse - Live catalog/prices:
https://1cent.maxzoa.ru/v1/catalog - Public trust status:
https://1cent.maxzoa.ru/status.json - Buyer guide:
https://1cent.maxzoa.ru/docs/getting-started - Browser purchase entry:
https://1cent.maxzoa.ru/try - Outcome packages:
https://1cent.maxzoa.ru/v1/products
Production exposes 32 paid REST/MCP operations plus three free MCP tools:
catalog.tools.search— find the correct operation and live price without a URL fetch;demo.url.pulse— inspect a fixed precomputed output sample without payment or network access.demo.live.pulse— run the real safe service against fixedexample.com, rate-limited.
Public MCP discovery uses navigable dot-notation (web.url.status, web.site.openapi). Pre-0.6
underscore names remain accepted as compatibility aliases but are intentionally omitted from
tools/list.
MCP also publishes one buyer prompt (choose_url_tool) and one static buyer-guide resource
(onecent://buyer-guide). Every input field includes constraints, examples and machine-readable
descriptions so agents can choose and call tools correctly on the first attempt.
Find 1cent
- Official MCP Registry:
ru.maxzoa/1cent; - Glama remote connector:
https://glama.ai/mcp/connectors/ru.maxzoa/1cent; - Smithery:
https://smithery.ai/servers/maxzoa27/onecent; - MCP.so:
https://mcp.so/servers/1cent; - LobeHub:
https://lobehub.com/mcp/maxzoa-1cent. - MCPServers.org:
https://mcpservers.org/ru/servers/maxzoa/1cent.
Glama release verification uses the repository's onecent-glama stdio entry point. It loads the
same MCP tool registry as production for schema inspection; it does not provide a payment bypass
or a second implementation of paid URL operations.
Directory status is checked with dated evidence in Marketplace quality report. A page returning HTTP 200 alone is not counted as a successful listing: it must be searchable, current and installable.
Buyer setup starts with a no-payment diagnostic:
onecent doctor
Generate or install a secret-free MCP client configuration:
onecent install --client claude
onecent install --client cursor --apply
onecent install --client vscode --apply
onecent install --client codex
For MCP clients without native x402 signing, install the local Buyer Bridge:
pipx install "onecent[buyer] @ git+https://github.com/maxzoa/1cent.git"
onecent wallet set
onecent bridge --max-usdc-per-call 0.001 --daily-limit-usdc 0.01
Manual one-call approval is the default. The OS keyring holds the buyer secret; 1cent, remote MCP and catalog services never receive it. UNKNOWN outcomes are never retried. See Buyer Bridge for Claude, Cursor, VS Code and Codex setup.
The direct CLI also refuses a paid call unless the buyer explicitly supplies a maximum amount,
confirms Base Mainnet and types the one-call confirmation. See examples/buyer-python and
examples/buyer-node.
Node buyers can use the release package in packages/onecent-buyer:
cd packages/onecent-buyer
npm ci
npm exec -- onecent-buyer doctor
onecent watch provides finite, capped change monitoring. It is disabled by default, requires
explicit Base network/asset/seller confirmations and stops on UNKNOWN without creating a new
payment attempt.
PostgreSQL is the runtime source for tool availability and atomic Base USDC prices. Config values are clean-install fallbacks. Paid URL work begins only after successful payment checks.
Safety contract
- public HTTP/HTTPS only; private, loopback, link-local and rebinding destinations fail closed;
- strict input schemas; unknown fields rejected;
- bounded redirects, response bodies, extracted text, concurrency and queue depth;
- payment identifier, request fingerprint and idempotent replay protection;
- UNKNOWN settlement never retried automatically;
- no seller private key, buyer key, Docker socket or JavaScript execution on the server;
- Streamable HTTP host/origin protection enabled for remote MCP.
- optional signed x402 offers and settlement receipts use a dedicated Ed25519
did:webkey; they never expose or reuse a buyer or seller private key.
Local quality checks
python -m venv .venv
.venv/Scripts/pip install --require-hashes -r requirements-dev.lock
.venv/Scripts/pip install --no-deps -e .
ruff check .
mypy
pytest -q
python scripts/validate_release.py
docker compose --env-file .env.example config
docker compose --env-file .env.example build
pip-audit --no-deps -r requirements.lock --progress-spinner off
Local Docker start
Copy .env.example to .env, replace placeholders, keep X402_ENVIRONMENT=testnet and
X402_NETWORK=eip155:84532, then:
docker compose up -d --build
docker compose ps
Container UID/GID: 10001:10001. No host bind-mounted writable directory is required.
This local example is intentionally testnet. Production mainnet activation requires owner approval,
a fresh PostgreSQL backup, production preflight, development bypass disabled and rollback readiness.
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file onecent-0.7.0.tar.gz.
File metadata
- Download URL: onecent-0.7.0.tar.gz
- Upload date:
- Size: 108.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
702c19c87aa4edb26693b7aa3227342c88822c159c8ebd4885f1def8f791f898
|
|
| MD5 |
526fdbc663925339527631ea005521d0
|
|
| BLAKE2b-256 |
4ffe649e50bbd07bddc2414f537fba13192752595ebce855766d3e2ffe5ea8b3
|
Provenance
The following attestation bundles were made for onecent-0.7.0.tar.gz:
Publisher:
publish-packages.yml on maxzoa/1cent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onecent-0.7.0.tar.gz -
Subject digest:
702c19c87aa4edb26693b7aa3227342c88822c159c8ebd4885f1def8f791f898 - Sigstore transparency entry: 2291133074
- Sigstore integration time:
-
Permalink:
maxzoa/1cent@3e23066f7dbb075bd0b98605e9e93cc9c8cf5d67 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/maxzoa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-packages.yml@3e23066f7dbb075bd0b98605e9e93cc9c8cf5d67 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file onecent-0.7.0-py3-none-any.whl.
File metadata
- Download URL: onecent-0.7.0-py3-none-any.whl
- Upload date:
- Size: 120.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f42dca995f7fc8c8deb273ed315140de025a75cbe604698dd5347a71f79666c
|
|
| MD5 |
97de8118ac88f40c462dab5131718eaf
|
|
| BLAKE2b-256 |
8ea88cca17e0e449c1c96b72fbbc5fa643f0c36b0f9d295578654117a5873ea5
|
Provenance
The following attestation bundles were made for onecent-0.7.0-py3-none-any.whl:
Publisher:
publish-packages.yml on maxzoa/1cent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
onecent-0.7.0-py3-none-any.whl -
Subject digest:
2f42dca995f7fc8c8deb273ed315140de025a75cbe604698dd5347a71f79666c - Sigstore transparency entry: 2291133129
- Sigstore integration time:
-
Permalink:
maxzoa/1cent@3e23066f7dbb075bd0b98605e9e93cc9c8cf5d67 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/maxzoa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-packages.yml@3e23066f7dbb075bd0b98605e9e93cc9c8cf5d67 -
Trigger Event:
workflow_dispatch
-
Statement type: