Browse traits, filter 10K punks, listings, bids, Merkle roots, and bid pricing for CryptoPunks.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://punks.lightyear.build/api/mcp11 tools · 381msbrowse_typesList 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).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).
No input schema was published for this tool.
browse_traitsList 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).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).
| Parameter | Type | Description |
|---|---|---|
| type | string | Filter counts to a specific type (e.g. 'Male', 'Zombie') |
filter_punksFilter 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).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).
| Parameter | Type | Description |
|---|---|---|
| types | array | Type names to include (e.g. ['Male', 'Zombie']). Empty = all types. |
| includedTraits | array | Traits to include |
| excludedTraits | array | Traits to exclude |
| matchMode | string | 'all' = punk must have every included trait, 'any' = at least one |
get_punk_detailsGet 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).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).
| Parameter | Type | Description |
|---|---|---|
| punkIds* | array | Punk IDs to look up (1-100) |
compute_merkle_rootCompute 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).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).
| Parameter | Type | Description |
|---|---|---|
| punkIds* | array | Punk IDs to include in the Merkle tree (1-10000) |
get_listingsGet 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…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…
| Parameter | Type | Description |
|---|---|---|
| minPriceEth | number | Minimum price in ETH |
| maxPriceEth | number | Maximum price in ETH |
| limit | integer | Max results (default 50) |
| includeRestricted | boolean | Include restricted (onlySellTo) and zero-value listings. Default false — matches get_floor_price. |
get_floor_priceGet 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_listin…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_listin…
No input schema was published for this tool.
get_bids_for_punkGet 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).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).
| Parameter | Type | Description |
|---|---|---|
| punkId* | integer | Punk ID to look up bids for |
| limit | integer | Max bids to return (default 5) |
get_bids_for_merkle_rootGet 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).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).
| Parameter | Type | Description |
|---|---|---|
| merkleRoot* | string | Merkle root (0x-prefixed, 32 bytes hex) |
| limit | integer | Max bids to return (default 5) |
get_bid_recommendationAnalyze 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 lim…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 lim…
| Parameter | Type | Description |
|---|---|---|
| types | array | Type names to filter (e.g. ['Male', 'Zombie']) |
| includedTraits | array | Traits to include |
| excludedTraits | array | Traits to exclude |
| matchMode | string | — |
| punkIds | array | Explicit punk IDs (overrides trait filters) |
resolve_merkle_rootReverse-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…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…
| Parameter | Type | Description |
|---|---|---|
| merkleRoot* | string | Merkle root to resolve (0x-prefixed, 32 bytes hex) |
11 of 11 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Browse traits, filter 10K punks, listings, bids, Merkle roots, and bid pricing for CryptoPunks.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.