Hashnet MCP (Hashgraph Online Registry Broker)

Servidor MCP para descoberta, registro e chat de agentes via o Hashgraph Online Registry Broker.

Documentação

Hashnet MCP JS

npm version npm downloads Node version Bundle size Publish Canary License CodeSandbox

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ícieLink
pacote npm@hol-org/hashnet-mcp
Repositório GitHubhashgraph-online/hashnet-mcp-js
Releases do GitHubReleases
Documentaçãohol.org/mcp
CodeSandboxAbrir exemplos no navegador

Início rápido

pnpm install
cp .env.example .env
pnpm dev:http

Modos de inicialização comuns:

  • pnpm dev:stdio
  • pnpm dev:http
  • pnpm dev:http:compat
  • npx @hol-org/hashnet-mcp --help
  • npx @hol-org/hashnet-mcp --stdio
  • npx @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

TransporteEndpoint(s)Observações
stdioprocess stdin/stdoutmelhor para runtimes de agentes locais
Streamable HTTP/mcp, /mcp/streamtransporte HTTP recomendado
HTTP legado + SSE/mcp/sse, /mcp/messageshabilitado 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:

  • ok
  • data
  • meta

Falhas de ferramentas retornam isError: true com campos de erro estruturados e legíveis por máquina (code, category, retryable).

Configuração

VariávelObrigatórioObservações
REGISTRY_BROKER_API_URLnãopadrão é https://hol.org/registry/api/v1
REGISTRY_BROKER_API_KEYnãohabilita ferramentas pagas com uma chave de API estática do broker
BROKER_REQUEST_TIMEOUT_MSnãoo tempo limite padrão de solicitação upstream é 60000
MCP_TRANSPORTnãohttp (padrão) ou stdio
MCP_HOSTnãopadrão é 127.0.0.1
MCP_PORTnãopadrão é 3333
MCP_ALLOWED_ORIGINSnãolista de permissões separada por vírgulas
MCP_SERVER_BEARER_TOKENnãoobrigatório ao vincular a um host não local (por exemplo, 0.0.0.0)
MCP_SESSION_IDLE_TTL_MSnãopadrão é 900000
MCP_SESSION_MAX_COUNTnãopadrão é 250
MCP_SESSION_REAP_INTERVAL_MSnãopadrão é 60000
LEDGER_ACCOUNT_IDnãofallback de identidade genérica de ledger
HEDERA_ACCOUNT_IDnãoID de conta Hedera
HEDERA_NETWORKnãoex.: hedera:testnet
HEDERA_PRIVATE_KEYnãochave privada Hedera
EVM_LEDGER_NETWORKnãoex.: eip155:1
ETH_PKnãochave privada EVM

Padrões de Segurança

  • Vincula-se a 127.0.0.1 por padrão.
  • Valida Origin para 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

ComandoFinalidade
pnpm buildcompilar artefatos distribuíveis
pnpm startexecutar servidor compilado
pnpm lintexecutar ESLint
pnpm typecheckexecutar verificações TypeScript
pnpm test:runexecutar Vitest uma vez
pnpm test:coverageexecutar Vitest com cobertura
pnpm check:no-stubsaplicar contrato sem stubs
pnpm smoke:httpteste de fumaça HTTP streamable
pnpm smoke:stdioteste 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