# Lightyear CryptoPunks MCP server

Browse traits, filter 10K punks, listings, bids, Merkle roots, and bid pricing for CryptoPunks.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-lightyear-technologies-limited-cryptopunks

## Install
- Endpoint: https://punks.lightyear.build/api/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://punks.lightyear.build/api/mcp

## Tools
- browse_types - List all CryptoPunk type categories with their counts. Rate limit: 10 per 10 min (read bucket — shared with browse_traits, get_punk_details, get_listings, get_floor_price, get_bids_for_punk, get_bids_for_merkle_root). Endpoint: https://punks.lightyear.build/api/mcp
- browse_traits - List all CryptoPunk traits with their counts. Optionally filter by type to see how many punks of that type have each trait. Rate limit: 10 per 10 min (read bucket — shared with browse_types, get_punk_details, get_listings, get_floor_price, get_bids_for_punk, get_bids_for_merkle_root). Endpoint: https://punks.lightyear.build/api/mcp
- filter_punks - Filter CryptoPunks by type and traits. Returns matching punk IDs and their Merkle root. Rate limit: 5 per 10 min (compute bucket — shared with compute_merkle_root, resolve_merkle_root). Endpoint: https://punks.lightyear.build/api/mcp
- get_punk_details - Get metadata for specific CryptoPunks: type, traits with rarity percentages, and permalink. Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_listings, get_floor_price, get_bids_for_punk, get_bids_for_merkle_root). Endpoint: https://punks.lightyear.build/api/mcp
- compute_merkle_root - Compute the Merkle root for a set of CryptoPunk IDs. The root matches the on-chain Solady MerkleProofLib encoding used by the Stash contract. Rate limit: 5 per 10 min (compute bucket — shared with filter_punks, resolve_merkle_root). Endpoint: https://punks.lightyear.build/api/mcp
- get_listings - Get currently listed CryptoPunks from the native marketplace. By default returns only publicly buyable listings (excludes restricted onlySellTo and zero-value entries); pass `includeRestricted: true` to include private bundle sales. Optionally filter by price range. Returns `totalActive` (publicly buyable listings, same denominator as get_floor_price) and `matchedCount` (after your filters). Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_punk_details, get_floor_price, get_bids_for_punk, get_bids_for_merkle_root). Endpoint: https://punks.lightyear.build/api/mcp
- get_floor_price - Get the current floor ask price from the native CryptoPunks marketplace. Excludes restricted (onlySellTo) and zero-value listings. Returns `totalActive` (same denominator as get_listings). Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_punk_details, get_listings, get_bids_for_punk, get_bids_for_merkle_root). Endpoint: https://punks.lightyear.build/api/mcp
- get_bids_for_punk - Get pending EIP-712 bids that include a specific CryptoPunk. Returns bids from the CryptoPunks Bids API. Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_punk_details, get_listings, get_floor_price, get_bids_for_merkle_root). Endpoint: https://punks.lightyear.build/api/mcp
- get_bids_for_merkle_root - Get pending EIP-712 bids matching a specific Merkle root. Useful for seeing competition on a trait-based bid set. Rate limit: 10 per 10 min (read bucket — shared with browse_types, browse_traits, get_punk_details, get_listings, get_floor_price, get_bids_for_punk). Endpoint: https://punks.lightyear.build/api/mcp
- get_bid_recommendation - Analyze market data and recommend a bid price range for a CryptoPunk trait selection. Combines floor price, competing bids, and set composition into actionable guidance. `composition` lists only the traits that define the selection; use `absentTraits` for a full exclusion list when needed. Rate limit: 1 per 1 min (recommend bucket). Endpoint: https://punks.lightyear.build/api/mcp
- resolve_merkle_root - Reverse-engineer a Merkle root back to its punk IDs and inferred trait selection. ONLY works for roots that already have at least one bid in the CryptoPunks Bids API — this tool looks bids up by root, then derives trait config from the resulting punk set. Returns `resolved: false` for unknown roots; constructing a root locally and passing it here will not work. Rate limit: 5 per 10 min (compute bucket — shared with filter_punks, compute_merkle_root). Endpoint: https://punks.lightyear.build/api/mcp

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.Lightyear-Technologies-Limited
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Mar 30, 2026
- Source: https://registry.modelcontextprotocol.io
