{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"awesome-drand","slug":"drand","name":"Drand","type":"mcp","url":"https://github.com/randa-mu/drand-mcp-server","page_url":"https://unfragile.ai/drand","categories":["mcp-servers"],"tags":[],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"awesome-drand__cap_0","uri":"capability://tool.use.integration.verifiable.random.number.fetching.from.drand.network","name":"verifiable-random-number-fetching-from-drand-network","description":"Fetches cryptographically verifiable random numbers from the drand distributed randomness network by querying beacon endpoints and returning signed randomness values with cryptographic proofs. The MCP server acts as a bridge between Claude/LLM clients and drand's HTTP API, handling beacon selection, response parsing, and proof validation to ensure randomness integrity without requiring clients to directly interact with blockchain or distributed systems.","intents":["I need a source of verifiable randomness for my AI agent that can't be manipulated or predicted","I want to use drand's cryptographic randomness in my LLM application without managing network calls directly","I need to prove to users that my AI system made decisions based on genuinely random, auditable sources"],"best_for":["AI agents and LLM applications requiring cryptographically-secure randomness","Teams building trustless systems where randomness provenance matters","Developers integrating drand into Claude-based workflows via MCP"],"limitations":["Depends on drand network availability and beacon response times (typically 12-second rounds)","No built-in caching of randomness values — each request hits the drand network","Limited to drand's supported beacon chains; cannot generate custom randomness schemes","Proof validation requires understanding drand's BLS signature scheme; not suitable for applications needing simple PRNG"],"requires":["Network connectivity to drand beacon endpoints (public endpoints available)","MCP client compatible with Claude or other LLM platforms supporting MCP servers","Understanding of drand beacon structure and randomness round numbers"],"input_types":["beacon identifier (string)","round number (integer, optional — defaults to latest)","optional parameters for beacon selection"],"output_types":["structured JSON with randomness value (hex-encoded)","cryptographic proof (BLS signature)","beacon metadata (round number, timestamp, signature)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-drand__cap_1","uri":"capability://tool.use.integration.drand.beacon.endpoint.abstraction","name":"drand-beacon-endpoint-abstraction","description":"Abstracts the complexity of selecting and querying drand beacon endpoints by providing a unified interface that handles beacon discovery, endpoint routing, and fallback logic. The server manages multiple beacon configurations (mainnet, testnet, etc.) and automatically routes requests to healthy endpoints, hiding network topology details from the LLM client.","intents":["I want to query drand randomness without worrying about which beacon endpoint to use","I need my randomness requests to be resilient to individual beacon endpoint failures","I want to switch between drand networks (mainnet/testnet) without changing my agent code"],"best_for":["LLM agents requiring high-availability randomness access","Applications supporting multiple drand networks or custom beacon configurations","Teams wanting to abstract infrastructure complexity from AI logic"],"limitations":["Endpoint health checking is passive (based on response success/failure) rather than active probing","No built-in load balancing across multiple healthy endpoints","Beacon configuration is server-side only; clients cannot dynamically specify custom beacon URLs"],"requires":["MCP server configuration with beacon endpoint URLs","Network access to at least one drand beacon endpoint"],"input_types":["beacon name/identifier (string)","optional round number (integer)"],"output_types":["randomness response from selected endpoint","endpoint metadata (which beacon was queried)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-drand__cap_2","uri":"capability://safety.moderation.cryptographic.proof.validation.for.randomness","name":"cryptographic-proof-validation-for-randomness","description":"Validates drand randomness proofs using BLS signature verification to ensure that returned random values are authentic and have not been tampered with. The server performs signature validation against drand's public key material, allowing clients to trust randomness integrity without implementing cryptographic verification themselves.","intents":["I need to verify that the randomness I received from drand is genuine and hasn't been modified","I want my AI system to prove to external auditors that randomness came from drand, not a compromised source","I need to detect if a drand endpoint is returning forged randomness values"],"best_for":["Trustless systems where randomness authenticity is critical","Auditable AI applications requiring cryptographic proof of randomness source","High-security applications where randomness tampering could have financial or safety implications"],"limitations":["Proof validation adds latency (~50-200ms per request depending on signature verification implementation)","Requires drand public key material to be pre-configured and kept up-to-date","Does not validate proof freshness (timestamp checking) — relies on drand's round-based timing","BLS signature verification is computationally expensive; not suitable for ultra-high-frequency randomness requests"],"requires":["drand public key material (available from drand's public endpoints)","Cryptographic library supporting BLS signatures (typically libBLS or equivalent)"],"input_types":["randomness value (hex string)","cryptographic proof/signature (hex string)","beacon public key (hex string)"],"output_types":["boolean validation result","validation error details if proof is invalid"],"categories":["safety-moderation","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-drand__cap_3","uri":"capability://data.processing.analysis.round.number.aware.randomness.queries","name":"round-number-aware-randomness-queries","description":"Supports querying randomness for specific drand rounds or fetching the latest available round, with automatic round number management and validation. The server handles round-to-timestamp mapping and allows agents to request historical randomness (within drand's retention window) or the current round without manual round calculation.","intents":["I want to get randomness for a specific drand round number that my system previously recorded","I need the latest available randomness without knowing the current round number","I want to correlate randomness with a specific timestamp or event in my application"],"best_for":["Applications requiring reproducible randomness tied to specific rounds","Audit trails where randomness source and round number must be recorded","Multi-step processes where different components need randomness from the same round"],"limitations":["drand only retains randomness for recent rounds (typically ~1 month); historical queries beyond retention window fail","Round numbers are beacon-specific; cannot directly compare rounds across different drand beacons","No built-in round-to-timestamp conversion; agents must understand drand's 12-second round interval"],"requires":["Valid drand round number (integer) or omit for latest round","Knowledge of drand's round timing (12-second intervals for mainnet)"],"input_types":["round number (integer, optional)","beacon identifier (string)"],"output_types":["randomness value for specified round","round metadata (timestamp, signature)"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"awesome-drand__cap_4","uri":"capability://tool.use.integration.mcp.tool.schema.for.randomness.access","name":"mcp-tool-schema-for-randomness-access","description":"Exposes drand randomness fetching as an MCP tool with a well-defined JSON schema, enabling Claude to discover, understand, and invoke randomness queries through the standard MCP tool-calling interface. The schema documents parameters, return types, and usage patterns, allowing Claude's native tool-use capabilities to orchestrate randomness-dependent workflows.","intents":["I want Claude to automatically call drand for randomness as part of a multi-step workflow","I need Claude to understand what parameters the randomness tool accepts and what it returns","I want to build complex agent workflows that conditionally use randomness based on prior steps"],"best_for":["Claude-based agents requiring tool-use orchestration","Multi-step workflows where randomness is one of many tools","Teams leveraging Claude's native function-calling capabilities"],"limitations":["Tool schema is static; cannot dynamically update beacon configurations without server restart","Claude's tool-use latency adds overhead compared to direct API calls (~200-500ms per tool invocation)","Tool schema must be manually maintained if drand API changes"],"requires":["MCP client compatible with Claude (Claude 3.5+)","MCP server running and accessible to Claude"],"input_types":["MCP tool call with JSON parameters"],"output_types":["MCP tool result with randomness data"],"categories":["tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":28,"verified":false,"data_access_risk":"moderate","permissions":["Network connectivity to drand beacon endpoints (public endpoints available)","MCP client compatible with Claude or other LLM platforms supporting MCP servers","Understanding of drand beacon structure and randomness round numbers","MCP server configuration with beacon endpoint URLs","Network access to at least one drand beacon endpoint","drand public key material (available from drand's public endpoints)","Cryptographic library supporting BLS signatures (typically libBLS or equivalent)","Valid drand round number (integer) or omit for latest round","Knowledge of drand's round timing (12-second intervals for mainnet)","MCP client compatible with Claude (Claude 3.5+)"],"failure_modes":["Depends on drand network availability and beacon response times (typically 12-second rounds)","No built-in caching of randomness values — each request hits the drand network","Limited to drand's supported beacon chains; cannot generate custom randomness schemes","Proof validation requires understanding drand's BLS signature scheme; not suitable for applications needing simple PRNG","Endpoint health checking is passive (based on response success/failure) rather than active probing","No built-in load balancing across multiple healthy endpoints","Beacon configuration is server-side only; clients cannot dynamically specify custom beacon URLs","Proof validation adds latency (~50-200ms per request depending on signature verification implementation)","Requires drand public key material to be pre-configured and kept up-to-date","Does not validate proof freshness (timestamp checking) — relies on drand's round-based timing","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.05,"quality":0.35,"ecosystem":0.39999999999999997,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-06-17T09:51:03.038Z","last_scraped_at":"2026-05-03T14:00:15.503Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=drand","compare_url":"https://unfragile.ai/compare?artifact=drand"}},"signature":"1qP/u43/jLoZciFxqhk+bdUDqBUTFCPlsxRCJpjuHBAKiKUEG8zN3jA8lPo1bhBvtS12HGnIdOCPRlcdN+thCA==","signedAt":"2026-06-22T13:07:35.899Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/drand","artifact":"https://unfragile.ai/drand","verify":"https://unfragile.ai/api/v1/verify?slug=drand","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}