# @chaindaddy/mcp

Search tokens, check registrations, and run a Chain Daddy creator store from your agent.

- **Type:** MCP server
- **Trust:** 60/100 (B), scored on the package rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 0.6.2
- **Author:** io.chaindaddy
- **License:** MIT
- **npm:** @chaindaddy/mcp
- **Endpoints:** streamable-http https://api.chaindaddy.io/mcp
- **Source:** https://gitlab.com/opencrown/chaindaddy-mcp
- **Endpoint health:** reachable (last checked 2026-10-10T00:47:48.425Z, 1 sample) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

60/100 (B), scored on the package rubric
- Publisher verified: no
- Build provenance: verified attestation
- Install scripts: nothing suspicious found
- Prompt-injection scan: not run
- Obfuscation scan: not run
- Evidence age: 3 days

## Security scan

- **Status:** clean
- **Scanned:** 2026-10-10T07:01:44.492Z
- **Version scanned:** 0.6.2
- **CVEs:** none found by OSV at scan time

## Tools

40 declared. Statically extracted from the shipped source — a floor on the surface, not a census.
- `get_auth_nonce` — Step 1 of authentication. Fetches a server-issued nonce the caller must embed in the SIWE/SIWS message before signing. Params: none Returns: {nonce: string} Err
- `authenticate` — Step 2 of authentication. Exchanges a signed SIWE/SIWS message for a session bound to a backend JWT. Call get_auth_nonce first and embed the nonce in the messag
- `get_session` — Get the current session status for a session token. Returns authentication state, wallet, chain type, and expiry. Params: session_token (string) Returns: {authe
- `search_symbol` — Search for a crypto ticker symbol across all supported chains. Returns availability status, existing tokens, market data, and crown ownership.
- `get_token` — Get detailed information about a token on a specific chain including crown status, market data, and metadata.
- `get_crown` — Get detailed information about a specific crown by ID. Params: crown_id (string) Returns: {symbol, chain, owner, manager, heartbeat_score, status, metadata, day
- `list_crowns` — List crowns with optional filters. All params optional. Params: owner (string?), chain (string?), status (string?) Returns: {crowns: [{symbol, chain, owner, man
- `get_pricing`
- `get_deployments` — Find the tokens a wallet made on a chain (deployed, owns, or launched) that are not registered yet, and how it qualifies for each. Useful for finding tokens you
- `check_eligibility` — Check if a wallet is eligible to claim a crown for a specific token. Verifies deployer, owner, admin, or majority holder status.
- `check_heartbeat` — Get heartbeat status and activity score for a crown. Score below 60% means at-risk of reclaim.
- `export_listing` — Generate listing data formatted for aggregator platforms (CMC, CoinGecko, DEX Screener, TokenList).
- `get_holders` — Get holder concentration and adversarial-label stats for a crown. Sourced from /api/v2/registration/{id}/holders; data refreshes daily. Params: crown_id (number
- `get_recommendations` — Get AI-powered recommendations for optimizing crown profile, heartbeat, and listing readiness.
- `update_profile`
- `create_order` — Create a pending order with one or more actions. Returns order details with pricing and gas estimates. Order expires after 5 minutes. Params: actions (array of 
- `confirm_order` — Confirm and execute a pending order. Triggers all actions in the order. Cannot be undone. Params: order_id (string), session_token (string) Returns: {results: [
- `cancel_order` — Cancel a pending order. Only works on orders that have not been confirmed. Params: order_id (string), session_token (string) Returns: {cancelled: true} Errors: 
- `deploy_token` — Deploy a single token on a single chain. Validates parameters and returns an order action spec for inclusion in create_order. Params: name (string), symbol (str
- `list_launch_venues`
- `claim_crown` — Claim a crown for a specific token on a specific chain. Requires verified ownership. Returns an order action spec for inclusion in create_order. Params: symbol 
- `generate_listing` — Generate a listing for one aggregator format using crown data. Params: crown_id (string), format ('coingecko'|'coinmarketcap'|'dexscreener'|'tokenlist') Returns
- `find_inactive` — Find inactive crowns that are eligible for reclaim. All params optional. Params: symbol (string?), chain (string?), min_market_cap (number?) Returns: {inactive_
- `search_symbols` — Search for symbols across all supported chains. Returns availability, market data, and crown status. Params: query (string), chain (string?), status (string?) R
- `iap_open_store`
- `iap_list_stores` — List the creator stores you manage, optionally filtered to one token page. Each entry's id is the store_id the other iap_ tools take. Params: page? (the token p
- `iap_list_skus` — List a store's SKUs, including drafts and archived ones. Params: store_id, session_token? Returns: {entries: Sku[]} (price is base units of the SKU's currency —
- `iap_create_sku`
- `iap_update_sku` — Update a SKU's fields (partial). Set status 'active' to put a draft on sale, 'archived' to take it off. Setting `price` clears a dollar price (and its bounds); 
- `iap_list_orders` — List a store's orders, newest first. Statuses: pending (awaiting payment), paid (seen on chain, confirming), confirmed (items granted, receipt issued), expired,
- `iap_create_order`
- `iap_get_order`
- `iap_open_test_store`
- `iap_test_pay`
- `iap_refund_order`
- `iap_get_entitlements`
- `iap_grant`
- `iap_consume`
- `iap_revoke`
- `iap_create_drop`

## Install

**Verdict: review** — Installable, but 1 thing to check first: No publisher has proved control of this listing; it is indexed, not vouched for.
**Cautions** (coverage gaps and advisories — never blocking)
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Config** (claude-code):
```json
"{\n  \"mcpServers\": {\n    \"mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@chaindaddy/mcp\"\n      ],\n      \"env\": {\n        \"CHAINDADDY_API_KEY\": \"<YOUR_CHAINDADDY_API_KEY>\",\n        \"CHAINDADDY_IAP_KEY\": \"<YOUR_CHAINDADDY_IAP_KEY>\"\n      }\n    }\n  }\n}"
```
**Credentials it will ask for** (names only — Forge never holds a value):
- `CHAINDADDY_API_KEY` — Chaindaddy API Key (required)
- `CHAINDADDY_IAP_KEY` — Chaindaddy Iap Key (optional)
Placeholders only. Forge never holds, brokers, or transmits a credential value — replace each <YOUR_NAME> in your own config file. Do not send a value back to Forge; no Forge endpoint accepts one.
- This entry needs 2 credentials (1 required). The generated config carries placeholders, so it will fail in the editor rather than at runtime if they are left unset.

## Blast radius

Extensive blast radius — deletes data; runs locally and hosted.
- Floor 58, ceiling 58 (tier: extensive)
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/%40chaindaddy%2Fmcp
- Install plan: https://forgeregistry.com/api/v1/packages/%40chaindaddy%2Fmcp/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/%40chaindaddy%2Fmcp
- HTML page: https://forgeregistry.com/registry/%40chaindaddy%2Fmcp
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
