byte-mcp-serverSAFE
MCP server for PayPerByte — pay-per-call USDC data feeds for AI agents (x402 on Base; EIP-712 attestations). No API keys, no token.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Smithery listing · [](https://glama.ai/mcp/servers/0rkz/byte-mcp-server)
A Model Context Protocol server that gives AI agents direct access to [PayPerByte](https://www.payperbyte.io) — cryptographically attested, provenance-verifiable data feeds for AI agents (the X-BYTE-Attestation receipt proves delivery-integrity — these are exactly the bytes PayPerByte served and attested under the BYTE Library domain — not that an independent data publisher signed them, and not that the data is correct). Agents discover feeds, pay-per-call via x402 (settled in USDC on Base mainnet), or subscribe to on-chain streams (Arbitrum Sepolia testnet). Every paid x402 response carries an EIP-712 PayloadAttestation receipt (X-BYTE-Attestation header) the agent verifies before acting. No tokens, no API keys, no off-chain accounts.
Two rails — read this before setting `PRIVATE_KEY`. - x402 pay-per-call (`byte_buy_data`): Base mainnet (`eip155:8453`), REAL USDC. Paid feeds settle real money — every price is quoted in the 402 challenge and listed per feed at https://x402.payperbyte.io/feeds. Example: the Merchant Screen Oracle returns a signed ALLOW/WARN/BLOCK check on a merchant's domain and payout address, backed by a signed EIP-712 attestation over the exact response bytes, run before an agent settles an x402 payment to it. Authenticity and delivery-integrity, not a correctness guarantee on the verdict itself — and on the domain, address and price you supply; it does not observe or constrain the address you ultimately settle to. Use a dedicated wallet holding only what you intend to spend. - **On-chain subscribe/publish/query layer (BYTE Library contr
7d4ef1a9b072OBSERVED · 2026-10-11Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add byte-mcp-server --env PRIVATE_KEY=${PRIVATE_KEY} -- npx -y [email protected]Exposed tools (15)
14 read · 1 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
byte_buy_data | read | |
byte_check_subscription | read | |
byte_get_network_stats | read | |
byte_get_publisher | read | |
byte_get_token_balances | read | |
byte_list_feeds | read | |
byte_list_my_subscriptions | read | |
byte_publish_data | write | |
byte_query_fact | read | |
byte_register_publisher | read | |
byte_search_publishers | read | |
byte_subscribe | read | |
byte_subscription_health | read | |
byte_unsubscribe | read | |
byte_verify_payload | read |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (3)
BYTE_GATEWAY_URL: "http://127.0.0.1:1",
"see http://127.0.0.1:8787/health",
@modelcontextprotocol/sdk, @types/express, dotenv, express, viem, zod, @types/node, typescript
Gates applied: no_behavioural_pass.
7d4ef1a9b072full audit observations/trust-audit/mcp-server/0rkz__byte-mcp-server.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-11 | 7d4ef1a9b072 | SAFE | B | 89 | first audit |
Questions
What is the byte-mcp-server MCP server?
MCP server for PayPerByte — pay-per-call USDC data feeds for AI agents (x402 on Base; EIP-712 attestations). No API keys, no token.
What tools does byte-mcp-server expose?
15 in total: 14 read-only, 1 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is byte-mcp-server safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does byte-mcp-server need?
It reads PRIVATE_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does byte-mcp-server run?
It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as byte-mcp-server at 0.13.0.
How current is this page?
The grade is for one exact copy of the source (7d4ef1a9b072), read on 2026-10-11. The repository is watched and re-audited when it changes.