{
  "markdown": "# exergynet-mcp-server\n\n> Read-only MCP lookups for the ExergyNet LNES-03 program on Solana, plus a local compute-cost estimator. Part of ExergyNet, model-independent infrastructure for persistent memory, governed execution, and verifiable settlement — see [exergynet.org](https://exergynet.org).\n\n[![npm version](https://img.shields.io/npm/v/exergynet-mcp-server)](https://www.npmjs.com/package/exergynet-mcp-server)\n[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.ezumba%2Fexergynet-blue)](https://registry.modelcontextprotocol.io)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n## Security advisory (2026-08-28)\n\n**A prior version of this package (versions up to and including 0.2.2) shipped a working `exergynet_open_job` tool that, once a user configured a real wallet, sent a real Base Mainnet transaction — including an unconditional, unlimited USDC spending approval — to a contract address that ExergyNet's own status page identifies as retired, with access control that cannot be independently verified.** No evidence was found of any independent (non-developer) wallet ever having used this path. Full detail: [`MCP_SECURITY_ADVISORY_2026-08-28.md`](https://github.com/ezumba/exergynet-site/blob/main/MCP_SECURITY_ADVISORY_2026-08-28.md) in the `exergynet-site` repository.\n\n**As of 0.2.3, `exergynet_open_job` is disabled.** It always returns a fail-closed message and does not construct, sign, or submit any transaction under any configuration. This version has no signing dependency at all (`ethers` and `viem` have been removed) and does not read or require any private key. **0.2.4** additionally fixes input-validation and audit-logging gaps found by an independent MCP security scan — see below.\n\nIf you installed a version before 0.2.3 and configured a real `BASE_PRIVATE_KEY`, revoke any USDC approval you may have granted to `0x5cfE075149776f4b3cca07a27D4fd85A60BA5e3f` on Base Mainnet (e.g. via [revoke.cash](https://revoke.cash/address/0x5cfE075149776f4b3cca07a27D4fd85A60BA5e3f?chainId=8453)) and upgrade immediately.\n\n## Independent security scan remediation (0.2.4)\n\nAn earlier build (0.1.10) was independently scanned by MCP Vouch against the OWASP MCP Top 10 and scored 71/100 (Grade C), with four warnings: input validation, audit/telemetry, rate limiting, and supply chain risk. 0.2.4 addresses all four in the current tool set:\n\n- **Input validation:** `exergynet_estimate_gate` and `exergynet_verify_program` now reject non-finite, negative, or malformed input with a clear error instead of silently coercing it.\n- **Audit/telemetry:** every tool call is logged to stderr with a timestamp and outcome.\n- **Rate limiting:** `exergynet_verify_program` (the only tool making an outbound network call) is limited to 20 calls per 10-second window.\n- **Supply chain:** `ethers`/`viem` were already removed in 0.2.3. `npm audit fix` was applied for the transitive `ws` vulnerability in 0.2.4. The remaining moderate-severity `uuid` advisory (reachable via `@solana/web3.js` → `jayson` → `uuid@8.3.2`) is resolved in **0.2.5** with a targeted `overrides` entry pinning `jayson`'s `uuid` dependency to `^11.1.1`, without downgrading `@solana/web3.js` itself. `npm audit` reports 0 vulnerabilities after this change. Verified safe, not just applied blindly: full rebuild, all 9 regression tests passing, and a live network call through `exergynet_verify_program` against Solana Mainnet-Beta confirmed the override doesn't change RPC behavior.\n\nA fresh independent rescan will be requested once a version is published; results (old vs. new) will be recorded rather than the 71/100 figure being quietly dropped.\n\n---\n\n## What this package is\n\n**`exergynet-mcp-server`** is the settlement-surface MCP server: read-only LNES-03 Solana program lookups plus a local compute-cost estimator. It is one interface into the broader ExergyNet fabric.\n\n**ExergyNet** is model-independent infrastructure for autonomous AI systems — persistent memory, governed execution, and verifiable settlement. The three primary interfaces are:\n\n| Interface | Package | What it exposes |\n|---|---|---|\n| Local persistent memory | [`@lnes/vanguard-memory-node`](https://www.npmjs.com/package/@lnes/vanguard-memory-node) | BM25 search, SHA-256-addressed shard store, xLMP bounded recall (validated at mean K ≈ 896 tokens across a ~10M-token corpus) |\n| Settlement surface (this package) | `exergynet-mcp-server` | Read-only LNES-03 Solana lookups + compute cost estimator; write settlement (`exergynet_open_job`) disabled pending Base L2 migration |\n| Authority gate | LNES-22 (separate service) | Consequence authorization, delegation receipts, red-team-validated rejection logic |\n\nIf you want persistent local memory for your AI agent, install `@lnes/vanguard-memory-node`. If you want to query LNES-03 program state or estimate compute costs, install this package.\n\n---\n\n## Quick Install\n\n```bash\nnpx -y exergynet-mcp-server\n```\n\n### Claude Code\n\n```bash\nclaude mcp add --transport stdio exergynet -- npx -y exergynet-mcp-server\n```\n\n### Claude Desktop / ElizaOS / Other MCP Clients\n\n```json\n{\n  \"mcpServers\": {\n    \"exergynet\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"exergynet-mcp-server\"]\n    }\n  }\n}\n```\n\n**No private key or wallet credential is required or accepted by this server.** `RPC_URL` is optional and defaults to the public Solana Mainnet-Beta endpoint.\n\n---\n\n## Tools\n\n| Tool | What it does | Network call? | Can it move funds or sign anything? |\n|---|---|---|---|\n| `exergynet_get_program_id` | Returns the LNES-03 Solana program ID | No — static value | No |\n| `exergynet_verify_program` | Read-only check that the LNES-03 program account exists and is executable on Solana | Yes — one read-only RPC call (rate-limited: 20/10s) | No |\n| `exergynet_get_proof_transaction` | Returns a reference LNES-03 settlement transaction signature | No — static value | No |\n| `exergynet_estimate_gate` | Local arithmetic: compares an external compute cost against a settlement cost + risk margin | No — local arithmetic only | No |\n| `exergynet_open_job` | **Disabled.** Always returns a fail-closed message (security advisory 2026-08-28) | No | No — no signing capability in this version |\n\n### Write-tool maturity\n\n`exergynet_open_job` will remain disabled until a current Base L2 execution target is independently verified end-to-end — correct chain ID, correct contract identity, matching ABI, and a live settlement path (a real prover producing the ZK receipt that `settleExergy` requires) — and that verification is documented publicly. A version that re-enables it will state exactly which contract it targets and how a caller can independently confirm that before any transaction is possible. Until then: **no ExergyNet MCP tool in this package will ever ask for a private key or send a transaction.**\n\nFor current, verified Base L2 contract addresses and settlement status, see [exergynet.org/proof.html](https://exergynet.org/proof.html).\n\n---\n\n## Machine Discovery\n\nExergyNet is built to be discovered by AI agents, not humans browsing a docs page.\n\n- **Well-known endpoint:** `https://exergynet.org/.well-known/exergynet.json` — capabilities manifest\n- **LLMs.txt:** `https://exergynet.org/llms.txt` — protocol description in model-readable form\n- **MCP server card:** `https://exergynet.org/.well-known/mcp/server-card.json`\n- **MCP Registry:** `io.github.ezumba/exergynet`\n\n---\n\n## Authority Boundary\n\n> **AI can propose consequences. AI cannot authorize its own consequences.**\n\nThe Consequence Boundary (LNES-22) is architecturally separate from this server. This package exposes read-only program lookups and a local cost estimator. When `exergynet_open_job` is re-enabled, it will operate within your explicitly granted spending authority only — the model layer never holds signing credentials for consequential actions.\n\nSee [SECURITY.md](https://github.com/ezumba/exergynet-mcp-server/blob/main/SECURITY.md) for the x402 attack-class analysis and ExergyNet's architectural controls.\n\n---\n\n## Compatible Agents\n\n- **Claude** (Claude Code, Claude Desktop)\n- **ElizaOS**\n- Any MCP-compatible agent runtime\n\n---\n\n## Links\n\n- [exergynet.org](https://exergynet.org)\n- [npm: exergynet-mcp-server](https://www.npmjs.com/package/exergynet-mcp-server)\n- [npm: @lnes/vanguard-memory-node](https://www.npmjs.com/package/@lnes/vanguard-memory-node) — companion local memory package\n- [GitHub](https://github.com/ezumba/exergynet-mcp-server)\n- [MCP Registry](https://registry.modelcontextprotocol.io) — `io.github.ezumba/exergynet`\n- [Whitepaper](https://exergynet.org/whitepaper.html)\n- [Benchmarks](https://exergynet.org/benchmarks.html)\n\n---\n\n## License\n\nMIT © [ezumba](https://github.com/ezumba)\n",
  "bytes": 8772,
  "sha": "0e983369d9a801eb93f504dd0ddbc4f7bc7e21a1f939453cd710147d86f53a32",
  "repo_slug": "ezumba/exergynet-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_ezumba_exergynet_a001ba2c/readme"
}