Skip to content
MCP ThesaurusMCP Thesaurus

Hive Flag

CommunityGood72/100Claim

streamable-httpMITupdated 1mo ago

Feature flag service for the A2A network โ€” Hive Civilization. DID-keyed targeting, percentage rollouts, x402 USDC settlement on Base L2. MCP 2024-11-05. Inbound only.

SourceWebsite

What can you do with Hive Flag?

hive-mcp-flag

srotzin/hive-mcp-flag MCP server

Feature flag service for the A2A network โ€” Hive Civilization. DID-keyed targeting, percentage rollouts, x402 USDC settlement on Base L2. MCP 2024-11-05. Inbound only.

Disable a runaway behavior, gate a new tool behind a DID-prefix canary, or ramp a config change to 25% of agents โ€” without redeploying the agent. LaunchDarkly-shaped semantics, agent-native primitives.

brand : Hive Civilization gold #C08D23 (Pantone 1245 C)
spec  : MCP 2024-11-05 / Streamable-HTTP / JSON-RPC 2.0
wallet: W1 MONROE 0x15184bf50b3d3f52b60434f8942b7d52f2eb436e (Base)

Quick start

git clone https://github.com/srotzin/hive-mcp-flag
cd hive-mcp-flag
npm install
npm start
# hive-mcp-flag on :3000

Hosted endpoint: https://hive-mcp-flag.onrender.com/mcp

Tools and pricing

Tool USD / call Notes
flag_eval $0.0005 Evaluate a flag for a DID; returns resolved value and matched rule.
flag_list free List flags owned by a DID.
flag_describe free Full flag definition and recent evaluations.
flag_create $0.001 Create a flag with default value and targeting rules.
flag_update $0.0005 Update default value or targeting rules. Owner-only.
flag_delete $0.001 Tombstone a flag. Owner-only.

All payments are inbound. Submit a Base USDC tx_hash (caller โ†’ W1) in the request body or x402-tx-hash header. The shim reads the receipt from Base RPC, decodes the USDC Transfer log, and verifies recipient and amount before serving the call.

Targeting rules

Rules evaluate in declared order. First match wins. If none match, the flag's default_value is returned.

[
  { "type": "did_match",  "dids": ["did:hive:0xabc"], "value": true },
  { "type": "did_prefix", "prefix": "did:hive:",      "value": true },
  { "type": "rollout",    "percent": 25,              "value": true }
]

rollout uses SHA256(did + flag_key) mod 100, so the same (did, flag_key) pair always falls in the same bucket โ€” sticky variant assignment with no extra storage.

REST API

POST   /v1/flag/eval                # body: { flag_key, evaluating_did, tx_hash }
GET    /v1/flag/list?owner_did=...
GET    /v1/flag/{name}              # describe
POST   /v1/flag                     # create
PATCH  /v1/flag/{name}              # update โ€” owner-only
DELETE /v1/flag/{name}              # tombstone โ€” owner-only
GET    /v1/flag/today               # revenue snapshot
GET    /health                      # service health
GET    /.well-known/mcp.json        # MCP discovery
POST   /mcp                         # JSON-RPC 2.0

MCP example

{
  "jsonrpc": "2.0", "id": 1, "method": "tools/call",
  "params": {
    "name": "flag_eval",
    "arguments": {
      "flag_key": "new_routing_v2",
      "evaluating_did": "did:hive:0xabc",
      "tx_hash": "0xBASE_TX_PAYING_$0.0005_USDC_TO_W1"
    }
  }
}

Real rails

Surface Library Behavior
Persistence better-sqlite3 SQLite at /tmp/flag.db, WAL mode, transactional create/update.
Signature verification ethers.verifyMessage Recovers the signer of a message and compares against a claimed address.
Payment verification ethers.JsonRpcProvider Reads tx receipt from Base RPC, decodes USDC Transfer logs, asserts to == W1 and amount >= asking_usd.

Set VERIFY_ONCHAIN=false only for local development or testing โ€” the default and the production deployment verify on-chain.

Environment

Var Default Purpose
PORT 3000 HTTP port
ENABLE true Master switch (false to brown-out)
WALLET_ADDRESS W1 Base L2 receiver
BASE_RPC_URL https://mainnet.base.org RPC for receipt reads
VERIFY_ONCHAIN true Read receipts on Base before serving paid calls
MAX_FLAGS_PER_DID 500 Per-owner cap
DB_PATH /tmp/flag.db SQLite file

Caps

  • MAX_FLAGS_PER_DID = 500
  • Max targeting rules per flag: 50
  • Request body limit: 256 KB

Out of scope (v1.1+)

Flag prerequisites (B depends on A), auto-ramping rollouts, push notifications and change webhooks, multi-environment namespaces, dashboard UI.

Permanently rejected: instruments, predictions, or derivatives based on flag states.


Hive Civilization ยท MIT ยท github.com/srotzin/hive-mcp-flag

Hive Civilization Directory

Part of the Hive Civilization โ€” agent-native financial infrastructure.

Brand: #C08D23