bounty-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARC_RPC_URL | No | Read the wallet balance through an RPC you control instead of the public defaults, which otherwise learn the wallet address. | |
| BASE_RPC_URL | No | Read the wallet balance through an RPC you control instead of the public defaults, which otherwise learn the wallet address. | |
| X402_NETWORK | No | auto (default): pay on whichever of Base and Arc holds the most USDC for the wallet. Or fix it: eip155:8453 Base, eip155:5042 Arc mainnet. | auto |
| EVM_PRIVATE_KEY | No | Spending wallet private key. Empty starts the server in read-only mode: the free tool works and paid tools return a clear 'payment required' message. | |
| VANGRID_API_URL | No | API base, defaults to https://data.vangrid.io. | https://data.vangrid.io |
| MAX_USD_PER_CALL | No | Hard cap per data call. Defaults $0.05. | 0.05 |
| VANGRID_MCP_STORE | No | Override the bounty token file (default ~/.vangrid-mcp/bounties.json). | ~/.vangrid-mcp/bounties.json |
| MAX_USD_PER_BOUNTY | No | Hard cap per bounty. Defaults $100. | 100 |
| BASE_SEPOLIA_RPC_URL | No | Read the wallet balance through an RPC you control instead of the public defaults, which otherwise learn the wallet address. | |
| VANGRID_HTTP_TIMEOUT_MS | No | Deadline for the whole API call including the x402 retry, default 30000. | 30000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vangrid_coverage_queryA | Find anchored ground-level captures inside an area and time window. Each observation carries a coarse location (geohash precision 6), capture time and the EAS attestation on Base that anchors it. Paid per call in USDC on Base (eip155:8453) or Arc mainnet (eip155:5042), about $0.01. Area: GeoJSON Point with radius_m (max 5000) or a Polygon whose bounding box is at most 100 km². |
| vangrid_observationA | Fetch one anchored capture by its sha256 (with or without 0x): coarse location, capture time and EAS attestation on Base. Paid per call in USDC on Base (eip155:8453) or Arc mainnet (eip155:5042), about $0.005. |
| vangrid_verify_provenanceA | Free. Check whether a sha256 is a capture anchored by Vangrid on Base. Returns verified true/false and, when true, the capture time, coarse location and the attestation reference. |
| vangrid_post_bountyA | Commission a ground-level 3D capture of a real place. You pay the bounty amount in USDC on Base or Arc mainnet right away; Vangrid posts it to its bounty board, a contributor films it, and you review submissions with vangrid_bounty_status and accept one with vangrid_accept_submission to receive the reconstruction. If nothing is accepted by the deadline, or you cancel while open, the USDC comes back to your wallet. Amount is whole USDC between the limits the server quotes (by default 50 to 5000). The bounty token is kept locally; later tools only need bounty_id. |
| vangrid_bounty_statusA | Free. Status of a bounty you posted (paid, open, accepting, accepted, cancelled, expired_refunded, failed), its on-chain id and board link, and the submissions received: each with a short preview video URL (valid 15 minutes) and quality status. After accept, links to the full capture and the 3D model appear on the accepted submission. |
| vangrid_accept_submissionA | Free. Accept one submission on an open bounty you posted. The escrow is released on chain, reconstruction starts, and the full capture and model become available in vangrid_bounty_status. Irreversible. |
| vangrid_cancel_bountyA | Free. Cancel a bounty you posted while it is still open. The escrow is withdrawn on chain and the USDC is sent back to the wallet that paid. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool targets a distinct operation: fetch one capture by hash, query coverage by area/time, verify provenance, and post/status/accept/cancel a bounty. The only potential overlap between vangrid_observation and vangrid_verify_provenance is resolved clearly by paid-vs-free and fetch-vs-boolean descriptions.
All names use snake_case and the vangrid_ prefix consistently, but the pattern is not uniformly verb_noun: some are noun phrases like vangrid_observation, vangrid_coverage_query, and vangrid_bounty_status. The grouping remains readable and predictable within read/write categories.
Seven tools are well-scoped for this domain, covering capture retrieval, verification, and the full bounty lifecycle without redundant or filler tools. The count matches the apparent purpose.
The surface covers the commissioner workflow end-to-end: verify, fetch, and query captures, then post, monitor, accept, and cancel bounties. No obvious operational gaps exist for the stated client role, and contributor-side submission appears intentionally external.