Hive Flag

io.github.srotzinPublished by GitHub account srotzinv1.0.0Updated Nov 2, 2026

Feature flag service for safe rollouts across the Hive agent fleet

VerifiedStreamable HTTPWeb executableDeveloper ToolsAI & ML

Overview

AI-generated overview

Feature flag service for agent fleets: evaluate, list, describe, create, update and delete flags with DID-based targeting and percentage rollouts.

What you can do
  • Evaluate a flag for a given DID and see the resolved value and matched rule
  • List and describe flags owned by a DID, including recent evaluations
  • Create flags with a default value and ordered targeting rules
  • Update or tombstone (delete) flags, restricted to the owner
  • Targeting supports exact DID match, DID prefix canaries and sticky percentage rollouts
When to use it
Use it when you want an assistant to gate agent behavior, canary a new tool for a subset of agents, or ramp a configuration change to a percentage of agents without redeploying. Useful for teams already working with DID-identified agents in the Hive ecosystem.
Requirements
Remote Streamable-HTTP endpoint, no local install required (a self-hosted Node.js version is also documented). Paid calls require a Base L2 USDC transfer to the service wallet and a transaction hash supplied in the request body or the x402-tx-hash header; the service verifies the receipt via a Base RPC URL.
Before you install
Most tools cost money per call (flag_eval, flag_create, flag_update, flag_delete) and are paid in USDC on Base; you must send a real on-chain transaction and share its hash. Create, update and delete change stored flag state, and update/delete are owner-only. Flag data and evaluation requests are sent to a third-party hosted service.

Installation

In SourceWeft

  1. Open Hive Flag in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.srotzin%2Fhive-mcp-flag/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "hive-flag": {
      "type": "http",
      "url": "https://hive-mcp-flag.onrender.com/mcp"
    }
  }
}

README

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.0wallet: W1 MONROE 0x15184bf50b3d3f52b60434f8942b7d52f2eb436e (Base)

Quick start

bash
git clone https://github.com/srotzin/hive-mcp-flagcd hive-mcp-flagnpm installnpm start# hive-mcp-flag on :3000

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

Tools and pricing

ToolUSD / callNotes
flag_eval$0.0005Evaluate a flag for a DID; returns resolved value and matched rule.
flag_listfreeList flags owned by a DID.
flag_describefreeFull flag definition and recent evaluations.
flag_create$0.001Create a flag with default value and targeting rules.
flag_update$0.0005Update default value or targeting rules. Owner-only.
flag_delete$0.001Tombstone 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.

json
[  { "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}              # describePOST   /v1/flag                     # createPATCH  /v1/flag/{name}              # update — owner-onlyDELETE /v1/flag/{name}              # tombstone — owner-onlyGET    /v1/flag/today               # revenue snapshotGET    /health                      # service healthGET    /.well-known/mcp.json        # MCP discoveryPOST   /mcp                         # JSON-RPC 2.0

MCP example

json
{  "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

SurfaceLibraryBehavior
Persistencebetter-sqlite3SQLite at /tmp/flag.db, WAL mode, transactional create/update.
Signature verificationethers.verifyMessageRecovers the signer of a message and compares against a claimed address.
Payment verificationethers.JsonRpcProviderReads 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

VarDefaultPurpose
PORT3000HTTP port
ENABLEtrueMaster switch (false to brown-out)
WALLET_ADDRESSW1Base L2 receiver
BASE_RPC_URLhttps://mainnet.base.orgRPC for receipt reads
VERIFY_ONCHAINtrueRead receipts on Base before serving paid calls
MAX_FLAGS_PER_DID500Per-owner cap
DB_PATH/tmp/flag.dbSQLite 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

Source: README.md at commit 41f2733

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts