HashNet
FreeNot checkedUniversal AI agent discovery - search agents across MCP, NANDA, A2A, and OpenRouter protocols
About
Universal AI agent discovery - search agents across MCP, NANDA, A2A, and OpenRouter protocols
README
npm version npm downloads Node version Bundle size Publish Canary License CodeSandbox
Universal MCP server for discovery, chat, registration, credits, and workflow automation across the HOL Registry Broker ecosystem.
Ecosystem
| Surface | Link |
|---|---|
| npm package | @hol-org/hashnet-mcp |
| GitHub repo | hashgraph-online/hashnet-mcp-js |
| GitHub releases | Releases |
| Documentation | hol.org/mcp |
| CodeSandbox | Open examples in browser |
Quickstart
pnpm install
cp .env.example .env
pnpm dev:http
Common launch modes:
pnpm dev:stdiopnpm dev:httppnpm dev:http:compatnpx @hol-org/hashnet-mcp --helpnpx @hol-org/hashnet-mcp --stdionpx @hol-org/hashnet-mcp --http --host 127.0.0.1 --port 3333
When installed globally or linked locally, the binary is hashnet-mcp.
Supported Transports
| Transport | Endpoint(s) | Notes |
|---|---|---|
| stdio | process stdin/stdout | best for local agent runtimes |
| Streamable HTTP | /mcp, /mcp/stream |
recommended HTTP transport |
| legacy HTTP + SSE | /mcp/sse, /mcp/messages |
enabled with FEATURE_LEGACY_SSE=1 |
Runtime utility endpoints:
/healthz/readyz/metrics
Tool Surface
- Discovery:
hol.stats,hol.capabilities,hol.search,hol.vectorSearch,hol.resolveUaid - Chat:
hol.chat.readiness,hol.chat.createSession,hol.chat.sendMessage,hol.chat.retry,hol.chat.history,hol.chat.resume,hol.chat.end - Registration:
hol.getRegistrationQuote,hol.registerAgent,hol.waitForRegistrationCompletion - Workflows:
workflow.discovery,workflow.delegate,workflow.registration
Tool success responses use structured envelopes in structuredContent:
okdatameta
Tool failures return isError: true with structured machine-readable error fields (code, category, retryable).
Configuration
| Variable | Required | Notes |
|---|---|---|
REGISTRY_BROKER_API_URL |
no | defaults to https://hol.org/registry/api/v1 |
REGISTRY_BROKER_API_KEY |
no | enables paid tools with a static broker API key |
BROKER_REQUEST_TIMEOUT_MS |
no | default upstream request timeout is 60000 |
MCP_TRANSPORT |
no | http (default) or stdio |
MCP_HOST |
no | defaults to 127.0.0.1 |
MCP_PORT |
no | defaults to 3333 |
MCP_ALLOWED_ORIGINS |
no | comma-separated allow list |
MCP_SERVER_BEARER_TOKEN |
no | required when binding to a non-local host (for example 0.0.0.0) |
MCP_SESSION_IDLE_TTL_MS |
no | defaults to 900000 |
MCP_SESSION_MAX_COUNT |
no | defaults to 250 |
MCP_SESSION_REAP_INTERVAL_MS |
no | defaults to 60000 |
LEDGER_ACCOUNT_ID |
no | generic ledger identity fallback |
HEDERA_ACCOUNT_ID |
no | Hedera account id |
HEDERA_NETWORK |
no | e.g. hedera:testnet |
HEDERA_PRIVATE_KEY |
no | Hedera private key |
EVM_LEDGER_NETWORK |
no | e.g. eip155:1 |
ETH_PK |
no | EVM private key |
Security Defaults
- Binds to
127.0.0.1by default. - Validates
Originfor HTTP requests when present. - Enforces bearer-token auth when binding to non-local hosts.
- Reaps idle HTTP sessions and enforces max active sessions.
- Redacts sensitive values in logs.
Development
| Command | Purpose |
|---|---|
pnpm build |
compile distributable artifacts |
pnpm start |
run compiled server |
pnpm lint |
run ESLint |
pnpm typecheck |
run TypeScript checks |
pnpm test:run |
run Vitest once |
pnpm test:coverage |
run Vitest with coverage |
pnpm check:no-stubs |
enforce no-stubs contract |
pnpm smoke:http |
streamable HTTP smoke test |
pnpm smoke:stdio |
stdio smoke test |
Release Notes Automation
GitHub releases are generated automatically from merged pull requests:
- release tags are created during publish (
vX.Y.Z) - GitHub release notes are generated with GitHub's release-note engine
- changelog categories are controlled via
.github/release.yml - canonical docs links are appended to each release
Install HashNet in Claude Desktop, Claude Code & Cursor
unyly install hashnetInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add hashnet -- npx -y @hol-org/hashnet-mcpStep-by-step: how to install HashNet
FAQ
Is HashNet MCP free?
Yes, HashNet MCP is free — one-click install via Unyly at no cost.
Does HashNet need an API key?
No, HashNet runs without API keys or environment variables.
Is HashNet hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install HashNet in Claude Desktop, Claude Code or Cursor?
Open HashNet on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzCompare HashNet with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs
