Skip to main content
Glama
Penumbra MCP Server

Penumbra MCP Server

by bmorphism

Penumbra MCP Server

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.

Features

Current Tools

  • 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

Planned Features

  • Transaction submission

  • Private staking operations

  • DEX trading (sealed-bid batch auctions)

  • Private governance voting

  • Liquidity position management

Related MCP server: Kaspa MCP Server

Installation

You can install the package via npm:

npm install @timeheater/penumbra-mcp

Or using yarn:

yarn add @timeheater/penumbra-mcp

Setup

Local Development from Source

  1. Install dependencies:

npm install
  1. Build the server:

npm run build
  1. Run in development mode:

npm run watch

Claude Desktop Integration

To integrate with Claude desktop, add the following configuration to your Claude desktop settings file (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "penumbra-mcp": {
      "command": "node",
      "args": ["/Users/barton/infinity-topos/penumbra-mcp/build/index.js"],
      "env": {
        "PENUMBRA_NODE_URL": "https://rpc.penumbra.zone",
        "PENUMBRA_NETWORK": "mainnet",
        "PENUMBRA_CHAIN_ID": "penumbra-1",
        "PENUMBRA_REQUEST_TIMEOUT": "30000",
        "PENUMBRA_REQUEST_RETRIES": "5",
        "PENUMBRA_BLOCK_TIME": "6000",
        "PENUMBRA_EPOCH_DURATION": "100",
        "PENUMBRA_DEX_BATCH_INTERVAL": "60000",
        "PENUMBRA_DEX_MIN_LIQUIDITY": "1000",
        "PENUMBRA_DEX_MAX_PRICE_IMPACT": "0.05",
        "PENUMBRA_GOVERNANCE_VOTING_PERIOD": "1209600000",
        "PENUMBRA_GOVERNANCE_MIN_DEPOSIT": "100000"
      }
    }
  }
}

Replace /path/to/penumbra-mcp with the actual path where you've installed the server.

Using the MCP Server

Once configured, you can interact with Penumbra through Claude using the following tools:

  1. Query validator set:

Tell Claude: "Show me the current Penumbra validator set"
  1. Check chain status:

Tell Claude: "What's the current status of the Penumbra chain?"
  1. Get transaction details:

Tell Claude: "Look up Penumbra transaction [HASH]"
  1. View DEX state:

Tell Claude: "Show me the current Penumbra DEX state"
  1. List governance proposals:

Tell Claude: "List active Penumbra governance proposals"

Development

  • npm run watch: Watch mode for development

  • npm run inspector: Run MCP inspector for testing

  • npm test: Run test suite

Environment Variables

Node Configuration

  • PENUMBRA_NODE_URL: URL of the Penumbra node (default: https://rpc.penumbra.zone)

  • PENUMBRA_REQUEST_TIMEOUT: HTTP request timeout in milliseconds (default: 30000)

  • PENUMBRA_REQUEST_RETRIES: Number of request retries (default: 5)

Chain Configuration

  • PENUMBRA_NETWORK: Network to connect to (default: mainnet)

  • PENUMBRA_CHAIN_ID: Chain ID (default: penumbra-1)

  • PENUMBRA_BLOCK_TIME: Block time in milliseconds (default: 6000)

  • PENUMBRA_EPOCH_DURATION: Number of blocks per epoch (default: 100)

DEX Configuration

  • PENUMBRA_DEX_BATCH_INTERVAL: Batch auction interval in milliseconds (default: 60000)

  • PENUMBRA_DEX_MIN_LIQUIDITY: Minimum liquidity amount (default: 1000)

  • PENUMBRA_DEX_MAX_PRICE_IMPACT: Maximum price impact as decimal (default: 0.05)

Governance Configuration

  • PENUMBRA_GOVERNANCE_VOTING_PERIOD: Voting period duration in milliseconds (default: 1209600000 - 14 days)

  • PENUMBRA_GOVERNANCE_MIN_DEPOSIT: Minimum proposal deposit amount (default: 100000)

Architecture

The server is built using TypeScript and implements the Model Context Protocol (MCP) for standardized tool interfaces. It currently provides mock implementations for core functionality, with plans to integrate directly with Penumbra's client libraries and node API endpoints.

Privacy Considerations

All interactions respect Penumbra's privacy-preserving design:

  • Shielded transactions

  • Private staking operations

  • Sealed-bid batch auctions

  • Anonymous governance voting

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

ISC

Available Tools

5 tools
get_chain_statusB

Get current chain status including block height and chain ID

Inputs: no named parameters.

get_dex_stateB

Get current DEX state including latest batch auction results

Inputs: no named parameters.

get_governance_proposalsC

Get active governance proposals

Inputs: status.

get_transactionC

Get details of a specific transaction

Inputs: hash (required).

get_validator_setB

Get the current validator set information

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose targeting different resources: chain status, DEX state, governance proposals, transactions, and validator set. There is no overlap or ambiguity between them, making it easy for an agent to select the correct tool.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with 'get_' prefix and snake_case, such as get_chain_status and get_dex_state. This predictability enhances readability and usability for agents.

    Tool Count5/5

    With 5 tools, the server is well-scoped for its apparent blockchain/DeFi domain. Each tool earns its place by covering key aspects like status, DEX, governance, transactions, and validators without being too sparse or bloated.

    Completeness3/5

    The toolset provides read-only access to various blockchain data, but there are notable gaps for a full DeFi lifecycle, such as creating transactions, voting on proposals, or interacting with the DEX. Agents can retrieve information but may struggle with write operations.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with Kaspa blockchain nodes via RPC, providing tools for querying node info, block data, addresses, balances, UTXOs, and mempool transactions.
      1
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Enables interaction with the LENDS protocol for lending, borrowing, PSM conversion, and staking, providing read-only tools and unsigned transaction construction without private key handling.
      37
      23 npm
      MIT