-
-
AgentBadge: 6 imperative WebMCP tools, 1 declarative form, zero API keys. Browser-native agent compliance on Hedera.
-
Agent visits agentbadge.xyz, discovers 6 tools via /.well-known/webmcp.json, calls them directly through the browser. No setup.
-
WebMCP vs Traditional API vs MCP: zero keys, zero servers, zero setup. Browser mediates all agent tool calls natively.
Inspiration
AI agents today face a fundamental integration problem. To use any web service, an agent must: read API docs, obtain API keys, install SDKs, configure authentication, and manage secrets. This is the API key bottleneck — every integration requires human setup.
Meanwhile, MCP (Model Context Protocol) emerged as a standard for exposing tools to LLMs, but it still requires running a separate MCP server, configuring transport (stdio/SSE), and managing permissions server-side. Agents without MCP clients are left out.
We asked: what if agents could discover and use tools directly from the browser — no keys, no servers, no setup? WebMCP answers this by making the browser the mediator. AgentBadge is our answer to "what does an agent-native web look like?"
What it does
AgentBadge is the first agent-native compliance platform powered by WebMCP. It exposes:
- 6 imperative tools via
navigator.modelContext.provideContext():agent-readiness-scan— scans any URL for 145+ AI readiness checks across 18 categoriesbadge-generate— generates compliance badge SVGpassport-issue— mints on-chain NFT passport on Hederapassport-verify— verifies agent identity by token ID or DID (Hedera + EVM)get-compliance-score— quick compliance score (0-100, grade A-F)search-rules— searches 145+ compliance rules by keyword
- 1 declarative form — HTML form-based scan submission for declarative agents
- Automatic discovery via
/.well-known/webmcp.json— agents find tools without reading docs - Browser-mediated security — per-tool trust levels (trusted/untrusted, readOnly/write), no API keys
- 145+ readiness rules across 18 categories — the most comprehensive AI agent readiness scanner
How we built it
WebMCP Layer
- Discovery endpoint:
GET /.well-known/webmcp.jsonreturns a manifest with tool namespaces, endpoints, and descriptors - Tool registration: Inline
<script>on every page callsnavigator.modelContext.provideContext()with 6 tool definitions (input schemas + execute functions) - Trust levels: Each tool declares
readOnly/write+trusted/untrusted— the browser enforces per-tool access
Scanner (145+ rules, 18 categories)
- 41 parallel HTTP fetchers — robots.txt, sitemap, llms.txt, OpenAPI, WebMCP manifest, WebMCP runtime, content negotiation, payment protocols, identity/DID, bot auth, SEO/AEO, accessibility, and more
- WebMCP-specific rules: AB-050 (manifest found), AB-051 (form annotations), AB-069 (browser-side tools), AB-102 (descriptor validation), AB-103 (runtime probe), AB-115 (tool schema), AB-116 (content negotiation)
- Ed25519-signed reports with SHA-256 integrity hashes
Blockchain Layer
- Hedera HTS — non-transferable NFT passports ($0.001/tx, 3-5s finality, no smart contracts)
- HCS — immutable audit trail + agent directory (consensus-ordered, timestamped)
- Mirror Node — free REST API for reads, no indexer needed
- DID support:
did:hcs:{tokenId}:{serial}(Hedera) anddid:eip155:{chainId}:passport:{nftAddress}:{tokenId}(EVM)
Tech Stack
- Runtime: Bun + Hono (TypeScript-native, server-side rendering)
- Frontend: HTMX fragments — no React, no build step
- Blockchain: Hedera Testnet (HTS + HCS + HBAR)
- Metadata: IPFS via nft.storage (immutable JSON, CID = content hash)
Challenges we ran into
WebMCP Spec Readiness
WebMCP is an emerging spec — browsers haven't shipped navigator.modelContext yet. We built the full integration (tool registration, discovery endpoint, schemas) so it's spec-ready today: all endpoints work as standard HTTP APIs, and will work natively via WebMCP when browsers implement it.
Scanner Complexity
145+ rules across 18 categories with 41 parallel fetchers is complex to orchestrate. We built a parallel fetcher architecture with SSRF protection, content-type validation, and timeout handling. Each fetcher returns structured data that feeds into the rule engine.
Browser-Mediated Trust
Designing per-tool trust levels (trusted/untrusted, readOnly/write) that the browser can enforce required careful thinking about the threat model. Untrusted tools (agent-readiness-scan, get-compliance-score) are safe for any agent to call. Trusted tools (passport-issue, passport-verify) require browser mediation.
Cross-Chain Identity
Supporting both Hedera (did:hcs:) and EVM (did:eip155:) DIDs required abstracting the verification layer. The same passport-verify tool handles both formats, resolving to on-chain NFT ownership checks via the appropriate chain's API.
Accomplishments that we're proud of
- First WebMCP-native compliance platform — not a wrapper around an existing API, but built from the ground up for browser-mediated agent tool discovery
- 145+ scanner rules across 18 categories — the most comprehensive AI agent readiness framework, covering discovery, documentation, actionability, payments, identity, infrastructure, SEO/AEO, accessibility, and WebMCP itself
- 7 WebMCP-specific scanner rules — AgentBadge scans itself and other sites for WebMCP compliance (manifest, runtime, form annotations, tool schemas, content negotiation)
- Zero API keys architecture — agents discover and use tools without any authentication setup
- Cross-chain DID support — Hedera and EVM identity in one tool
- Spec-ready today — full WebMCP integration that works as HTTP APIs now and natively when browsers ship
navigator.modelContext
What we learned
- WebMCP is the right abstraction — agents shouldn't need to read API docs or manage keys. Browser-mediated tool discovery is fundamentally better than the API key model.
- Scanner-first approach works — before exposing tools, check if a site is agent-ready. 145+ rules across 18 categories gives a comprehensive readiness picture.
- Declarative + imperative is the right combo — some agents prefer tool calls, others prefer HTML forms. Supporting both covers all agent types.
- Trust levels are essential — not all tools should be callable by any agent. The
trusted/untrustedsplit lets the browser enforce access without authentication.
What's next for AgentBadge
- Browser-native WebMCP — when Chrome ships
navigator.modelContext, AgentBadge tools will work natively without any changes to our code - More imperative tools — expand beyond 6 tools to cover marketplace tasks, A2A messaging, and agent directory search
- WebMCP compliance certification — a badge program for sites that pass all 7 WebMCP scanner rules
- Agent passport tiers via WebMCP — let agents upgrade their on-chain tier through browser-mediated tool calls
- Cross-browser testing — validate WebMCP integration across Chrome, Firefox, Safari as implementations ship
- Community rule contributions — open the 145+ rule framework for community-submitted readiness checks
Built With
- base
- bun
- docker
- ed25519
- evm
- fly.io
- hbar
- hcs
- hedera
- hono
- htmx
- hts
- ipfs
- json-ld
- mcp
- nft.storage
- openapi
- rest
- tailwindcss
- typescript
- vitest
- webmcp
- x402
- zod
Log in or sign up for Devpost to join the conversation.