Atlas / MCP servers / hashgraph-online / HOL Standards SDK

HOL Standards SDKBLOCK

mcp/hashgraph-online/standards-sdk

The official HOL Standards SDK, implementing the standards found in https://hol.org/docs/standards

Verdict
BLOCK
Grade
F
Trust score
43 /100
Exposed tools
36 30r · 6w · 0d
Transport
—
License
Apache-2.0
Stars
1,261
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

Quick Start

npm install @hol-org/standards-sdk
# Legacy scope:
# npm install @hashgraphonline/standards-sdk

For the standalone Registry Broker client with a smaller footprint:

npm install @hol-org/rb-client

HOL-scoped distributions are published in parallel:

  • @hol-org/rb-client: registry broker client only
  • @hol-org/standards-sdk: full SDK under the HOL scope

Optional dependencies for @hol-org/rb-client

The client ships with zero network transports bundled. Install these peers when you need the related features:

  • axios + x402-axios + x402 for X402 credit purchases and payments
  • viem for EVM-based ledger authentication
  • @hashgraph/sdk for Hedera ledger authentication

Core agent search/chat flows only require a fetch implementation.

Documentation

For complete documentation, examples, and API references, visit:

Registry Broker skill verificat

Read from source at commit fb71fa79a5d0OBSERVED · 2026-10-12
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add recursion-sdk --env ALICE_CREATE_PRIVATE_KEY=${ALICE_CREATE_PRIVATE_KEY} --env API_KEY=${API_KEY} --env AUTO_KEY=${AUTO_KEY} --env BOB_PRIVATE_KEY=${BOB_PRIVATE_KEY} -- npx -y @hashgraphonline/[email protected]
claude-desktop
{
  "mcpServers": {
    "recursion-sdk": {
      "command": "npx",
      "args": [
        "-y",
        "@hashgraphonline/[email protected]"
      ],
      "env": {
        "ALICE_CREATE_PRIVATE_KEY": "${ALICE_CREATE_PRIVATE_KEY}",
        "API_KEY": "${API_KEY}",
        "AUTO_KEY": "${AUTO_KEY}",
        "BOB_PRIVATE_KEY": "${BOB_PRIVATE_KEY}"
      }
    }
  }
}
03

Exposed tools (36)

30 read · 6 write · 0 destructive.

ToolRiskDescription
ACCOUNT_CREATEwriteCreate new accounts
ACCOUNT_MANAGEMENTreadParent capability for account operations
ACCOUNT_READreadRead account information
ADMIN_ACCESSreadAdministrative access
BASIC_ACCESSreadBasic system access
CRYPTO_TRANSFERwriteAllows crypto transfers
HEDERA_ACCOUNT_IDreadYour Hedera testnet account identifier
HEDERA_NETWORKreadHedera network to connect to
HEDERA_OPERATOR_IDreadAlternative name for HEDERA_ACCOUNT_ID (same value)
HEDERA_OPERATOR_KEYreadAlternative name for HEDERA_PRIVATE_KEY (same value)
HEDERA_PRIVATE_KEYreadYour Hedera account private key (DER or hex format)
OPENROUTER_API_KEYreadAPI key for OpenRouter AI service integration
REGISTRY_BROKER_API_KEYreadAPI key for authenticated registry broker access
REGISTRY_BROKER_BASE_URLreadBase URL for the Hashgraph Online registry broker API
SkillreadInitial description
TOKEN_CREATEwriteCreate new tokens
TOKEN_MINTreadMint new tokens
addwriteAdd two numbers
counter-appreadComplete counter application with UI and actions
counter-displayreadDisplays the current counter value with controls
counter-module.jsreadHCS-12 Counter Module JavaScript Wrapper
counter-module.wasmreadHCS-12 Counter Module
demo-actions.wasmreadDemo actions module with counter and toggle actions
executewriteExecute lifecycle test
hcs_messagesreadBrowse historical messages from consensus topics
hcs_topicsreadAccess message streams from Hedera Consensus Service topics
multiplyreadMultiply two numbers
testreadTest action
test-actionreadTest action
test-assemblyreadTest assembly
test_resourcereadA test resource
test_toolreadA test tool
topic_searchreadSearch for messages in HCS topics by content or timestamp
topic_submitwriteSubmit new messages to Hedera Consensus Service topics
topic_subscribereadSubscribe to real-time messages from HCS topics
updated-assemblyreadUpdated description
04

Trust audit

BLOCKgrade F · trust 43/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryWARN
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
declared (5 observation(s))
Shell
declared (5 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
src/utils/key-type-detector.ts:110
* const info3 = KeyTypeDetector.detect(`-----BEGIN PRIVATE KEY-----
CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
src/utils/key-type-detector.ts:303
EC_PRIVATE: /-----BEGIN EC PRIVATE KEY-----/,
CRITICALHard-coded secrets · secret.private_key · CWE-798, CWE-321
src/utils/key-type-detector.ts:305
PRIVATE: /-----BEGIN PRIVATE KEY-----/,
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
demo/hcs-10/polling-agent.ts:61
const result = new Function(`return ${sanitized}`)();
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
src/hcs-12/wasm/wasm-executor.ts:144
const importModule = new Function('url', 'return import(url)');
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
src/hcs-3/src/index.ts:279
const importModule = new Function('url', 'return import(url)');
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
src/utils/dynamic-import.ts:46
Function('return typeof require === "function" ? require : undefined;')();
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
MEDIUMInventory / provenance · inv.binary · CWE-1104
src/.DS_Store
.DS_Store
Why it matters. a compiled or binary member cannot be reviewed from source
Fix. ship source, or explain the binary in the README
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/services/mirror-node.ts:316
this.logger.debug(`Fetching token info for ${tokenId}`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/services/mirror-node.ts:325
this.logger.warn(`No token info found for ${tokenId}`);
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/services/mirror-node.ts:1885
this.logger.info(`Getting NFTs for token ${tokenId}`);
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
cli/standards-cli/src/commands/agent/tunnel.tsx:12
url: zod.string().optional().describe('Override the local URL (defaults to http://127.0.0.1:PORT)'),
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
cli/standards-cli/src/commands/agent/tunnel.tsx:64
const targetUrl = opts.url ?? `http://127.0.0.1:${port}`;
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
demo/registry-broker/register-agent-solana.ts:126
baseUrl.startsWith('http://127.0.0.1');
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
demo/registry-broker/registry-broker-erc8004-demo.ts:215
baseUrl.startsWith('http://127.0.0.1') ||
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
demo/registry-broker/registry-broker-hcs10-chat.ts:31
'http://127.0.0.1:4000/api/v1';
MEDIUMObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
demo/inscribe-demo.ts:321
'/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBxAQEBUQEA8QEBUPDw8PDw8QDw8PDw8QFREWFhURFRUYHSggGBolGxUVITEhJSkrLi4uFx8zODMsNygtLisBCgoKDg0OFQ8PFS0dFR0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0
MEDIUMObfuscation / stealth · obf.zero_width · CWE-506, CWE-94
demo/registry-broker/encrypted-chat-demo.ts:265
`  🧑🚀 Requester decrypted: ${
MEDIUMHard-coded secrets · secret.private_key · CWE-798, CWE-321
__tests__/utils/key-type-detector.test.ts:260
'-----BEGIN PRIVATE KEY-----',
LOWInventory / provenance · inv.hidden_file · CWE-1104
.prettierignore
.prettierignore
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.prettierrc.json
.prettierrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.swcrc
.swcrc
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
cli/standards-cli/.prettierrc.json
.prettierrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
src/.DS_Store
.DS_Store
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
__tests__/common/tx/tx-utils.test.ts:13
} from '../../../src/common/tx/tx-utils';

Gates applied: critical_finding, no_behavioural_pass.

Audited 2026-10-12 · audit v0.4.1 · source sha fb71fa79a5d0full audit observations/trust-audit/mcp-server/hashgraph-online__standards-sdk.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-12fb71fa79a5d0BLOCKF43first audit
06

Questions

What is the @hashgraphonline/standards-sdk MCP server?

The official HOL Standards SDK, implementing the standards found in https://hol.org/docs/standards

What tools does @hashgraphonline/standards-sdk expose?

36 in total: 30 read-only, 6 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is @hashgraphonline/standards-sdk safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (43/100) and found 7 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does @hashgraphonline/standards-sdk need?

It reads ALICE_CREATE_PRIVATE_KEY, API_KEY, AUTO_KEY, BOB_PRIVATE_KEY, CHARLIE_CREATE_PRIVATE_KEY, CLOUDFLARE_API_TOKEN, ERC8004_REGISTRY_KEY, GODADDY_API_KEY, GODADDY_API_SECRET, HCS5_TOKEN_ID, HCS6_TOKEN_ID and HEDERA_MAINNET_OPERATOR_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How current is this page?

The grade is for one exact copy of the source (fb71fa79a5d0), read on 2026-10-12. The repository is watched and re-audited when it changes.

Advertisement