Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

midnight-cast

by Kanasjnrversion 0.2.2i★ –iRuns on your computer
Registry nameio.github.Kanasjnr/midnight-cast

Install

Overview

Description from the maker (original English)

Read-only tools for live Midnight networks: health, transactions, DUST, errors and example code

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Clinics & health
  • You need to fill in: BLOCKFROST_PREPROD_PROJECT_ID, BLOCKFROST_MAINNET_PROJECT_ID

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: BLOCKFROST_PREPROD_PROJECT_ID, BLOCKFROST_MAINNET_PROJECT_ID, MIDNIGHT_CAST_NETWORKS

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "midnight-cast": {
      "command": "npx",
      "args": [
        "-y",
        "midnight-cast",
        "mcp"
      ],
      "env": {
        "BLOCKFROST_PREPROD_PROJECT_ID": "your-value",
        "BLOCKFROST_MAINNET_PROJECT_ID": "your-value",
        "MIDNIGHT_CAST_NETWORKS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add midnight-cast --env BLOCKFROST_PREPROD_PROJECT_ID=your-value --env BLOCKFROST_MAINNET_PROJECT_ID=your-value --env MIDNIGHT_CAST_NETWORKS=your-value -- npx -y midnight-cast mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "midnight-cast": {
      "command": "npx",
      "args": [
        "-y",
        "midnight-cast",
        "mcp"
      ],
      "env": {
        "BLOCKFROST_PREPROD_PROJECT_ID": "your-value",
        "BLOCKFROST_MAINNET_PROJECT_ID": "your-value",
        "MIDNIGHT_CAST_NETWORKS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "midnight-cast": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "midnight-cast",
        "mcp"
      ],
      "env": {
        "BLOCKFROST_PREPROD_PROJECT_ID": "your-value",
        "BLOCKFROST_MAINNET_PROJECT_ID": "your-value",
        "MIDNIGHT_CAST_NETWORKS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • BLOCKFROST_PREPROD_PROJECT_ID secret env
    Blockfrost project ID for a Midnight Preprod project, needed only to query preprod. It is never shown to the model.
  • BLOCKFROST_MAINNET_PROJECT_ID secret env
    Blockfrost project ID for a Midnight Mainnet project, needed only to query mainnet. It is never shown to the model.
  • MIDNIGHT_CAST_NETWORKS env
    Comma-separated networks the model may query, such as preview,preprod. Default: every built-in network.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account Kanasjnr, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Clinics & healthi

  • More stars than 0% of the other 1026 servers in this category
  • Published to the registry more recently than 100% of the other 1026 servers in this category
  • Basic checks equal to or better than 100% of the other 1026 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is midnight-cast safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: BLOCKFROST_PREPROD_PROJECT_ID, BLOCKFROST_MAINNET_PROJECT_ID

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.2.2) reached the registry today.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Mirobody, FHIR MCP Server, Google Health MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Mirobody

Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.

by thetahealthGrowing↓ 290/wk★ 1.4KUpdated yesterday

Runs on your computer✓ thetahealth.ai

FHIR MCP Server

MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications

by wso2Growing↓ 823/wk★ 137Updated 10 days ago

Runs on your computer

Google Health MCP

Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents

by davidmosiahGrowing↓ 1K/wk★ 79Updated 4 months ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

midnight-cast

[!NOTE]

This project extends the Midnight Network with additional developer tooling.

Read-only CLI and MCP server for the Midnight networks: network health, error decoding, transactions, contracts, DUST, and working code from Midnight's official examples. Think Foundry `cast` for Midnight, not a wallet or app scaffold.

npx midnight-cast@latest health preview

or: npm i -g midnight-cast@latest && midnight-cast health preview

Preview needs nothing else. Preprod and mainnet go through Blockfrost and need a free project ID for each; see Quick start.

Note: midnight-cast also installs a short alias, mn, which runs the same commands. Other global CLIs (e.g. @mermaid-js/mermaid-cli, midnight-wallet-cli) install an mn too, so these docs, the hints and the JSON output always say midnight-cast.

midnight-cast health preview

Or step by step: midnight-cast ping preview && midnight-cast tip preview && midnight-cast versions preview

Requires Node.js 20+ (22+ recommended). Without Node.js, the release binaries install the same commands after checking the checksum:

curl -fsSL https://github.com/Kanasjnr/midnight-cast/releases/latest/download/install.sh | sh

On Windows, in PowerShell: irm https://github.com/Kanasjnr/midnight-cast/releases/latest/download/install.ps1 | iex. Where there's no curl, wget -qO- | sh works too. Alpine needs libstdc++ and libgcc first (apk add libstdc++ libgcc). MIDNIGHT_CAST_VERSION=0.2.0 pins a release and MIDNIGHT_CAST_INSTALL_DIR picks the directory (default ~/.local/bin). Each archive carries build provenance: gh attestation verify --repo Kanasjnr/midnight-cast.

Key capabilities

  • Read RPC, indexer, and proof-server health, and whether Midnight's own examples pass on the node a network runs
  • Compare live stack signals and a project's Midnight packages with the support matrix
  • Decode ledger, pallet, Substrate 1010, and JSON-RPC errors, and messages from current tooling and Blockfrost
  • Check a network, proof server and wallet are ready before the first transaction (preflight)
  • Inspect transactions, deployed contracts, DUST generation and DUST event streams
  • Find working code in Midnight's official examples for a topic in your own words (examples)
  • Serve all of it to AI agents as a read-only MCP server, with guidance for Claude Code, Codex, Gemini CLI, Cursor and others
  • Query block headers and raw JSON-RPC without writing scripts
  • Run without Node.js from a standalone binary

What it does

AreaCommands
Healthhealth, ping, tip, versions, preflight
Chainblock latest, block , rpc
Errorsdecode (ledger, pallet, 1010, jsonrpc, --raw)
Indexertx, contract, dust-status, dust-event, dust-events
Working code and backgroundexamples, explain (dust, 1010, versions, transcript, sync)
Agentsmcp, agents init
Configconfig init, config show

No wallet keys. No signing or proving.

Common workflows

Is the network healthy?
midnight-cast health preprod

Example output:

Network: preprod

Healthy: yes

Services: rpc: OK (668ms) indexer: OK (1215ms) proof-server: OK (1053ms) (optional) — version=8.1.0 (matches matrix 8.1.0)

Sync: RPC height: 2805470 Indexer height: 2805468 Delta: 2 (threshold 100) In sync: yes

Why did my tx fail?
midnight-cast tx <hash> --network preprod

midnight-cast decode --raw " "

Example output:

Type:     RegularTransaction

ID: 232830 Hash: e5c86fcd43eb9707e8f23d940e59a6c12ca7ad3ca7e9d2f1232843cc62de1b8c Block: 909000 (428660a6154a27cee57af3527cb3370ad3bbce94f461f433533b1413e24b71f4) Protocol: 22000 Status: PARTIAL_SUCCESS Fees: paid=1 Segments: 0:ok, 20003:ok, 35012:fail Failure: indexer v4 exposes segment success only (no failure reason) Hint: paste wallet/node error → midnight-cast decode --raw " " Actions: ContractCall DUST: 665110:DustSpendProcessed → midnight-cast dust-event 665110

Is my local stack aligned with the network?
midnight-cast versions preprod

Example output:

Checks:

node: expected=>=1.0.400 live=1.0.400 → OK (recommended 1.0.400) runtimeSpec: expected=1000300 live=1000300 → OK (node runtime spec_version vs matrix) indexer-api: expected=v4 live=v4 → OK (from configured indexer URL path) protocolVersion: expected=1000300 live=1000300 → OK (RPC specVersion vs indexer latest block) proof-server: expected=8.1.0 live=8.1.0 → OK (GET /version on configured proof server URL)

Summary: live stack matches matrix checks ✓

Quick start

npm i -g midnight-cast          # or: npx midnight-cast …

midnight-cast config init # ~/.config/midnight-cast/config.toml midnight-cast health preview midnight-cast decode 170 midnight-cast examples "dust sponsorship"

Networks: preview, preprod, mainnet, local — use --network or MN_NETWORK.

Preprod and mainnet go through Blockfrost, since Midnight retired its hosted preprod and mainnet endpoints (mainnet on 30 September 2026, preprod on 9 October). Blockfrost project IDs are per network: create a free Midnight Preprod project, a Midnight Mainnet one, or both, on blockfrost.io, then:

export BLOCKFROST_PREPROD_PROJECT_ID=<your Midnight Preprod project ID>

export BLOCKFROST_MAINNET_PROJECT_ID=nightmainnet... npx midnight-cast health preprod

Preview is still hosted by Midnight and needs no project ID. The project IDs are never printed. See docs/COMMANDS.md.

Debug ladder

When something breaks, run these in order:

  1. midnight-cast health — ping + sync + versions in one shot (preflight --address before a first transaction)
  2. midnight-cast ping — services up?
  3. midnight-cast tip — indexer synced?
  4. midnight-cast versions — stack matches support matrix?
  5. midnight-cast decode — what does the error mean?
  6. midnight-cast tx — what happened on chain?

Common one-liners

midnight-cast health preprod --json

midnight-cast ping preprod midnight-cast versions preprod midnight-cast decode --raw "1010: Invalid Transaction: Custom error: 186" midnight-cast decode 179 --network preview # ledger map stamped per network midnight-cast tx --network preprod # status, fees, segments; links dust-event ids midnight-cast block 909000 preprod # header at height (+ hash) midnight-cast dust-events --from 565900 --limit 10 --network preprod midnight-cast rpc chain_getHeader --json midnight-cast versions preprod --fail-on-mismatch # CI; local Midnight packages (either npm scope) vs matrix pins midnight-cast preflight preprod --address mn_addr_preprod1… # ready for a first transaction? midnight-cast contract preprod # latest action, circuit, deploy block, balances midnight-cast examples "send shielded tokens" # working code from Midnight's official examples midnight-cast explain sync # why a first wallet sync takes so long

Using with AI agents

An agent working on a Midnight project needs to know what the network is doing right now, what an error means, and what working code looks like. midnight-cast answers all three from live data and Midnight's own sources, in a form an agent can parse, and its MCP server can't change anything.

It sits next to two other sources an agent may already have. The Kapa answer engine answers questions from Midnight's documentation and examples. Midnight Expert gives agents skills and MCP tools for writing and verifying Compact and SDK code. midnight-cast is the part neither covers: the live state of preview, preprod and mainnet, the meaning of a specific error code on the ledger the network runs, whether a project's versions match the network, and which of Midnight's official examples shows a pattern.

The JSON contract

Add --json to any command for one stable envelope: ok, data, a structured error with a kind and hint, any warnings, and next, the follow-up commands an expert would run. midnight-cast explain --json describes every command, option, exit code and error kind in one call, and schemas/ has a JSON Schema for each command's output. Exit codes are 0 for success, 1 for a failed check and 2 for a usage error. See JSON output.

midnight-cast decode --raw "1010: Invalid Transaction: Custom error: 186" --json

midnight-cast explain --json

The MCP server

Agents that speak MCP can use midnight-cast directly: midnight-cast mcp runs an MCP server on stdio with 14 tools, health, preflight, ping, tip, versions, block, tx, dust_event, dust_events, contract, dust_status, decode, explain and examples, each returning the same envelope. For example, in Claude Code:

claude mcp add --transport stdio midnight-cast -- npx -y midnight-cast mcp

A sandbox or CI image without Node.js can run the same server from the standalone binary: midnight-cast mcp.

What an agent can and can't do with it
  • Every MCP tool only reads, and each is marked read-only to the client. None signs or submits a transaction, and none needs a wallet, a key or a seed. The CLI's rpc command, which passes any JSON-RPC method to a node, isn't an MCP tool.
  • MIDNIGHT_CAST_NETWORKS limits which networks the model may query, for example preview,preprod.
  • Tools that reach a network are rate limited, 30 calls a minute by default (MIDNIGHT_CAST_MAX_CALLS_PER_MINUTE), so a looping agent can't exhaust public endpoints or a Blockfrost plan.
  • The only secrets it holds are optional Blockfrost project IDs for preprod and mainnet. They're sent only to Blockfrost and redacted from every response, so the model never sees them.
  • decode, explain and examples work offline from data bundled with the release.
Guidance, skill and plugin

To teach a coding agent when and how to use midnight-cast, add the guidance to your project: midnight-cast agents init --write appends a marked section to AGENTS.md (read by Codex, Cursor, Copilot, Gemini CLI, Windsurf, Aider and others; use --file CLAUDE.md for Claude Code), or install the portable skill with npx skills add Kanasjnr/midnight-cast --skill midnight-cast. The snippets are in docs/agents.

In Claude Code, one plugin installs the skill, the MCP server and a /midnight-cast:diagnose [tx or error] command. When the plugin is enabled, Claude Code asks for optional Blockfrost project IDs for preprod and mainnet and keeps them in secure storage; left empty, an exported BLOCKFROST_PREPROD_PROJECT_ID or BLOCKFROST_MAINNET_PROJECT_ID is used. If you added the server with claude mcp add before, remove it with claude mcp remove midnight-cast so only the plugin's server runs:

claude plugin marketplace add Kanasjnr/midnight-cast

claude plugin install midnight-cast@midnight-cast

docs/MCP.md has the setup for Codex, Gemini CLI, Cursor, VS Code and others, the network allow-list, and how the Blockfrost project ID stays out of the model's sight.

Community & support

NeedWhere
Midnight errors, network issues, dev questionsMidnight Discord
midnight-cast bug or something not workingGitHub Issues

| New command or feature idea | [GitHub Issues](https://github.com/Kanasjnr/midnight-c

Only the beginning is shown; read the rest in the repo

Ask PopNx