# 0x-devc/novai-mcp-server [Health: Active]

**Category:** 💰 Finance & Fintech  
**Repository:** https://github.com/0x-devc/novai-mcp-server  
**GitHub Stars:** 1  
**Views:** 5  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/0x-devc-novai-mcp-server

## Description
Read-only access to the live NOVAI blockchain (AI-native L1). Query blocks, transactions, AI entities, on-chain signals, oracle anchors, and memory objects over public JSON-RPC. No keys, no write paths.

## Tools
Capabilities this server exposes over MCP:

- **novai_get_chain_status** — Return the latest committed block of the live NOVAI chain: its height, block hash, round, transaction count, state root, and parent hash. Use this to verify the chain is live and advancing, and to learn the current tip height before requesting a specific block. Takes no parameters.
- **novai_get_block** — Fetch a single committed block by height or by hash. Provide exactly one of height or hash. Returns the block height, block hash, parent hash, round, state root, and transaction count, or null if no such block is known. Note: the endpoint retains a bounded recent window of blocks by height, so very old heights can return null even though they were valid blocks. Lookups by hash work for any block the node still indexes.
- **novai_get_transaction** — Fetch a confirmed transaction by its transaction id. Returns the block height, transaction index, sender address, nonce, fee, and payload length, or null if the transaction is not found.
- **novai_get_ai_entity** — Fetch an on-chain AI entity (agent) by its entity id. Returns the entity record including code hash, creator, autonomy mode, capability bits, economic and stake balances, reputation score, transaction count, and activity timestamps, or null if no entity exists for that id.
- **novai_get_balance** — Fetch the balance and nonce for an account or entity address. The balance is returned as a decimal string to preserve full precision.
- **novai_get_signals_by_height** — List the signal commitments recorded at a specific block height. Each entry has a commitment hash, a numeric signal type, the height, and the issuer. Use this to see which signals were committed in a given block.
- **novai_get_signals_by_issuer** — List the signal commitments issued by a given entity within a block height range. Returns commitment hash, signal type, height, and issuer for each.
- **novai_get_signals_by_type** — List the signal commitments of a given type within a block height range. The endpoint currently accepts these signal type codes: 0 Anomaly, 1 Optimization, 2 Prediction, 3 RiskScore, 4 AuditReport, 5 SpamRisk, 6 CongestionForecast. Returns commitment hash, signal type, height, and issuer for each.
- **novai_get_oracle_anchor** — Fetch a single oracle anchor by its signal hash. Returns the issuer entity, data hash, external timestamp, source hash, expiry and anchor heights, and data tag, or null if no anchor exists for that hash.
- **novai_get_oracle_anchors_by_entity** — List oracle anchors issued by a given entity within a block height range, optionally filtered by an external timestamp range. Returns issuer entity, data hash, external timestamp, source hash, expiry and anchor heights, and data tag for each.
- **novai_get_oracle_anchors_by_tag** — List oracle anchors carrying a given data tag within a block height range, optionally filtered by an external timestamp range. Returns issuer entity, data hash, external timestamp, source hash, expiry and anchor heights, and data tag for each.
- **novai_get_memory_objects** — List the on-chain memory objects owned by an entity. Each object has an object id, a numeric object type, owner, creation and update heights, and hex encoded data. Object type codes: 0 ChainSummary, 1 LabelIndex, 2 EmbeddingCommitment, 3 AnomalyLog, 4 StatisticsSnapshot, 5 ReputationEvent, 6 Rating, 7 SignalCatalog, 8 CompositionGraph, 9 VerificationRecord, 10 DelegationGrant, 11 Subscription, 12 ServiceDescriptor, 13 VkRegistration, 14 SlaAgreement, 15 PaymentChannel.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "novai-mcp-server": {
    "command": "npx",
    "args": ["-y","novai-mcp-server"],
    "env": {
      "NOVAI_RPC_URL": ""
    }
  }
}
```

**Requires environment variables:** `NOVAI_RPC_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What 0x-devc/novai-mcp-server MCP server does

The 0x-devc/novai-mcp-server MCP server gives MCP clients query access to the live NOVAI chain, an AI-native layer 1 using chained-BFT consensus. It is designed as a thin bridge between an agent and NOVAI's public JSON-RPC API, so an agent can inspect blockchain state without writing a custom SDK integration.

The available data includes the latest chain tip, individual blocks, confirmed transactions, account or entity balances, and on-chain AI entity records. Agents can also inspect signal commitments, oracle anchors, and memory objects associated with NOVAI entities. The package intentionally excludes write, signing, transaction-submission, and private-key functionality.

## How it works

After the MCP client starts the process, the server advertises its query tools through MCP over standard input and output. Each tool maps to a read operation on the configured JSON-RPC endpoint. Inputs are validated before a network request is made; chain-side errors and transport failures are returned as tool errors without stack traces.

Block queries can use either a height or a hash, but not both. The chain-status query is useful as a first call because it returns the current tip height and confirms that the chain is advancing. Height-based block access is limited by the node's retained recent window, while hash lookups can work for blocks still indexed by the node.

Hashes and identifiers use 64 hexadecimal characters without a `0x` prefix, and block heights are non-negative integers. Balances are represented as decimal strings to preserve precision.

## Setup and configuration

The 0x-devc/novai-mcp-server MCP server requires Node.js 18 or later. It can be started directly with npx or installed from npm before running its binary. For a stdio client configuration, use the package command as the MCP server process.

By default, requests go to `https://rpc.novai.network`. Set `NOVAI_RPC_URL` to use another JSON-RPC endpoint. No secret, token, or additional configuration is required because the documented endpoint is public and the server is read-only.

For local development, the repository documents `npm install`, `npm run build`, and `npm test`. The live endpoint test is available through `npm run test:live`, and an end-to-end stdio check can be run after building with `node scripts/smoke.mjs`.

## Tools and capabilities

The 0x-devc/novai-mcp-server MCP server exposes tools for:

- Reading the latest committed block's height, hash, round, transaction count, state root, and parent hash.
- Fetching a block by height or hash and a confirmed transaction by transaction ID.
- Looking up an AI entity, including its creator, code hash, autonomy mode, capability bits, balances, reputation, and activity data.
- Reading an address or entity balance and nonce.
- Listing signal commitments by block height, issuer, or signal type. Supported type codes cover anomaly, optimization, prediction, risk score, audit report, spam risk, and congestion forecast.
- Fetching oracle anchors by signal hash, issuer, or data tag, with optional external timestamp filters for list queries.
- Listing memory objects owned by an entity, including their type, heights, owner, identifier, and hex-encoded data.

## Limitations and notes

This 0x-devc/novai-mcp-server MCP server cannot modify chain state. It does not hold private keys, sign requests, or submit transactions. Unknown transactions, entities, oracle anchors, and unavailable blocks may return `null` rather than an error. In particular, an old block height may no longer be available even if that block was valid, because the endpoint keeps only a bounded recent height window. Use a block hash when the node still indexes the historical block.

_Full upstream README: https://allmcps.com/mcp/0x-devc-novai-mcp-server/readme_

