{
  "markdown": "# NOVAI MCP server\n\nA read-only Model Context Protocol (MCP) server that lets any MCP-equipped agent query the live NOVAI chain over its public JSON-RPC endpoint. It exposes query tools only. There is no write, sign, submit, or key-handling path anywhere in this package.\n\nNOVAI is an AI-native layer 1 with chained-BFT consensus. This server is a thin, typed bridge: an agent discovers the tools through standard MCP tooling and reads the chain without writing any SDK code.\n\n## Safety boundary\n\nThis is version 0 and it is read-only by design.\n\n- Every tool is a query that maps to a single read method on the public endpoint.\n- The package never holds a private key, never signs, and never submits a transaction.\n- The write methods the chain exposes are deliberately not wired in.\n\n## Requirements\n\n- Node.js 18 or newer.\n\n## Install and run\n\nRun it directly with npx:\n\n```\nnpx novai-mcp-server\n```\n\nOr install it and run the binary:\n\n```\nnpm install novai-mcp-server\nnovai-mcp-server\n```\n\nThe server speaks MCP over stdio. Point your MCP client at the command above.\n\n### Example MCP client configuration\n\n```json\n{\n  \"mcpServers\": {\n    \"novai\": {\n      \"command\": \"npx\",\n      \"args\": [\"novai-mcp-server\"]\n    }\n  }\n}\n```\n\n## Configuration\n\n- `NOVAI_RPC_URL` overrides the JSON-RPC endpoint. It defaults to the public NOVAI URL, `https://rpc.novai.network`. No other configuration, no secrets, and no auth are required, because the public endpoint is open and read-only.\n\n## Tools\n\nAll hashes and ids are 64 hex characters (32 bytes, no `0x` prefix). All heights are non-negative integers. Every input is validated before any network call, and both chain errors and transport failures are returned as clean tool errors with no stack traces.\n\n| Tool | Returns | Required params | Optional params |\n| --- | --- | --- | --- |\n| `novai_get_chain_status` | The latest committed block, so you can verify the chain is live and learn the tip height | none | none |\n| `novai_get_block` | A single block | exactly one of `height` or `hash` | none |\n| `novai_get_transaction` | A confirmed transaction, or null if unknown | `txid` | none |\n| `novai_get_ai_entity` | An AI entity (agent) record, or null if unknown | `entity_id` | none |\n| `novai_get_balance` | Balance (decimal string) and nonce for an address | `address` | none |\n| `novai_get_signals_by_height` | Signal commitments recorded at a height | `height` | none |\n| `novai_get_signals_by_issuer` | Signals issued by an entity within a height range | `issuer`, `start_height`, `end_height` | none |\n| `novai_get_signals_by_type` | Signals of a type within a height range | `signal_type`, `start_height`, `end_height` | none |\n| `novai_get_oracle_anchor` | An oracle anchor by signal hash, or null if unknown | `signal_hash` | none |\n| `novai_get_oracle_anchors_by_entity` | Oracle anchors by issuer within a height range | `entity_id`, `start_height`, `end_height` | `ts_min`, `ts_max` |\n| `novai_get_oracle_anchors_by_tag` | Oracle anchors by data tag within a height range | `data_tag`, `start_height`, `end_height` | `ts_min`, `ts_max` |\n| `novai_get_memory_objects` | On-chain memory objects owned by an entity | `entity_id` | none |\n\n### A note on block lookups by height\n\nThe endpoint retains a bounded recent window of blocks by height, so a height far below the current tip can return null even though it was a valid block. Lookups by hash work for any block the node still indexes. Call `novai_get_chain_status` first to learn the current tip height.\n\n## Development\n\n```\nnpm install\nnpm run build\nnpm test\n```\n\n`npm test` runs the offline unit and validation tests. To exercise the live endpoint:\n\n```\nnpm run test:live\n```\n\nAn end-to-end stdio check that spawns the built server and drives it with a real MCP client is available:\n\n```\nnpm run build && node scripts/smoke.mjs\n```\n\n## License\n\nMIT. See the LICENSE file.\n",
  "bytes": 3887,
  "sha": "ac1de3bc9248770747794fd2ee9fe00cd40455d3be49f64d17159541cfc53b10",
  "repo_slug": "0x-devc/novai-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_0x_devc_novai_mcp_server_a4ec936a/readme"
}