Penumbra MCP Server

MCP server for interacting with Penumbra blockchain - providing privacy-preserving tools for chain interaction

Local serverstdioTypeScript

What is the Penumbra MCP server?

MCP server for interacting with Penumbra blockchain - providing privacy-preserving tools for chain interaction. That is what the penumbra mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

An MCP server providing tools for interacting with the Penumbra blockchain. This server enables privacy-preserving interactions with Penumbra's core features including transaction queries, validator set information, DEX state, and governance proposals.

The tools it exposes

The server publishes 5 tools. What each one is for:

  • get_validator_set — Get the current validator set information
  • get_chain_status — Get current chain status including block height and chain ID
  • get_transaction — Get details of a specific transaction
  • get_dex_state — Get current DEX state including latest batch auction results
  • get_governance_proposals — Get active governance proposals

Getting it running

Installation goes through your MCP client rather than a global install: point it at @timeheater/penumbra-mcp on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.

What it needs from you

Configuration is passed through the environment: PENUMBRA_NODE_URL, PENUMBRA_NETWORK, PENUMBRA_CHAIN_ID, PENUMBRA_REQUEST_TIMEOUT, PENUMBRA_REQUEST_RETRIES, PENUMBRA_BLOCK_TIME, PENUMBRA_EPOCH_DURATION, PENUMBRA_DEX_BATCH_INTERVAL. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

How it compares

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Penumbra's toolset — get_validator_set, get_chain_status, get_transaction and 2 more — is a fair guide to whether it matches your workflow. It is maintained by bmorphism; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
get_validator_setGet the current validator set information
get_chain_statusGet current chain status including block height and chain ID
get_transactionGet details of a specific transaction
get_dex_stateGet current DEX state including latest batch auction results
get_governance_proposalsGet active governance proposals

How to install the Penumbra MCP server

{
  "mcpServers": {
    "penumbra": {
      "command": "npx",
      "args": ["-y", "@timeheater/penumbra-mcp"],
      "env": {
        "PENUMBRA_NODE_URL": "your-value",
        "PENUMBRA_NETWORK": "your-value",
        "PENUMBRA_CHAIN_ID": "your-value",
        "PENUMBRA_REQUEST_TIMEOUT": "your-value",
        "PENUMBRA_REQUEST_RETRIES": "your-value",
        "PENUMBRA_BLOCK_TIME": "your-value",
        "PENUMBRA_EPOCH_DURATION": "your-value",
        "PENUMBRA_DEX_BATCH_INTERVAL": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
PENUMBRA_NODE_URLEndpoint or connection string the server talks to.Yes
PENUMBRA_NETWORKConfiguration value read at startup.Optional
PENUMBRA_CHAIN_IDConfiguration value read at startup.Optional
PENUMBRA_REQUEST_TIMEOUTConfiguration value read at startup.Optional
PENUMBRA_REQUEST_RETRIESConfiguration value read at startup.Optional
PENUMBRA_BLOCK_TIMEConfiguration value read at startup.Optional
PENUMBRA_EPOCH_DURATIONConfiguration value read at startup.Optional
PENUMBRA_DEX_BATCH_INTERVALConfiguration value read at startup.Optional

Example prompts to try

  • Use Penumbra to get validator set.
  • Use Penumbra to get chain status.
  • Use Penumbra to get transaction.

Frequently asked questions

It provides `get_validator_set`, `get_chain_status`, `get_transaction`, `get_dex_state`, and `get_governance_proposals`. All are currently mock implementations.