{"id":25368580,"url":"https://github.com/bmorphism/penumbra-mcp","last_synced_at":"2025-10-30T04:30:46.070Z","repository":{"id":271755853,"uuid":"912637556","full_name":"bmorphism/penumbra-mcp","owner":"bmorphism","description":"MCP server for interacting with Penumbra blockchain - providing privacy-preserving tools for chain interaction","archived":false,"fork":false,"pushed_at":"2025-01-07T01:15:23.000Z","size":41,"stargazers_count":2,"open_issues_count":4,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-14T12:19:03.706Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bmorphism.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-06T04:49:59.000Z","updated_at":"2025-01-20T14:07:52.000Z","dependencies_parsed_at":"2025-01-10T10:32:01.547Z","dependency_job_id":null,"html_url":"https://github.com/bmorphism/penumbra-mcp","commit_stats":null,"previous_names":["bmorphism/penumbra-mcp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmorphism%2Fpenumbra-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmorphism%2Fpenumbra-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmorphism%2Fpenumbra-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bmorphism%2Fpenumbra-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bmorphism","download_url":"https://codeload.github.com/bmorphism/penumbra-mcp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238930051,"owners_count":19554122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-15T00:39:13.913Z","updated_at":"2025-10-30T04:30:40.788Z","avatar_url":"https://github.com/bmorphism.png","language":"JavaScript","funding_links":[],"categories":["Blockchain and Crypto","🌐 Web Development","Finance \u0026 Market Data Mcp Servers"],"sub_categories":[],"readme":"# Penumbra MCP Server\n\nAn 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.\n\n## Features\n\n### Current Tools\n\n- `get_validator_set`: Get the current validator set information\n- `get_chain_status`: Get current chain status including block height and chain ID\n- `get_transaction`: Get details of a specific transaction\n- `get_dex_state`: Get current DEX state including latest batch auction results\n- `get_governance_proposals`: Get active governance proposals\n\n### Planned Features\n\n- Transaction submission\n- Private staking operations\n- DEX trading (sealed-bid batch auctions)\n- Private governance voting\n- Liquidity position management\n\n## Installation\n\nYou can install the package via npm:\n\n```bash\nnpm install @timeheater/penumbra-mcp\n```\n\nOr using yarn:\n\n```bash\nyarn add @timeheater/penumbra-mcp\n```\n\n## Setup\n\n### Local Development from Source\n\n1. Install dependencies:\n```bash\nnpm install\n```\n\n2. Build the server:\n```bash\nnpm run build\n```\n\n3. Run in development mode:\n```bash\nnpm run watch\n```\n\n### Claude Desktop Integration\n\nTo integrate with Claude desktop, add the following configuration to your Claude desktop settings file (`~/Library/Application Support/Claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"penumbra-mcp\": {\n      \"command\": \"node\",\n      \"args\": [\"/Users/barton/infinity-topos/penumbra-mcp/build/index.js\"],\n      \"env\": {\n        \"PENUMBRA_NODE_URL\": \"https://rpc.penumbra.zone\",\n        \"PENUMBRA_NETWORK\": \"mainnet\",\n        \"PENUMBRA_CHAIN_ID\": \"penumbra-1\",\n        \"PENUMBRA_REQUEST_TIMEOUT\": \"30000\",\n        \"PENUMBRA_REQUEST_RETRIES\": \"5\",\n        \"PENUMBRA_BLOCK_TIME\": \"6000\",\n        \"PENUMBRA_EPOCH_DURATION\": \"100\",\n        \"PENUMBRA_DEX_BATCH_INTERVAL\": \"60000\",\n        \"PENUMBRA_DEX_MIN_LIQUIDITY\": \"1000\",\n        \"PENUMBRA_DEX_MAX_PRICE_IMPACT\": \"0.05\",\n        \"PENUMBRA_GOVERNANCE_VOTING_PERIOD\": \"1209600000\",\n        \"PENUMBRA_GOVERNANCE_MIN_DEPOSIT\": \"100000\"\n      }\n    }\n  }\n}\n```\n\nReplace `/path/to/penumbra-mcp` with the actual path where you've installed the server.\n\n### Using the MCP Server\n\nOnce configured, you can interact with Penumbra through Claude using the following tools:\n\n1. Query validator set:\n```\nTell Claude: \"Show me the current Penumbra validator set\"\n```\n\n2. Check chain status:\n```\nTell Claude: \"What's the current status of the Penumbra chain?\"\n```\n\n3. Get transaction details:\n```\nTell Claude: \"Look up Penumbra transaction [HASH]\"\n```\n\n4. View DEX state:\n```\nTell Claude: \"Show me the current Penumbra DEX state\"\n```\n\n5. List governance proposals:\n```\nTell Claude: \"List active Penumbra governance proposals\"\n```\n\n## Development\n\n- `npm run watch`: Watch mode for development\n- `npm run inspector`: Run MCP inspector for testing\n- `npm test`: Run test suite\n\n## Environment Variables\n\n### Node Configuration\n- `PENUMBRA_NODE_URL`: URL of the Penumbra node (default: https://rpc.penumbra.zone)\n- `PENUMBRA_REQUEST_TIMEOUT`: HTTP request timeout in milliseconds (default: 30000)\n- `PENUMBRA_REQUEST_RETRIES`: Number of request retries (default: 5)\n\n### Chain Configuration\n- `PENUMBRA_NETWORK`: Network to connect to (default: mainnet)\n- `PENUMBRA_CHAIN_ID`: Chain ID (default: penumbra-1)\n- `PENUMBRA_BLOCK_TIME`: Block time in milliseconds (default: 6000)\n- `PENUMBRA_EPOCH_DURATION`: Number of blocks per epoch (default: 100)\n\n### DEX Configuration\n- `PENUMBRA_DEX_BATCH_INTERVAL`: Batch auction interval in milliseconds (default: 60000)\n- `PENUMBRA_DEX_MIN_LIQUIDITY`: Minimum liquidity amount (default: 1000)\n- `PENUMBRA_DEX_MAX_PRICE_IMPACT`: Maximum price impact as decimal (default: 0.05)\n\n### Governance Configuration\n- `PENUMBRA_GOVERNANCE_VOTING_PERIOD`: Voting period duration in milliseconds (default: 1209600000 - 14 days)\n- `PENUMBRA_GOVERNANCE_MIN_DEPOSIT`: Minimum proposal deposit amount (default: 100000)\n\n## Architecture\n\nThe 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.\n\n### Privacy Considerations\n\nAll interactions respect Penumbra's privacy-preserving design:\n- Shielded transactions\n- Private staking operations\n- Sealed-bid batch auctions\n- Anonymous governance voting\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nISC\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmorphism%2Fpenumbra-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbmorphism%2Fpenumbra-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbmorphism%2Fpenumbra-mcp/lists"}