AElf Node Skill provides MCP, CLI, and SDK interfaces for AElf public nodes with REST for reads, SDK for contract execution, and selective fallback for fee estimate.
- Read: chain status, block height, block detail, transaction result
- Contract metadata: view methods and system contract address (REST adapter)
- Contract execution: view call and send transaction (SDK)
- Fee estimate: REST first, SDK fallback
- Node registry: import and list custom nodes
AELF:https://aelf-public-node.aelf.iotDVV:https://tdvv-public-node.aelf.io
bun installbun run mcpbun run cli get-chain-status --chain-id AELFbun run build:openclaw
bun run build:openclaw:check# MCP server
bun run mcp
# CLI
bun run cli get-chain-status --chain-id AELF
# Unit tests
bun run test:unitThis repository includes a one-command setup CLI for Claude, Cursor, and OpenClaw.
bun run setup claude
bun run setup cursor
bun run setup cursor --global
bun run setup openclaw
bun run setup openclaw --config-path /path/to/openclaw-config.json
bun run setup list
bun run setup uninstall claude
bun run setup uninstall cursor --global
bun run setup uninstall openclaw --config-path /path/to/openclaw-config.jsonInstalled package users can also run:
aelf-node-setup claudeReference file: mcp-config.example.json
{
"mcpServers": {
"aelf-node-skill": {
"command": "bun",
"args": ["run", "/ABSOLUTE/PATH/TO/src/mcp/server.ts"],
"env": {
"AELF_PRIVATE_KEY": "optional_env_fallback_private_key",
"PORTKEY_WALLET_PASSWORD": "optional_wallet_password",
"PORTKEY_CA_KEYSTORE_PASSWORD": "optional_keystore_password"
}
}
}
}Copy and edit:
cp .env.example .envAELF_PRIVATE_KEY: optional env fallback for write operations (highest env priority)PORTKEY_PRIVATE_KEY: optional secondary env fallback for shared-skill compatibility- Write tools (
aelf_send_contract_transaction,aelf_estimate_transaction_fee) resolve signer asexplicit -> context -> env PORTKEY_WALLET_PASSWORD: optional password cache for EOA wallet contextPORTKEY_CA_KEYSTORE_PASSWORD: optional password cache for CA keystore contextPORTKEY_SKILL_WALLET_CONTEXT_PATH: optional override for active context path (~/.portkey/skill-wallet/context.v1.json)signerMode=daemonis reserved and currently returnsSIGNER_DAEMON_NOT_IMPLEMENTEDAELF_NODE_AELF_RPC_URL: optional override for AELF nodeAELF_NODE_TDVV_RPC_URL: optional override for tDVV nodeAELF_NODE_REGISTRY_PATH: optional custom registry pathAELF_SDK_INSTANCE_CACHE_MAX: optional max SDK instance cache size (default32)AELF_SDK_CONTRACT_CACHE_MAX: optional max SDK contract cache size (default256)AELF_REST_CLIENT_CACHE_MAX: optional max REST client cache size (default64)
MCP tool names:
aelf_get_chain_statusaelf_get_block_heightaelf_get_blockaelf_get_transaction_resultaelf_get_contract_view_methodsaelf_get_system_contract_addressaelf_call_contract_viewaelf_send_contract_transactionaelf_estimate_transaction_feeaelf_import_nodeaelf_list_nodes
src/core/: business orchestrationlib/sdk-client.ts:aelf-sdkwrapperlib/rest-client.ts: REST adapter with normalized errorslib/node-router.ts: node resolution and fallbacksrc/mcp/server.ts: MCP adapteraelf_node_skill.ts: CLI adapterindex.ts: SDK exports
bun run test
bun run test:coverage:ci- Never put
AELF_PRIVATE_KEYin prompts or channel outputs. - Active wallet context must not contain plaintext private keys.
- Use environment variables for all secrets.
MIT