@obelyzk/mcp-server
v0.1.0
Published
MCP Server for BitSage Network - Enable LLMs to interact with distributed compute
Maintainers
Readme
BitSage MCP Server
MCP (Model Context Protocol) server that enables LLMs like Claude to interact with the BitSage Network for distributed compute operations.
Features
- Job Management: Submit, monitor, and cancel compute jobs
- Worker Discovery: List and inspect available compute workers
- Proof Verification: Verify ZK proofs on-chain
- Staking: Stake SAGE tokens and claim rewards
- Faucet: Claim testnet tokens (Sepolia only)
- Network Stats: Monitor network health and utilization
Installation
npm install @bitsage/mcp-serverOr run directly with npx:
npx @bitsage/mcp-serverConfiguration
Set environment variables:
# API endpoint (optional, defaults to production)
export BITSAGE_API_URL=https://api.bitsage.network
# Starknet RPC (optional)
export STARKNET_RPC_URL=https://starknet-sepolia.public.blastapi.io
# Network: mainnet or sepolia (optional, defaults to sepolia)
export BITSAGE_NETWORK=sepoliaUsage with Claude Desktop
Add to your Claude Desktop configuration (~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"bitsage": {
"command": "npx",
"args": ["@bitsage/mcp-server"],
"env": {
"BITSAGE_NETWORK": "sepolia"
}
}
}
}Available Tools
Job Management
| Tool | Description |
|------|-------------|
| bitsage_submit_job | Submit a compute job (AI inference, ZK proof, etc.) |
| bitsage_get_job_status | Get current status of a job |
| bitsage_cancel_job | Cancel a pending or running job |
| bitsage_list_jobs | List jobs with optional status filter |
Worker Management
| Tool | Description |
|------|-------------|
| bitsage_list_workers | List available compute workers |
| bitsage_get_worker | Get details about a specific worker |
Proof Verification
| Tool | Description |
|------|-------------|
| bitsage_get_proof | Get proof details by hash |
| bitsage_verify_proof | Verify a proof on-chain |
Staking
| Tool | Description |
|------|-------------|
| bitsage_stake | Stake SAGE tokens |
| bitsage_unstake | Unstake SAGE tokens |
| bitsage_claim_rewards | Claim staking rewards |
| bitsage_get_stake_info | Get staking info for an address |
Faucet (Testnet only)
| Tool | Description |
|------|-------------|
| bitsage_faucet_claim | Claim testnet SAGE tokens |
| bitsage_faucet_status | Check faucet cooldown status |
ZKML Proving & Verification
| Tool | Description |
|------|-------------|
| bitsage_submit_zkml_proof | Submit a ZKML proving job (model must be loaded on prover) |
| bitsage_get_zkml_proof_status | Poll proving job status and progress |
| bitsage_get_zkml_proof_result | Get completed proof (calldata, commitments, gas estimate) |
| bitsage_verify_zkml_onchain | Check on-chain verification status for a proof or model |
Network
| Tool | Description |
|------|-------------|
| bitsage_network_stats | Get network statistics |
ZKML Configuration
The ZKML tools connect to a prove-server instance (see libs/stwo-ml/) and the on-chain verifier contract.
# Prover server URL (default: http://localhost:8080)
export BITSAGE_PROVER_URL=http://your-gpu-server:8080
# On-chain verifier contract (default: deployed v3 on Sepolia)
export ZKML_VERIFIER_ADDRESS=0x048070fbd531a0192f3d4a37eb019ae3174600cae15e08c737982fae5d929160Example Interactions
Submit an AI Inference Job
User: Submit an AI inference job using llama-7b model with my prompt "What is the capital of France?"
Claude: I'll submit that job for you.
[Uses bitsage_submit_job tool]
The job has been submitted successfully:
- Job ID: abc123-def456
- Status: pending
- Estimated cost: 50 SAGE tokensCheck Network Status
User: How many workers are available on the BitSage network?
Claude: Let me check the network stats.
[Uses bitsage_network_stats tool]
The BitSage network currently has:
- Total workers: 150
- Active workers: 89
- Worker utilization: 59.3%
- Jobs in progress: 42
- Total jobs completed: 15,234Prove and Verify ML Inference
User: Prove the model 0xabc123 and check if it verifies on-chain.
Claude: I'll submit a proving job and track it.
[Uses bitsage_submit_zkml_proof with model_id: "0xabc123", gpu: true]
Proving job submitted:
- Job ID: d4e5f6a7-...
- Status: queued
[Uses bitsage_get_zkml_proof_status with job_id: "d4e5f6a7-..."]
Proof completed in 40.5s:
- 160 matmul sumcheck proofs
- 40 layers proven
- ~350,000 estimated gas
- 2,847 calldata felts
[Uses bitsage_verify_zkml_onchain with model_id: "0xabc123"]
On-chain status:
- Verification count: 3
- Weight commitment: 0x7f2a...Development
# Install dependencies
npm install
# Build
npm run build
# Run in development
npm run devLicense
MIT
