aelf-node-skill
Enables interaction with AElf blockchain nodes, allowing users to read chain status, execute contract transactions, and manage custom nodes through MCP, CLI, or SDK.
README
AElf Node Skill
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, plus OpenClaw and IronClaw integration.
Features
- 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
Default Nodes
AELF:https://aelf-public-node.aelf.iotDVV:https://tdvv-public-node.aelf.io
Install
bun install
Usage
MCP
bun run mcp
CLI
bun run cli get-chain-status --chain-id AELF
OpenClaw
bun run build:openclaw
bun run build:openclaw:check
Quick Start
# MCP server
bun run mcp
# CLI
bun run cli get-chain-status --chain-id AELF
# Unit tests
bun run test:unit
Setup CLI
This repository includes a one-command setup CLI for Claude, Cursor, OpenClaw, and IronClaw.
bun run setup claude
bun run setup cursor
bun run setup cursor --global
bun run setup ironclaw
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 ironclaw
bun run setup uninstall openclaw --config-path /path/to/openclaw-config.json
IronClaw
bun run setup ironclaw
bun run setup uninstall ironclaw
The IronClaw setup writes a stdio MCP entry to ~/.ironclaw/mcp-servers.json and installs this repo's SKILL.md to ~/.ironclaw/skills/aelf-node-skill/SKILL.md.
Important trust model note:
- Use the trusted skill path above for write-capable flows such as
aelf_send_contract_transaction. - Do not rely on
~/.ironclaw/installed_skills/for the primary install path when you need write approval behavior. - This MCP server emits both standard MCP camelCase annotations and IronClaw-compatible snake_case annotations so the current IronClaw source can honor read/write hints.
Remote activation contract:
- GitHub repo/tree URLs are discovery sources only, not the final IronClaw install payload.
- Preferred IronClaw activation from npm:
bunx -p @blockchain-forever/aelf-node-skill aelf-node-setup ironclaw - Prefer ClawHub / managed install for OpenClaw when available; otherwise use
bunx -p @blockchain-forever/aelf-node-skill aelf-node-setup openclaw - Local repo checkout remains a development smoke-test path only.
Minimal smoke test:
bun run setup ironclaw- Ask IronClaw for
latest block height on AELF - Ask it to
send a contract transactionand confirm approval appears before execution
Installed package users can also run:
aelf-node-setup claude
MCP Config Example
Reference 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"
}
}
}
}
Environment
Copy and edit:
cp .env.example .env
AELF_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)
Tool List
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
Architecture
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
Testing
bun run test
bun run test:coverage:ci
Security
- Never put
AELF_PRIVATE_KEYin prompts or channel outputs. - Active wallet context must not contain plaintext private keys.
- Use environment variables for all secrets.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.