{"_id":"@aelfscan/agent-skills","_rev":"3-13eb419c8bc78001cacf6f88c11ec3be","name":"@aelfscan/agent-skills","dist-tags":{"latest":"0.2.2"},"versions":{"0.2.0":{"name":"@aelfscan/agent-skills","version":"0.2.0","keywords":["aelfscan","aelf","mcp","agent","blockchain","sdk","skill","explorer"],"license":"MIT","_id":"@aelfscan/agent-skills@0.2.0","maintainers":[{"name":"kastale","email":"kastale@aefinder.io"}],"homepage":"https://github.com/AelfScanProject/aelfscan-skill#readme","bugs":{"url":"https://github.com/AelfScanProject/aelfscan-skill/issues"},"bin":{"aelfscan-setup":"bin/setup.js","aelfscan-skill":"aelfscan_skill.ts"},"dist":{"shasum":"9baa8cc5645ad5a756664cc93d34ca69924884f5","tarball":"https://registry.npmjs.org/@aelfscan/agent-skills/-/agent-skills-0.2.0.tgz","fileCount":35,"integrity":"sha512-VNPHX2D5Uiz55yOFEl639FqS00hViWdJMaLbW43Hjy/q1wiPJgNb1g2zsx4GyHvX+AM1ipApkJ8tQPCWPkXMiw==","signatures":[{"sig":"MEYCIQDvLLphi6t137L8tCK0V/rWk3hWiUH3Iie98gBe3d88cAIhAMwwhJNozSfazwDlI51F6OJEO7Gn74anetHfYwE++Pzs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":146334},"main":"index.ts","type":"module","exports":{".":"./index.ts","./mcp":"./src/mcp/server.ts"},"gitHead":"f80b1fb161262cfda97b767df8d503bf95e220e4","scripts":{"cli":"bun run aelfscan_skill.ts","mcp":"bun run src/mcp/server.ts","test":"bun test tests/","setup":"bun run bin/setup.ts","test:e2e":"bun test tests/e2e/","test:unit":"bun test tests/unit/","build:openclaw":"bun run bin/generate-openclaw.ts","coverage:badge":"bun run bin/generate-coverage-badge.ts","test:integration":"bun test tests/integration/","test:unit:coverage":"bun run test:unit --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage","build:openclaw:check":"bun run bin/generate-openclaw.ts --check"},"_npmUser":{"name":"kastale","email":"kastale@aefinder.io"},"repository":{"url":"git+https://github.com/AelfScanProject/aelfscan-skill.git","type":"git"},"_npmVersion":"11.6.2","description":"AelfScan explorer skill toolkit for AI agents: MCP, CLI, and SDK interfaces.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.24.0","commander":"^12.1.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-skills_0.2.0_1772116528564_0.9240567025781359","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aelfscan/agent-skills","version":"0.2.1","keywords":["aelfscan","aelf","mcp","agent","blockchain","sdk","skill","explorer"],"license":"MIT","_id":"@aelfscan/agent-skills@0.2.1","maintainers":[{"name":"kastale","email":"kastale@aefinder.io"}],"homepage":"https://github.com/AelfScanProject/aelfscan-skill#readme","bugs":{"url":"https://github.com/AelfScanProject/aelfscan-skill/issues"},"bin":{"aelfscan-setup":"bin/setup.js","aelfscan-skill":"aelfscan_skill.ts"},"dist":{"shasum":"0fca84accbc8e861295ca52f10299711188b1220","tarball":"https://registry.npmjs.org/@aelfscan/agent-skills/-/agent-skills-0.2.1.tgz","fileCount":36,"integrity":"sha512-z5UUH80yvw+u+nm879y+Pa7Yi4KpueLRlVmZMdRI/FdrPuG3z9wt+IznDzKRpMeEUWcpHogRcZpzE/y6NgNy5A==","signatures":[{"sig":"MEUCIBCDR1gvDEhLjw8033L8d7isivwAq482NrnWXspe2OP2AiEAyy5l79Pu6jxK0FrvnqTTnkhUbAcerMwDSZwjI7jJdpc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aelfscan%2fagent-skills@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":156464},"main":"index.ts","type":"module","exports":{".":"./index.ts","./mcp":"./src/mcp/server.ts"},"gitHead":"2777e52baffdc306970b45fab3dd4af7f574e928","scripts":{"cli":"bun run aelfscan_skill.ts","mcp":"bun run src/mcp/server.ts","test":"bun test tests/","setup":"bun run bin/setup.ts","test:e2e":"bun test tests/e2e/","test:unit":"bun test tests/unit/","deps:check":"bun run scripts/check-deps-baseline.ts","coverage:gate":"bun run scripts/coverage-gate.ts","build:openclaw":"bun run bin/generate-openclaw.ts","coverage:badge":"bun run bin/generate-coverage-badge.ts","test:coverage:ci":"COVERAGE_MIN_LINES=85 COVERAGE_MIN_FUNCS=80 bun run test:unit:coverage && bun run coverage:gate","test:integration":"bun test tests/integration/","test:unit:coverage":"bun run test:unit --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage","build:openclaw:check":"bun run bin/generate-openclaw.ts --check"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72ad9a5e-5c3a-4fe6-a1fd-35e82879da43"}},"repository":{"url":"git+https://github.com/AelfScanProject/aelfscan-skill.git","type":"git"},"_npmVersion":"11.11.0","description":"AelfScan explorer skill toolkit for AI agents: MCP, CLI, and SDK interfaces.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"zod":"^3.24.0","commander":"^12.1.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest","typescript":"^5.7.0"},"_npmOperationalInternal":{"tmp":"tmp/agent-skills_0.2.1_1772292317606_0.6910701517492119","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@aelfscan/agent-skills","version":"0.2.2","description":"AelfScan explorer skill toolkit for AI agents: MCP, CLI, and SDK interfaces.","type":"module","main":"index.ts","exports":{".":"./index.ts","./mcp":"./src/mcp/server.ts"},"bin":{"aelfscan-skill":"aelfscan_skill.ts","aelfscan-setup":"bin/setup.js"},"scripts":{"setup":"bun run bin/setup.ts","mcp":"bun run src/mcp/server.ts","cli":"bun run aelfscan_skill.ts","build:openclaw":"bun run bin/generate-openclaw.ts","build:openclaw:check":"bun run bin/generate-openclaw.ts --check","test":"bun test tests/","test:unit":"bun test tests/unit/","test:unit:coverage":"bun run test:unit --coverage --coverage-reporter=text --coverage-reporter=lcov --coverage-dir=coverage","coverage:badge":"bun run bin/generate-coverage-badge.ts","test:integration":"bun test tests/integration/","test:e2e":"bun test tests/e2e/","coverage:gate":"bun run scripts/coverage-gate.ts","test:coverage:ci":"COVERAGE_MIN_LINES=85 COVERAGE_MIN_FUNCS=80 bun run test:unit:coverage && bun run coverage:gate","deps:check":"bun run scripts/check-deps-baseline.ts"},"keywords":["aelfscan","aelf","mcp","agent","blockchain","sdk","skill","explorer"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/AelfScanProject/aelfscan-skill.git"},"homepage":"https://github.com/AelfScanProject/aelfscan-skill#readme","bugs":{"url":"https://github.com/AelfScanProject/aelfscan-skill/issues"},"publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","commander":"^12.1.0","zod":"^3.24.0"},"devDependencies":{"@types/bun":"latest","ajv":"^8.17.1","typescript":"^5.7.0"},"gitHead":"3e2cde793a4f28616ba63beb7cc3ffcb50d2b8f9","_id":"@aelfscan/agent-skills@0.2.2","_nodeVersion":"22.22.0","_npmVersion":"11.11.0","dist":{"integrity":"sha512-qOdswdi9TlbroY5JN+rPLWeERUwntm2rvTIoxkW4+l68JGo+jVtvHWRsirBRAZvTK+43dWO+23A+ZP6ftc3uig==","shasum":"837af1cbdf0ca25959a4cd2a2ed909c132b642a9","tarball":"https://registry.npmjs.org/@aelfscan/agent-skills/-/agent-skills-0.2.2.tgz","fileCount":36,"unpackedSize":157239,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aelfscan%2fagent-skills@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIARphWnyQq9krQ4xGuLOmcf0eKA6g+uxLsDmF9IAVEhnAiAC7PZuoITW1NCmIHXNoiiujCmOjvnpobmjAqSQmAFmeQ=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:72ad9a5e-5c3a-4fe6-a1fd-35e82879da43"}},"directories":{},"maintainers":[{"name":"kastale","email":"kastale@aefinder.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/agent-skills_0.2.2_1772647035974_0.8489825720893713"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-26T14:35:28.505Z","modified":"2026-03-04T17:57:16.414Z","0.2.0":"2026-02-26T14:35:28.785Z","0.2.1":"2026-02-28T15:25:17.775Z","0.2.2":"2026-03-04T17:57:16.135Z"},"bugs":{"url":"https://github.com/AelfScanProject/aelfscan-skill/issues"},"license":"MIT","homepage":"https://github.com/AelfScanProject/aelfscan-skill#readme","keywords":["aelfscan","aelf","mcp","agent","blockchain","sdk","skill","explorer"],"repository":{"type":"git","url":"git+https://github.com/AelfScanProject/aelfscan-skill.git"},"description":"AelfScan explorer skill toolkit for AI agents: MCP, CLI, and SDK interfaces.","maintainers":[{"name":"kastale","email":"kastale@aefinder.io"}],"readme":"# AelfScan Skill Kit\n\n[中文](./README.zh-CN.md) | [English](./README.md)\n\n[![Unit Tests](https://github.com/AelfScanProject/aelfscan-skill/actions/workflows/test.yml/badge.svg)](https://github.com/AelfScanProject/aelfscan-skill/actions/workflows/test.yml)\n[![Coverage](https://img.shields.io/endpoint?url=https://AelfScanProject.github.io/aelfscan-skill/coverage-badge.json)](https://AelfScanProject.github.io/aelfscan-skill/coverage-badge.json)\n\n面向 AI Agent 的 AelfScan 浏览器能力工具包，提供 **SDK + MCP + CLI + OpenClaw** 四种使用方式。\n\n## 功能覆盖\n\n- Search：筛选器与多实体搜索（token/account/contract/NFT/block/transaction）\n- Blockchain：区块列表、最新区块、交易列表、最新交易、区块详情、交易详情、overview/chart/address dictionary/log events\n- Address：账户/合约列表，地址详情，Token/NFT 资产，转账记录，合约历史/事件/源码\n- Token：列表、详情、转账、持有人\n- NFT：合集列表/详情、转账、持有人、库存、Item 详情/持有人/活动\n- Statistics：交易/地址活跃度、产块指标、手续费/奖励/销毁、供给/市值/质押/TVL、节点与 ELF 供给、按日期区间汇总\n- 单一元数据源：SDK/CLI/MCP/OpenClaw 共用 tool descriptor\n- MCP 输出治理：数组截断 + 文本长度上限 + `raw` 可配置\n- 统一返回模型：`ToolResult<T>`，包含 `traceId`、标准化错误和 `raw` 原始响应\n\n## 架构\n\n```text\naelfscan-skill/\n├── index.ts                 # SDK 导出\n├── aelfscan_skill.ts        # CLI 适配层\n├── src/\n│   ├── core/                # 域逻辑（search/blockchain/address/token/nft/statistics）\n│   ├── tooling/             # Tool descriptor 单一真源\n│   └── mcp/                 # MCP 适配层与输出治理\n├── lib/                     # config/http/errors/trace/types\n├── bin/setup.ts             # claude/cursor/openclaw 一键配置\n├── openclaw.json\n├── mcp-config.example.json\n└── tests/                   # unit/integration/e2e\n```\n\n## 快速开始\n\n### 安装\n\n```bash\nbun install\n```\n\n### 环境变量\n\n```bash\ncp .env.example .env\n```\n\n### 启动 MCP\n\n```bash\nbun run mcp\n```\n\n### OpenClaw\n\n```bash\nbun run build:openclaw\nbun run build:openclaw:check\n```\n\n### CLI 示例\n\n```bash\nbun run aelfscan_skill.ts search query --input '{\"chainId\":\"AELF\",\"keyword\":\"ELF\",\"filterType\":0,\"searchType\":0}'\nbun run aelfscan_skill.ts blockchain blocks --input '{\"chainId\":\"AELF\",\"maxResultCount\":2,\"skipCount\":0}'\nbun run aelfscan_skill.ts blockchain overview --input '{\"chainId\":\"AELF\"}'\nbun run aelfscan_skill.ts blockchain log-events --input '{\"chainId\":\"AELF\",\"contractAddress\":\"256MtWxt3dvxBUdh1XHjQeeSDm2SMR98gDQxLL4UXjwFDhzcAM\",\"maxResultCount\":1,\"skipCount\":0}'\nbun run aelfscan_skill.ts address detail --input '{\"chainId\":\"AELF\",\"address\":\"JRmBduh4nXWi1aXgdUsj5gJrzeZb2LxmrAbf7W99faZSvoAaE\"}'\nbun run aelfscan_skill.ts statistics daily-transactions --input '{\"chainId\":\"AELF\"}'\nbun run aelfscan_skill.ts statistics daily-transaction-info --input '{\"chainId\":\"AELF\",\"startDate\":\"2026-02-20\",\"endDate\":\"2026-02-26\"}'\nbun run aelfscan_skill.ts statistics metric --input '{\"metric\":\"dailyTransactions\",\"chainId\":\"AELF\"}'\n```\n\n## MCP 配置模板\n\n参考 [`mcp-config.example.json`](./mcp-config.example.json)。\n\n## 一键配置命令\n\n```bash\nbun run setup claude\nbun run setup cursor\nbun run setup cursor --global\nbun run setup openclaw\nbun run setup list\nbun run build:openclaw\n```\n\n## 测试\n\n```bash\nbun run test:unit\nbun run test:unit:coverage\nbun run coverage:badge\nbun run test:integration\nbun run test:e2e\n\n# 可选：线上只读烟测\nRUN_LIVE_TESTS=1 bun run test:e2e\n```\n\n## 环境变量说明\n\n- `AELFSCAN_API_BASE_URL`（默认 `https://aelfscan.io`）\n- `AELFSCAN_DEFAULT_CHAIN_ID`（默认空字符串，表示 multi-chain）\n- `AELFSCAN_TIMEOUT_MS`（默认 `10000`）\n- `AELFSCAN_RETRY`（默认 `1`）\n- `AELFSCAN_RETRY_BASE_MS`（默认 `200`）\n- `AELFSCAN_RETRY_MAX_MS`（默认 `3000`）\n- `AELFSCAN_MAX_CONCURRENT_REQUESTS`（默认 `5`）\n- `AELFSCAN_CACHE_TTL_MS`（默认 `60000`）\n- `AELFSCAN_CACHE_MAX_ENTRIES`（默认 `500`）\n- `AELFSCAN_MAX_RESULT_COUNT`（默认 `200`）\n- `AELFSCAN_MCP_MAX_ITEMS`（默认 `50`）\n- `AELFSCAN_MCP_MAX_CHARS`（默认 `60000`）\n- `AELFSCAN_MCP_INCLUDE_RAW`（默认 `false`）\n\n## 钱包上下文兼容性\n\n- 本 skill 为只读，不消费 signer/private-key 上下文，也不执行链上写操作。\n- 兼容写能力 skill 使用的共享 wallet-context 协议（`~/.portkey/skill-wallet/context.v1.json`）。\n- 当本地存在 context 文件时，`bun run deps:check` 会校验 wallet-context schema 版本。\n\n## License\n\nMIT\n\n## 安全\n\n- API Token 和私钥仅通过环境变量或配置注入。\n- 工具输出中禁止泄露敏感字段。\n","readmeFilename":"README.zh-CN.md"}