BYTE Protocol
Byte Protocol MCP Server
An MCP (Model Context Protocol) server that gives AI agents direct access to the Byte Protocol data marketplace on Arbitrum Sepolia.
⚠ Breaking change in 0.7.0 — v0.6 contract redeploy. The Byte Protocol v0.6 bundled redeploy went live on Arbitrum Sepolia (chain 421614) on 2026-05-20, and v0.5 is now paused. This release re-points the bundled default contract addresses to the v0.6 deployment:
DataRegistry,DataStream,ReputationEngine, and the USDC token (nowMockUSDC3009, EIP-3009-enabled) all changed.SchemaRegistry,PPBToken, andPQSVerifierare reused from v0.5 and unchanged. Any client pinned to0.6.xkeeps talking to the paused v0.5 contracts — upgrade to0.7.0to transact against the live v0.6 deployment.
Upgrading from 0.5.x? v0.6 adds EIP-712 signatures to
byte_query_fact(closes the "spend someone else's escrow" attack — anyone could previously submit a query naming any subscriber's address and burn that subscriber's on-chain USDC escrow on an answer they never asked for). The fact-oracle server now requires every/queryrequest to include asubscriber_signaturethat recovers to the claimedsubscriber_address. SetPRIVATE_KEYin your env to the subscriber EOA; the MCP server signs each query automatically. Unsigned clients receive HTTP 401 with the EIP-712 domain echoed for debug.
What is MCP?
The Model Context Protocol is an open standard that lets AI assistants (like Claude) use external tools. This server exposes Byte Protocol's on-chain operations as MCP tools, so an AI agent can discover data publishers, check reputation scores, subscribe to feeds, and publish data -- all through natural language.
Tools
This server exposes 14 tools across read and write operations:
Read-only (no wallet required)
Tool | Description |
| Search publishers by topic, minimum PQS score, and sort order |
| Get detailed on-chain info for a publisher (status, tier, stake, PQS breakdown) |
| Get network-wide stats (total publishers, messages, fees, revenue) |
| Check if an address is subscribed to a specific publisher |
| List all publishers a subscriber is currently subscribed to |
| Check escrow + allowance health for a subscription pair |
| Get PPB, USDC, and ETH balances for any address |
| List all active data feeds with pricing and quality scores |
| Query a Byte Protocol fact-oracle publisher for a grounded answer with citations. v0.6+: requires |
Write (require PRIVATE_KEY)
Tool | Description |
| Request 500 testnet PPB tokens (24h cooldown, 1000 PPB lifetime cap) |
| Subscribe to a publisher's data feed |
| Unsubscribe from a publisher's data feed |
| Register as a data publisher (schema + stake + on-chain registration) |
| Publish data to a subscriber via the DataStream contract |
Installation
From npm (recommended)
npx -y byte-mcp-serverFrom source
git clone https://github.com/0rkz/byte-mcp-server.git
cd byte-mcp-server
npm install
npm run build
node dist/index.jsConfiguration
Claude Desktop
Add this to your Claude Desktop config (~/.config/claude/claude_desktop_config.json on Linux, ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"byte-protocol": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"],
"env": {
"RPC_URL": "https://sepolia-rollup.arbitrum.io/rpc",
"INDEXER_URL": "http://localhost:8080"
}
}
}
}To enable write operations (subscribe, publish, faucet), add your private key:
{
"mcpServers": {
"byte-protocol": {
"command": "node",
"args": ["/path/to/mcp-server/dist/index.js"],
"env": {
"PRIVATE_KEY": "0x...",
"RPC_URL": "https://sepolia-rollup.arbitrum.io/rpc",
"INDEXER_URL": "http://localhost:8080"
}
}
}
}Claude Code
claude mcp add byte-protocol node /path/to/mcp-server/dist/index.jsEnvironment Variables
Variable | Required | Default | Description |
| No | -- | Wallet private key for write operations. Without it, only read tools work. |
| No |
| Arbitrum Sepolia RPC endpoint |
| No |
| Byte Protocol indexer API URL |
Usage
Once connected, your AI agent can do things like:
"Search for weather data publishers with a PQS score above 5000"
"What are the network stats for Byte Protocol?"
"Check the balance of 0xABC...123 on the testnet"
"Subscribe me to publisher 0xDEF...456"
"Register as a publisher for the topic eth-price with a 50 PPB stake"
"Get me some testnet tokens from the faucet"
Development
npm run dev # Watch mode -- recompiles on changes
npm run build # One-time build
npm start # Run the serverNetwork
This server connects to Arbitrum Sepolia (chain ID 421614) by default. All contract addresses are for the testnet deployment.
License
MIT -- see LICENSE.
Links
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/0rkz/byte-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server