Hashnet MCP (Hashgraph Online Registry Broker)
Servidor MCP para descoberta, registro e chat de agentes via o Hashgraph Online Registry Broker.
GitHub
13
Experimente este MCPPatrocinadoDocumentação
Hashnet MCP JS
Servidor MCP universal para descoberta, chat, registro, créditos e automação de fluxos de trabalho em todo o ecossistema HOL Registry Broker.
Ecossistema
| Superfície | Link |
|---|---|
| pacote npm | @hol-org/hashnet-mcp |
| Repositório GitHub | hashgraph-online/hashnet-mcp-js |
| Releases do GitHub | Releases |
| Documentação | hol.org/mcp |
| CodeSandbox | Abrir exemplos no navegador |
Início rápido
pnpm install
cp .env.example .env
pnpm dev:http
Modos de inicialização comuns:
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
Quando instalado globalmente ou vinculado localmente, o binário é hashnet-mcp.
Transportes Suportados
| Transporte | Endpoint(s) | Observações |
|---|---|---|
| stdio | process stdin/stdout | melhor para runtimes de agentes locais |
| Streamable HTTP | /mcp, /mcp/stream | transporte HTTP recomendado |
| HTTP legado + SSE | /mcp/sse, /mcp/messages | habilitado com FEATURE_LEGACY_SSE=1 |
Endpoints utilitários de runtime:
/healthz/readyz/metrics
Superfície de Ferramentas
- Descoberta:
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 - Registro:
hol.getRegistrationQuote,hol.registerAgent,hol.waitForRegistrationCompletion - Fluxos de trabalho:
workflow.discovery,workflow.delegate,workflow.registration
Respostas de sucesso das ferramentas usam envelopes estruturados em structuredContent:
okdatameta
Falhas de ferramentas retornam isError: true com campos de erro estruturados e legíveis por máquina (code, category, retryable).
Configuração
| Variável | Obrigatório | Observações |
|---|---|---|
REGISTRY_BROKER_API_URL | não | padrão é https://hol.org/registry/api/v1 |
REGISTRY_BROKER_API_KEY | não | habilita ferramentas pagas com uma chave de API estática do broker |
BROKER_REQUEST_TIMEOUT_MS | não | o tempo limite padrão de solicitação upstream é 60000 |
MCP_TRANSPORT | não | http (padrão) ou stdio |
MCP_HOST | não | padrão é 127.0.0.1 |
MCP_PORT | não | padrão é 3333 |
MCP_ALLOWED_ORIGINS | não | lista de permissões separada por vírgulas |
MCP_SERVER_BEARER_TOKEN | não | obrigatório ao vincular a um host não local (por exemplo, 0.0.0.0) |
MCP_SESSION_IDLE_TTL_MS | não | padrão é 900000 |
MCP_SESSION_MAX_COUNT | não | padrão é 250 |
MCP_SESSION_REAP_INTERVAL_MS | não | padrão é 60000 |
LEDGER_ACCOUNT_ID | não | fallback de identidade genérica de ledger |
HEDERA_ACCOUNT_ID | não | ID de conta Hedera |
HEDERA_NETWORK | não | ex.: hedera:testnet |
HEDERA_PRIVATE_KEY | não | chave privada Hedera |
EVM_LEDGER_NETWORK | não | ex.: eip155:1 |
ETH_PK | não | chave privada EVM |
Padrões de Segurança
- Vincula-se a
127.0.0.1por padrão. - Valida
Originpara solicitações HTTP quando presente. - Impõe autenticação por token bearer ao vincular a hosts não locais.
- Encerra sessões HTTP ociosas e impõe o máximo de sessões ativas.
- Redige valores sensíveis nos logs.
Desenvolvimento
| Comando | Finalidade |
|---|---|
pnpm build | compilar artefatos distribuíveis |
pnpm start | executar servidor compilado |
pnpm lint | executar ESLint |
pnpm typecheck | executar verificações TypeScript |
pnpm test:run | executar Vitest uma vez |
pnpm test:coverage | executar Vitest com cobertura |
pnpm check:no-stubs | aplicar contrato sem stubs |
pnpm smoke:http | teste de fumaça HTTP streamable |
pnpm smoke:stdio | teste de fumaça stdio |
Automação de Notas de Versão
As releases do GitHub são geradas automaticamente a partir de pull requests mesclados:
- as tags de release são criadas durante a publicação (
vX.Y.Z) - as notas de release do GitHub são geradas com o mecanismo de notas de release do GitHub
- as categorias de changelog são controladas via
.github/release.yml - links canônicos de documentação são anexados a cada release