{"id":50173309,"url":"https://github.com/0rkz/byte-mcp-server","last_synced_at":"2026-05-25T01:00:54.095Z","repository":{"id":357403857,"uuid":"1216411282","full_name":"0rkz/byte-mcp-server","owner":"0rkz","description":"MCP server for AI agents to discover, subscribe, and interact with Byte Protocol data feeds","archived":false,"fork":false,"pushed_at":"2026-05-20T23:55:06.000Z","size":179,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-21T01:55:40.797Z","etag":null,"topics":["agent-commerce","ai-agents","arbitrum","data-marketplace","depin","mcp","mcp-server","model-context-protocol","web3","x402"],"latest_commit_sha":null,"homepage":"https://www.payperbyte.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0rkz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-20T22:00:10.000Z","updated_at":"2026-05-20T23:55:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/0rkz/byte-mcp-server","commit_stats":null,"previous_names":["0rkz/byte-mcp-server"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/0rkz/byte-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rkz%2Fbyte-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rkz%2Fbyte-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rkz%2Fbyte-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rkz%2Fbyte-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0rkz","download_url":"https://codeload.github.com/0rkz/byte-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0rkz%2Fbyte-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33413624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T18:09:33.147Z","status":"ssl_error","status_checked_at":"2026-05-23T18:09:31.380Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-commerce","ai-agents","arbitrum","data-marketplace","depin","mcp","mcp-server","model-context-protocol","web3","x402"],"created_at":"2026-05-25T01:00:24.593Z","updated_at":"2026-05-25T01:00:54.089Z","avatar_url":"https://github.com/0rkz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BYTE Library MCP Server\n\nA [Model Context Protocol](https://modelcontextprotocol.io/) server that gives AI agents direct access to **[BYTE Library](https://www.payperbyte.io)** — a per-byte USDC data marketplace on Arbitrum. Agents discover feeds, subscribe to streams, or pay-per-call for one-off data. No tokens, no API keys, no off-chain accounts: settle in USDC, route through MCP.\n\n\u003e **🧪 Testnet only.** This release targets **Arbitrum Sepolia** (chain `421614`). Use a testnet-only wallet — **never** configure `PRIVATE_KEY` to a key holding mainnet funds. Get free Sepolia ETH from any Arbitrum Sepolia faucet. Mainnet (Arbitrum One) is the next milestone, gated on the external security audit.\n\n\u003e **⚠ Migration window — 0.9.0.** This release prepares `byte_publish_data` for the upcoming **DataStreamLib r2** contract revision (EIP-712 PayloadAttestation). During the migration, `byte_publish_data` will revert against the current v1 contract — the new 5-arg `streamData` signature isn't accepted until r2 deploys on Arbitrum Sepolia. Read-only tools, `byte_subscribe`, `byte_query_fact`, and `byte_buy_data` are unaffected. See [CHANGELOG.md](CHANGELOG.md) for older releases.\n\n## Quick start\n\n```bash\nnpx -y byte-mcp-server\n```\n\nWire it into your MCP client (Claude Desktop config below), then your agent can:\n\n- **Discover** feeds: *\"List the BYTE Library catalog\"* / *\"Search publishers for weather\"*\n- **Buy one packet** (x402, no setup): *\"Buy the latest weather data\"* → ~$0.021 USDC, ~3 seconds, on-chain receipt\n- **Subscribe** to a stream: *\"Subscribe me to the earthquakes feed\"* → auto-approves USDC for ongoing settlement\n- **Query a fact**: *\"Ask the fact-oracle who won the last Lakers vs Warriors game\"* → on-chain signed answer with citations\n\nThe live catalog is at **[x402.payperbyte.io/feeds](https://x402.payperbyte.io/feeds)** — 15 feeds across weather, markets, code, security, knowledge.\n\n## Two paradigms: subscribe vs. buy\n\n| Mode | Tool | Best for | Pricing |\n|---|---|---|---|\n| **Subscribe** | `byte_subscribe` | Continuous streams (every weather update, every new earthquake) | $0.003 USDC / KB per delivery |\n| **Buy** (x402) | `byte_buy_data` | One-off needs (single snapshot for *this* user query) | $0.005 USDC / KB per call, $0.001 floor |\n\nSubscribe is cheaper per byte and gives the agent every broadcast; buy is zero-setup and pay-as-you-go. Pick by access pattern, not by price alone.\n\n## Tools (14 total)\n\n### Discovery (read-only, no wallet)\n\n| Tool | Description |\n|---|---|\n| `byte_search_publishers` | Search publishers by topic and sort order |\n| `byte_list_feeds` | List the active feed catalog with prices and frequencies |\n| `byte_get_publisher` | On-chain info for one publisher (status, subscribers, messages, USDC revenue, schema) |\n| `byte_get_network_stats` | Network-wide stats: publishers, messages, total fees settled |\n| `byte_check_subscription` | Is `subscriber` subscribed to `publisher`? |\n| `byte_list_my_subscriptions` | All active subscriptions for a wallet — last 7d/30d messages + USDC spend |\n| `byte_subscription_health` | Content-drift signal for a publisher: stable / moderate / significant / unknown |\n| `byte_get_token_balances` | USDC + ETH balances on Arbitrum Sepolia |\n\n### Subscribe to a stream (requires `PRIVATE_KEY`)\n\n| Tool | Description |\n|---|---|\n| `byte_subscribe` | Subscribe to a publisher's stream. Auto-bundles USDC `approve(max)` unless `skipAllowance: true` (closes a silent-payment-failure footgun where the contract's allowance-skip path delivered data with `amount=0`) |\n| `byte_unsubscribe` | Unsubscribe — takes effect next block |\n| `byte_register_publisher` | Register as a data publisher (schema + on-chain registration). v1 is first-party only; stake = 0 |\n| `byte_publish_data` | Publish a payload to a subscriber via DataStream (settles fee in USDC). See migration notice above re: r2 |\n\n### Buy on-demand (requires `PRIVATE_KEY`)\n\n| Tool | Description |\n|---|---|\n| `byte_buy_data` | Buy one packet from any feed via the **x402 gateway**. No subscription, no allowance. Signs EIP-3009 `transferWithAuthorization`; the facilitator settles on-chain. Returns the data + tx hash inline |\n| `byte_query_fact` | Ask a slashable fact-oracle publisher a question. Signed EIP-712 request (binds query to your wallet so leaked queries can't burn your escrow); the answer is broadcast on-chain to your address with citations |\n\n## Configuration\n\n### Claude Desktop\n\nEdit `~/.config/claude/claude_desktop_config.json` (Linux) or `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"byte-library\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"byte-mcp-server\"],\n      \"env\": {\n        \"PRIVATE_KEY\": \"0x...\",\n        \"RPC_URL\": \"https://sepolia-rollup.arbitrum.io/rpc\",\n        \"INDEXER_URL\": \"http://localhost:8080\"\n      }\n    }\n  }\n}\n```\n\n`PRIVATE_KEY` is optional — read-only tools work without it. Add it to enable subscribe, publish, buy, and query.\n\n### Claude Code\n\n```bash\nclaude mcp add byte-library -- npx -y byte-mcp-server\n```\n\n### Environment variables\n\n| Variable | Required | Default | Description |\n|---|---|---|---|\n| `PRIVATE_KEY` | only for write/buy/query tools | — | Arbitrum Sepolia wallet key |\n| `RPC_URL` | no | `https://sepolia-rollup.arbitrum.io/rpc` | Arbitrum Sepolia RPC |\n| `INDEXER_URL` | no | `http://localhost:8080` | BYTE Library indexer API |\n| `BYTE_GATEWAY_URL` | no | `https://x402.payperbyte.io` | x402 gateway base URL (used by `byte_buy_data`) |\n\n## Network\n\nCurrent release targets **Arbitrum Sepolia** (chain `421614`) — BYTE Library's testnet. Mainnet (Arbitrum One) is the next milestone, gated on the external security audit. Contract addresses are pinned in the bundled config; the npm release ships ready-to-use defaults.\n\n## Development\n\n```bash\ngit clone https://github.com/0rkz/byte-mcp-server.git\ncd byte-mcp-server\nnpm install\nnpm run build \u0026\u0026 npm start\n```\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n\n## Links\n\n- **[payperbyte.io](https://www.payperbyte.io)** — BYTE Library home\n- **[x402.payperbyte.io/feeds](https://x402.payperbyte.io/feeds)** — live feed catalog\n- **[Model Context Protocol](https://modelcontextprotocol.io/)** — MCP spec\n- **[MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0rkz%2Fbyte-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0rkz%2Fbyte-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0rkz%2Fbyte-mcp-server/lists"}