Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

penumbra-mcp

MCP.Pizza Chef: bmorphism

Penumbra MCP Server is a specialized MCP server designed to facilitate privacy-preserving interactions with the Penumbra blockchain. It exposes tools for querying validator sets, chain status, transaction details, decentralized exchange (DEX) state, and governance proposals. This server supports secure, private blockchain data access and plans to expand with features like transaction submission, private staking, sealed-bid DEX trading, private governance voting, and liquidity management. Easily installable via npm or yarn, it integrates seamlessly into MCP-enabled environments to empower developers building privacy-centric blockchain applications.

Use This MCP server To

Query current validator set information securely Retrieve real-time chain status and block height Access detailed transaction data privately Fetch latest decentralized exchange (DEX) state Get active governance proposals on-chain Enable private staking operations (planned) Support sealed-bid batch auctions for DEX trading (planned) Facilitate private governance voting (planned) Manage liquidity positions confidentially (planned)

README

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

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

penumbra-mcp FAQ

How do I install the penumbra-mcp server?
You can install penumbra-mcp via npm using 'npm install @timeheater/penumbra-mcp' or with yarn using 'yarn add @timeheater/penumbra-mcp'.
What blockchain does penumbra-mcp interact with?
penumbra-mcp interacts specifically with the Penumbra blockchain, focusing on privacy-preserving features.
Can penumbra-mcp submit transactions to the blockchain?
Transaction submission is a planned feature and not currently supported but will be added in future releases.
Does penumbra-mcp support private staking?
Private staking operations are planned for future updates to enhance privacy in staking activities.
How does penumbra-mcp handle decentralized exchange (DEX) data?
It provides tools to fetch the current DEX state, including the latest batch auction results, with plans to support sealed-bid batch auctions.
Is governance voting supported by penumbra-mcp?
Private governance voting is planned but not yet implemented in the current version.
What programming environments can penumbra-mcp be integrated with?
penumbra-mcp is installable via npm and yarn, making it compatible with JavaScript and TypeScript environments commonly used in web and blockchain development.
How does penumbra-mcp ensure privacy in blockchain interactions?
penumbra-mcp leverages Penumbra's privacy-preserving blockchain protocols to provide confidential access to chain data and operations.
Can penumbra-mcp be used with multiple LLM providers?
Yes, penumbra-mcp can be integrated into MCP workflows that use models from OpenAI, Anthropic Claude, and Google Gemini, enabling privacy-aware blockchain interactions.