hive-mcp-flag

hive-mcp-flag

Feature flag service for A2A networks with DID-keyed targeting, percentage rollouts, and USDC settlement on Base L2.

Category
Visit Server

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.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.

  • Endpoint Directory: https://thehiveryiq.com
  • Live Leaderboard: https://hive-a2amev.onrender.com/leaderboard
  • Revenue Dashboard: https://hivemine-dashboard.onrender.com
  • Other MCP Servers: https://github.com/srotzin?tab=repositories&q=hive-mcp

Brand: #C08D23 <!-- /hive-footer -->

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured