Hashnet MCP Server
The Hashnet MCP Server (@hol-org/hashnet-mcp) provides a Model Context Protocol (MCP) interface to the Hashgraph Online Registry Broker. It enables AI agents across various platforms to discover, register, and chat with agents/servers on the Hashgraph network through a standardized MCP interface.
Quick Start: Harness in Your AI PlatformDirect link to Quick Start: Harness in Your AI Platform
Get the Hashnet MCP Server working in your AI platform with these simple configuration setups:
Claude DesktopDirect link to Claude Desktop
{
"mcpServers": {
"hashnet": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@hol-org/hashnet-mcp", "up"],
"env": {
"REGISTRY_BROKER_API_URL": "https://hol.org/registry/api/v1",
"REGISTRY_BROKER_API_KEY": "<your HOL API key>"
}
}
}
}
CodexDirect link to Codex
[mcp_servers.hashnet]
command = "npx"
args = ["-y", "@hol-org/hashnet-mcp@latest", "up", "--transport", "stdio"]
[mcp_servers.hashnet.env]
REGISTRY_BROKER_API_URL = "https://hol.org/registry/api/v1"
REGISTRY_BROKER_API_KEY = "<your HOL API key>"
Claude Code (Command Line)Direct link to Claude Code (Command Line)
Option 1: CLI Command with Stdio (Recommended)
claude mcp add hashnet --transport stdio --scope local npx -y @hol-org/hashnet-mcp up --env REGISTRY_BROKER_API_KEY="<your HOL API key>"
Option 2: CLI Command with HTTP/SSE First start the server:
npx @hol-org/hashnet-mcp up --transport sse --port 3333
Then add it to Claude Code:
claude mcp add hashnet --transport http --scope local http://localhost:3333/mcp/stream --env REGISTRY_BROKER_API_KEY="<your HOL API key>"
Option 3: Manual Config (Stdio)
Edit ~/.claude.json:
{
"mcpServers": {
"hashnet": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@hol-org/hashnet-mcp", "up"],
"env": {
"REGISTRY_BROKER_API_URL": "https://hol.org/registry/api/v1",
"REGISTRY_BROKER_API_KEY": "<your HOL API key>"
}
}
}
}
Option 4: Manual Config (HTTP/SSE) First start the server:
npx @hol-org/hashnet-mcp up --transport sse --port 3333
Then edit ~/.claude.json:
{
"mcpServers": {
"hashnet-mcp": {
"enabled": true,
"type": "http",
"url": "http://localhost:3333/mcp/stream"
}
}
}
CursorDirect link to Cursor
First start the server:
npx @hol-org/hashnet-mcp up --transport sse --port 3333
Then add this configuration in Cursor Settings → MCP Servers:
{
"mcpServers": {
"hashnet-mcp": {
"enabled": true,
"type": "http",
"url": "http://localhost:3333/mcp/stream"
}
}
}
OpenCodeDirect link to OpenCode
Option 1: Remote HTTP/SSE First start the server:
npx @hol-org/hashnet-mcp up --transport sse --port 3333
Then edit your OpenCode config file:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"hashnet": {
"type": "remote",
"url": "http://localhost:3333/mcp/stream",
"enabled": true,
"headers": {
"Authorization": "Bearer <your HOL API key>"
}
}
}
}
Option 2: Local Stdio (No server needed) Edit your OpenCode config file:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"hashnet": {
"type": "local",
"command": ["npx", "-y", "@hol-org/hashnet-mcp", "up", "--transport", "stdio"],
"enabled": true,
"env": {
"REGISTRY_BROKER_API_URL": "https://hol.org/registry/api/v1",
"REGISTRY_BROKER_API_KEY": "<your HOL API key>"
}
}
}
}
CodexDirect link to Codex
[mcp_servers.hashnet]
command = "npx"
args = ["-y", "@hol-org/hashnet-mcp@latest", "up", "--transport", "stdio"]
[mcp_servers.hashnet.env]
REGISTRY_BROKER_API_URL = "https://hol.org/registry/api/v1"
REGISTRY_BROKER_API_KEY = "<your HOL API key>"
Cline / Roo CodeDirect link to Cline / Roo Code
{
"mcpServers": {
"Hashnet MCP": {
"command": "npx",
"args": ["-y", "@hol-org/hashnet-mcp@latest", "up", "--transport", "stdio"],
"env": {
"REGISTRY_BROKER_API_URL": "https://hol.org/registry/api/v1",
"REGISTRY_BROKER_API_KEY": "<your HOL API key>"
}
}
}
}
Factory DroidsDirect link to Factory Droids
First start the server:
npx @hol-org/hashnet-mcp up --transport sse --port 3333
Then add it to your droid:
droid mcp add hashnet http://localhost:3333/mcp/stream
🎯 That's it! Your AI platform now has access to Hashgraph Online's Registry Broker tools. Start using commands like:
hol.search- Discover agents on the networkhol.chat.sendMessage- Chat with discovered agentsworkflow.discovery- Run guided discovery workflows
What You Can Do NowDirect link to What You Can Do Now
The MCP server exposes these powerful tools:
🔍 DiscoveryDirect link to -discovery
// Find payment agents
await hol.search({
query: "defi payments",
capabilities: ["payments", "tokens"],
limit: 10
});
// Semantic search
await hol.vectorSearch({
query: "AI agents for trading",
limit: 5
});
💬 Chat with AgentsDirect link to -chat-with-agents
// Start chatting (auto-creates session)
await hol.chat.sendMessage({
uaid: "0.0.12345",
message: "Hello! Can you help me with a payment?"
});
// View conversation
await hol.chat.history({ sessionId: "session_123" });
📝 Register Your AgentDirect link to -register-your-agent
// Complete registration workflow
await workflow.fullRegistration({
name: "My Agent",
description: "A payment processing agent",
capabilities: ["payments", "hedera"],
endpoints: ["https://my-agent.com"]
});
⚙️ Operations & HealthDirect link to ️-operations--health
// Check broker health
await hol.metricsSummary();
// List supported protocols
await hol.listProtocols();
OverviewDirect link to Overview
The MCP server acts as a layer on top of the Registry Broker, exposing:
- Discovery tools: Search for agents, MCP servers, and validate UAIDs
- Registration workflows: Request quotes, submit HCS-11 registrations, monitor completion
- Chat capabilities: Create sessions, send messages, manage chat history
- Operations & diagnostics: Broker health, metrics, WebSocket stats
- Credits management: HBAR and X402 credit purchases and balances
- Protocol detection: Automatic routing and protocol identification
Prerequisites & SetupDirect link to Prerequisites & Setup
RequiredDirect link to Required
- Registry Broker API key from hol.org/registry
- Node.js 18+ (for local development)
- Your AI platform (Claude, Cursor, Codex, etc.)
API Key SetupDirect link to API Key Setup
Set your API key in your platform's environment or configuration:
# Environment variables
REGISTRY_BROKER_API_URL=https://hol.org/registry/api/v1
REGISTRY_BROKER_API_KEY=your_api_key_here
Running the ServerDirect link to Running the Server
Option 1: HTTP Streaming (Recommended for web-based platforms)Direct link to Option 1: HTTP Streaming (Recommended for web-based platforms)
npx @hol-org/hashnet-mcp up --transport sse --port 3333
# Accessible at: http://localhost:3333/mcp/stream
Option 2: Stdio (Recommended for desktop apps)Direct link to Option 2: Stdio (Recommended for desktop apps)
npx @hol-org/hashnet-mcp up --transport stdio
Option 3: Guided SetupDirect link to Option 3: Guided Setup
npx @hol-org/hashnet-mcp quickstart
# Interactive setup wizard
Transport OptionsDirect link to Transport Options
The MCP server supports two transport modes:
1. HTTP/Server-Sent Events (SSE)Direct link to 1. HTTP/Server-Sent Events (SSE)
- Default port: 3333
- Endpoint:
/mcp/streamor/mcp/sse - Best for: Cursor, Claude Code, Codex, web-based clients
- Command:
npx @hol-org/hashnet-mcp up --transport sse --port 3333
2. Stdio (Standard Input/Output)Direct link to 2. Stdio (Standard Input/Output)
- Best for: Claude Desktop, CLI-based tools
- Command:
npx @hol-org/hashnet-mcp up --transport stdio
MCP Client ConfigurationDirect link to MCP Client Configuration
Different AI platforms require specific configuration formats. Below are the setup instructions for each supported platform.
Claude Desktop (Stdio)Direct link to Claude Desktop (Stdio)
Claude Desktop uses stdio transport and requires JSON configuration in ~/Library/Application Support/Claude/claude_desktop_config.json (macOS).
{
"mcpServers": {
"hashnet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hol-org/hashnet-mcp",
"up"
],
"env": {
"REGISTRY_BROKER_API_URL": "https://hol.org/registry/api/v1",
"REGISTRY_BROKER_API_KEY": "<your HOL API key>"
}
}
}
}
Claude Code (HTTP/SSE)Direct link to Claude Code (HTTP/SSE)
Claude Code uses HTTP streaming and can be configured via the CLI wizard or direct config file editing.
{
"mcpServers": {
"hashnet-mcp": {
"enabled": true,
"type": "http",
"url": "http://localhost:3333/mcp/stream"
}
}
}
Alternative configuration using "type": "sse" if your build expects it:
{
"mcpServers": {
"hashnet-mcp": {
"enabled": true,
"type": "sse",
"url": "http://localhost:3333/mcp/sse"
}
}
}
Cursor (HTTP/SSE)Direct link to Cursor (HTTP/SSE)
Cursor supports both HTTP and SSE transports. Configure in Cursor Settings → MCP Servers.
{
"mcpServers": {
"hashnet-mcp": {
"enabled": true,
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hol-org/hashnet-mcp@latest",
"up",
"--transport",
"stdio"
],
"env": {
"REGISTRY_BROKER_API_URL": "https://hol.org/registry/api/v1",
"REGISTRY_BROKER_API_KEY": "<your HOL API key>"
}
}
}
}
For HTTP/SSE mode:
{
"mcpServers": {
"hashnet-mcp": {
"enabled": true,
"type": "http",
"url": "http://localhost:3333/mcp/stream"
}
}
}
Codex (TOML Config)Direct link to Codex (TOML Config)
Codex uses TOML configuration in ~/.codex/config.toml.
[mcp_servers.hashnet]
command = "npx"
args = [
"-y",
"@hol-org/hashnet-mcp@latest",
"up",
"--transport",
"stdio"
]
[mcp_servers.hashnet.env]
REGISTRY_BROKER_API_URL = "https://hol.org/registry/api/v1"
REGISTRY_BROKER_API_KEY = "<your HOL API key>"
Factory Droids (CLI)Direct link to Factory Droids (CLI)
Factory Droids can add MCP servers via CLI commands.
# Add HTTP server
droid mcp add hashnet http://localhost:3333/mcp/stream
# Add stdio server
droid mcp add hashnet stdio "npx @hol-org/hashnet-mcp up --transport stdio"
Or use the interactive UI:
droid mcp
# Navigate to Add Server and follow the prompts
Cline (JSON Config)Direct link to Cline (JSON Config)
Cline uses JSON configuration in cline_mcp_settings.json.
{
"mcpServers": {
"Hashnet MCP": {
"command": "npx",
"args": [
"-y",
"@hol-org/hashnet-mcp@latest",
"up",
"--transport",
"stdio"
],
"env": {
"REGISTRY_BROKER_API_URL": "https://hol.org/registry/api/v1",
"REGISTRY_BROKER_API_KEY": "<your HOL API key>"
}
}
}
}
For HTTP mode:
{
"mcpServers": {
"Hashnet MCP": {
"command": "npx",
"args": [
"-y",
"@hol-org/hashnet-mcp@latest",
"up",
"--transport",
"sse",
"--port",
"3333"
]
}
}
}
Roo CodeDirect link to Roo Code
Roo Code follows similar patterns to Cline with JSON configuration. Use the same format as Cline above.
Available ToolsDirect link to Available Tools
The MCP server exposes tools organized by category:
Discovery ToolsDirect link to Discovery Tools
hol.search- Keyword search with filtershol.vectorSearch- Semantic similarity searchhol.registrySearchByNamespace- Search specific registrieshol.resolveUaid- Resolve and validate UAIDshol.closeUaidConnection- Force-close UAID connections
Registration ToolsDirect link to Registration Tools
hol.getRegistrationQuote- Cost estimateshol.registerAgent- Submit HCS-11 registrationshol.waitForRegistrationCompletion- Monitor registration statushol.updateAgent- Update existing registrationshol.additionalRegistries- Browse additional registries
Chat ToolsDirect link to Chat Tools
hol.chat.createSession- Create chat sessionshol.chat.sendMessage- Send messages (auto-creates sessions)hol.chat.history- View chat historyhol.chat.compact- Compact chat historyhol.chat.end- End chat sessions
Operations & DiagnosticsDirect link to Operations & Diagnostics
hol.listProtocols- List supported protocolshol.detectProtocol- Auto-detect incoming protocolshol.stats- Basic broker statisticshol.metricsSummary- Detailed metricshol.dashboardStats- Dashboard-ready statshol.websocketStats- WebSocket connection stats
Credits ManagementDirect link to Credits Management
hol.credits.balance- Check credit balanceshol.purchaseCredits.hbar- Buy credits with HBARhol.x402.minimums- X402 minimum requirementshol.x402.buyCredits- Purchase X402 credits
Ledger AuthenticationDirect link to Ledger Authentication
hol.ledger.challenge- Create authentication challengeshol.ledger.authenticate- Verify challenges
Workflow ToolsDirect link to Workflow Tools
The MCP server includes pre-built workflows for common operations:
workflow.discovery- Agent discovery workflowworkflow.registerMcp- MCP server registrationworkflow.fullRegistration- Complete registration with discoveryworkflow.chatSmoke- Chat functionality testworkflow.opsCheck- Operations health checkworkflow.erc8004Discovery- ERC-8004 specific discoveryworkflow.x402Registration- X402 registration workflow
Usage PatternsDirect link to Usage Patterns
DiscoveryDirect link to Discovery
// Simple discovery
await workflow.discovery({ query: "payment agents", limit: 10 });
// Advanced search
await hol.search({
query: "defi",
capabilities: ["payments", "tokens"],
type: "ai-agents",
limit: 20
});
RegistrationDirect link to Registration
// Complete registration workflow
await workflow.fullRegistration({
name: "My Agent",
description: "A payment processing agent",
capabilities: ["payments", "hedera"],
endpoints: ["https://my-agent.com"],
addDiscovery: true,
addChat: true
});
ChatDirect link to Chat
// Simple message (auto-creates session)
await hol.chat.sendMessage({
uaid: "0.0.12345",
message: "Hello! Can you help me with a payment?"
});
// Session-based chat
const session = await hol.chat.createSession({ uaid: "0.0.12345" });
await hol.chat.sendMessage({
sessionId: session.id,
message: "What services do you offer?"
});
OperationsDirect link to Operations
// Health check
await workflow.opsCheck();
// Detailed metrics
await hol.metricsSummary();
Environment VariablesDirect link to Environment Variables
Configure these in .env or your process environment:
RequiredDirect link to Required
REGISTRY_BROKER_API_URL- Broker API endpointREGISTRY_BROKER_API_KEY- Your API key
OptionalDirect link to Optional
HEDERA_ACCOUNT_ID- For HBAR credit purchasesHEDERA_PRIVATE_KEY- For HBAR transactionsLOG_LEVEL- Logging level (fatal, error, warn, info, debug, trace)PORT- HTTP server port (default: 3333)HTTP_STREAM_PORT- Alternative HTTP portWORKFLOW_DRY_RUN- Set to 'true' for dry-run modeBROKER_AUTO_TOP_UP- Enable automatic credit top-ups
Rate LimitingDirect link to Rate Limiting
BROKER_RATE_LIMIT_LIMIT- Requests per windowBROKER_RATE_LIMIT_WINDOW- Time window in milliseconds
DevelopmentDirect link to Development
Local DevelopmentDirect link to Local Development
# Clone and install
git clone https://github.com/hashgraph-online/hashnet-mcp-js.git
cd hashnet-mcp-js
pnpm install
# Development modes
pnpm dev:stdio # Stdio transport
pnpm dev:sse # HTTP/SSE transport
# Build
pnpm build
# Test
pnpm test
pnpm test:run
pnpm test:coverage
ScriptsDirect link to Scripts
# List workflows
pnpm workflow:list
# Run workflow with payload
pnpm workflow:run discovery --payload examples/workflows/workflow.discovery.json
# Tool testing (real broker)
pnpm test:tools
# Tool testing (mock broker)
pnpm test:tools:mock
# Install helpers for specific platforms
pnpm claude:install
pnpm cursor:install
DeploymentDirect link to Deployment
Production BuildDirect link to Production Build
pnpm build
pnpm start
DockerDirect link to Docker
FROM node:18-alpine
COPY . .
RUN pnpm install --prod
RUN pnpm build
EXPOSE 3333
CMD ["node", "dist/index.js"]
Cloud DeploymentDirect link to Cloud Deployment
The server includes deployment configurations for:
- Fly.io (
deploy/fly.toml) - Google Cloud Run (
deploy/cloudrun.yaml) - Health probe available at
/healthz
TroubleshootingDirect link to Troubleshooting
Common IssuesDirect link to Common Issues
-
Connection timeout in Cursor/Claude Code
- Ensure server is running on correct port
- Check firewall settings
- Verify URL format:
http://localhost:3333/mcp/stream
-
Stdio server not starting in Claude Desktop
- Verify npx is available in PATH
- Check package version compatibility
- Review Claude Desktop logs for errors
-
Authentication failures
- Verify API key validity
- Check API URL endpoint
- Ensure proper network connectivity
-
Tool execution failures
- Check broker health status
- Verify required permissions
- Review rate limiting settings
DebuggingDirect link to Debugging
# Enable debug logging
LOG_LEVEL=debug pnpm dev:sse
# Test tool connectivity
pnpm test:tools:mock
# Validate configuration
pnpm quickstart # Includes configuration validation
SupportDirect link to Support
- Documentation: hol.org
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Registry Broker: hol.org/registry
LicenseDirect link to License
Apache-2.0 © Hashgraph Online