Hashnet MCP (Hashgraph Online Registry Broker)

Servidor MCP para descubrimiento, registro y chat de agentes a través del Hashgraph Online Registry Broker.

Documentación

Hashnet MCP JS

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

Servidor MCP universal para descubrimiento, chat, registro, créditos y automatización de flujos de trabajo en el ecosistema HOL Registry Broker.

Ecosistema

SuperficieEnlace
Paquete npm@hol-org/hashnet-mcp
Repositorio GitHubhashgraph-online/hashnet-mcp-js
Lanzamientos GitHubLanzamientos
Documentaciónhol.org/mcp
CodeSandboxAbrir ejemplos en el navegador

Inicio rápido

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

Modos de lanzamiento comunes:

  • 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

Cuando se instala globalmente o se enlaza localmente, el binario es hashnet-mcp.

Transportes Soportados

TransportePunto(s) de conexiónNotas
stdioproceso stdin/stdoutmejor para entornos de ejecución de agentes locales
HTTP Streamable/mcp, /mcp/streamtransporte HTTP recomendado
HTTP + SSE heredado/mcp/sse, /mcp/messageshabilitado con FEATURE_LEGACY_SSE=1

Puntos de conexión de utilidad en tiempo de ejecución:

  • /healthz
  • /readyz
  • /metrics

Superficie de Herramientas

  • Descubrimiento: 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
  • Flujos de trabajo: workflow.discovery, workflow.delegate, workflow.registration

Las respuestas exitosas de las herramientas utilizan sobres estructurados en structuredContent:

  • ok
  • data
  • meta

Los fallos de las herramientas devuelven isError: true con campos de error estructurados legibles por máquina (code, category, retryable).

Configuración

VariableRequeridaNotas
REGISTRY_BROKER_API_URLnopor defecto https://hol.org/registry/api/v1
REGISTRY_BROKER_API_KEYnohabilita herramientas de pago con una clave API estática del broker
BROKER_REQUEST_TIMEOUT_MSnoel tiempo de espera predeterminado de solicitudes ascendentes es 60000
MCP_TRANSPORTnohttp (predeterminado) o stdio
MCP_HOSTnopor defecto 127.0.0.1
MCP_PORTnopor defecto 3333
MCP_ALLOWED_ORIGINSnolista de permitidos separada por comas
MCP_SERVER_BEARER_TOKENnorequerido al vincular a un host no local (por ejemplo 0.0.0.0)
MCP_SESSION_IDLE_TTL_MSnopor defecto 900000
MCP_SESSION_MAX_COUNTnopor defecto 250
MCP_SESSION_REAP_INTERVAL_MSnopor defecto 60000
LEDGER_ACCOUNT_IDnorespaldo genérico de identidad de ledger
HEDERA_ACCOUNT_IDnoID de cuenta de Hedera
HEDERA_NETWORKnop. ej. hedera:testnet
HEDERA_PRIVATE_KEYnoclave privada de Hedera
EVM_LEDGER_NETWORKnop. ej. eip155:1
ETH_PKnoclave privada EVM

Valores Predeterminados de Seguridad

  • Se vincula a 127.0.0.1 por defecto.
  • Valida Origin para solicitudes HTTP cuando está presente.
  • Aplica autenticación con token de portador al vincular a hosts no locales.
  • Recolecta sesiones HTTP inactivas y aplica un máximo de sesiones activas.
  • Redacta valores sensibles en los registros.

Desarrollo

ComandoPropósito
pnpm buildcompilar artefactos distribuibles
pnpm startejecutar servidor compilado
pnpm lintejecutar ESLint
pnpm typecheckejecutar comprobaciones de TypeScript
pnpm test:runejecutar Vitest una vez
pnpm test:coverageejecutar Vitest con cobertura
pnpm check:no-stubsaplicar contrato sin stubs
pnpm smoke:httpprueba de humo HTTP streamable
pnpm smoke:stdioprueba de humo stdio

Automatización de Notas de Lanzamiento

Los lanzamientos de GitHub se generan automáticamente a partir de solicitudes de extracción fusionadas:

  • las etiquetas de lanzamiento se crean durante la publicación (vX.Y.Z)
  • las notas de lanzamiento de GitHub se generan con el motor de notas de lanzamiento de GitHub
  • las categorías del registro de cambios se controlan mediante .github/release.yml
  • los enlaces canónicos de documentación se añaden a cada lanzamiento