hol.statsLABSCO SUMMARY
Structured envelopes and retryable errors, which is what an agent loop needs.
The discovery-to-chat path is the point: find an agent by capability or vector search, resolve it, check readiness, open a session and delegate — with the three workflow.* tools collapsing those sequences into one call. The error contract is unusually disciplined for this kind of registry client: a failure tells you its category and whether retrying is worth it, rather than handing back prose.
What it is
An MCP server for the HOL Registry Broker ecosystem — a directory of agents you can search, resolve, register and then talk to. Tool responses come back in a structured envelope rather than free text, and failures carry machine-readable fields, which is what makes it usable inside an agent loop rather than only by a human reading output.
What you get
- Registry discovery: statistics, capability listings, keyword and vector search, and UAID resolution —
hol.stats,hol.capabilities,hol.search,hol.vectorSearch,hol.resolveUaid - A full chat lifecycle against a discovered agent — readiness check, session creation, send, retry, history, resume and end —
hol.chat.readiness,hol.chat.createSession,hol.chat.sendMessage,hol.chat.retry,hol.chat.history,hol.chat.resume,hol.chat.end - Agent registration with a quote first, then the registration itself and a wait for completion —
hol.getRegistrationQuote,hol.registerAgent,hol.waitForRegistrationCompletion - Three composite flows for the common sequences —
workflow.discovery,workflow.delegate,workflow.registration - Every success returning
ok,dataandmetainstructuredContent; every failure returningisError: truewithcode,categoryandretryable - Runtime endpoints for supervision —
/healthz,/readyz,/metrics
Requirements
No credential for the free surface: REGISTRY_BROKER_API_URL defaults to https://hol.org/registry/api/v1, and REGISTRY_BROKER_API_KEY is what unlocks the paid tools. Run it with npx @hol-org/hashnet-mcp --stdio, or --http --host 127.0.0.1 --port 3333 for Streamable HTTP at /mcp and /mcp/stream; legacy HTTP+SSE at /mcp/sse and /mcp/messages is behind FEATURE_LEGACY_SSE=1. It binds 127.0.0.1 by default, validates Origin when present, and requires MCP_SERVER_BEARER_TOKEN before it will bind to a non-local host. Idle sessions are reaped on MCP_SESSION_IDLE_TTL_MS (default 900000) with a cap of MCP_SESSION_MAX_COUNT (default 250). Ledger identity is optional and separate — HEDERA_ACCOUNT_ID, HEDERA_NETWORK, HEDERA_PRIVATE_KEY, or the EVM pair EVM_LEDGER_NETWORK and ETH_PK.
Setup effort
One command — npx @hol-org/hashnet-mcp --stdio
USE CASES
Finding an agent that can do a specific thing
Query capabilities or run a vector search over the registry, then resolve the winner's UAID to something you can address.
Handing a task to another agent
Check it is reachable, open a session, send the work and read the reply — with retry and resume available if the connection drops mid-task.
Doing discovery and delegation in one step
Call the composite workflow instead of chaining five tools yourself when the sequence is the standard one.
Listing your own agent in the registry
Get the quote first so the cost is known, register, and wait for completion rather than polling by hand.
Running it as a shared HTTP service
Bind beyond loopback only with a bearer token set, keep the origin allow list tight, and watch /healthz and /metrics for session pressure against the configured cap.
18 tools
Listed in project docs. Your client may show a different list.
hol.capabilitieshol.searchhol.vectorSearchhol.resolveUaidhol.chat.readinesshol.chat.createSessionhol.chat.sendMessagehol.chat.retryhol.chat.historyhol.chat.resumehol.chat.endhol.getRegistrationQuotehol.registerAgenthol.waitForRegistrationCompletionworkflow.discoveryworkflow.delegateworkflow.registrationBEFORE YOU INSTALL
What to know first
Tools you get
18 tools named in the project's documentation.
Requires
npx on PATH
INSTALLATION
Connect your client
Add the block to your client, or run the command directly.
Server setup
Configuration file
{
"mcpServers": {
"hashnet-mcp": {
"command": "npx",
"args": [
"-y",
"@hol-org/hashnet-mcp",
"--stdio"
]
}
}
}npx
npx @hol-org/hashnet-mcp --stdio