Browse traits, filter 10,000 punks, view listings and bids, generate Merkle proofs, and access bid pricing for CryptoPunks NFTs.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 1 month ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The lightyear-cryptopunks MCP server exposes 11 tools, focused primarily on general-purpose capabilities. Its published description reads: "Browse traits, filter 10,000 punks, view listings and bids, generate Merkle proofs, and access bid pricing for CryptoPunks NFTs". It communicates over Streamable HTTP using the 2025-06-18 protocol revision, and does not require authorization to connect. MCPGrade currently rates lightyear-cryptopunks F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Cross-tool shadowing" and "Cross-tool shadowing". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check lightyear-cryptopunks's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add lightyear-cryptopunks to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://punks.lightyear.build/api/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
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_
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_
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).
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_pr
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 fil
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`
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:
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_deta
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_
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 t
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,
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: browse_types
A tool description tries to alter the model’s use of another tool.
t — shared with browse_traits, get_punk_details, get_listings, get_floor_pricRecommendationDescriptions must describe only their own tool.
tool: browse_traits
A tool description tries to alter the model’s use of another tool.
t — shared with browse_types, get_punk_details, get_listings, get_floor_pricRecommendationDescriptions must describe only their own tool.
tool: filter_punks
A tool description tries to alter the model’s use of another tool.
t — shared with compute_merkle_root, resolve_merkle_root).RecommendationDescriptions must describe only their own tool.
tool: get_punk_details
A tool description tries to alter the model’s use of another tool.
t — shared with browse_types, browse_traits, get_listings, get_floor_price,RecommendationDescriptions must describe only their own tool.
tool: compute_merkle_root
A tool description tries to alter the model’s use of another tool.
t — shared with filter_punks, resolve_merkle_root).RecommendationDescriptions must describe only their own tool.
tool: get_listings
A tool description tries to alter the model’s use of another tool.
t — shared with browse_types, browse_traits, get_punk_details, get_floor_priRecommendationDescriptions must describe only their own tool.
tool: get_floor_price
A tool description tries to alter the model’s use of another tool.
t — shared with browse_types, browse_traits, get_punk_details, get_listings,RecommendationDescriptions must describe only their own tool.
tool: get_bids_for_punk
A tool description tries to alter the model’s use of another tool.
t — shared with browse_types, browse_traits, get_punk_details, get_listings,RecommendationDescriptions must describe only their own tool.
tool: get_bids_for_merkle_root
A tool description tries to alter the model’s use of another tool.
t — shared with browse_types, browse_traits, get_punk_details, get_listings,RecommendationDescriptions must describe only their own tool.
tool: resolve_merkle_root
A tool description tries to alter the model’s use of another tool.
t — shared with filter_punks, compute_merkle_root).RecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.