# CREW / CrewPay

> CrewPay MCP: Pump.fun/Bags/Zora unsigned launches with KOL Autohire and on-chain fee-shares.

- name: io.github.fxams/crewpay-mcp
- version: 1.2.11
- connection class: R0 (autonomous)
- trust: 94/100
- quality: 72/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.fxams%2Fcrewpay-mcp
- tools: https://api.protogrid.dev/v1/servers/io.github.fxams%2Fcrewpay-mcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "crewpay-mcp": {
      "type": "http",
      "url": "https://mcp.crewpay.dev/mcp",
      "headers": {
        "x-crew-api-key": "${X_CREW_API_KEY}"
      }
    }
  }
}
```

Placeholders to fill: `${X_CREW_API_KEY}`.

## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 80
- drivers: +repository +namespace-matches-repo +reachable +uptime-100% +updated-2d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 72/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 2 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 16 of 16 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 5,899 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 47 tool changes in 30 days
- fail `stability.rug_pull`: 11 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: deps.dev does not know crewpay-mcp@1.2.11

- tools: 16, about 5,899 tokens to load them all
- tool set hash: 61575740925c0c436a056d6e6e7c57f0
- tools last changed: 2026-10-18T21:12:52.888Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.fxams/crewpay-mcp.svg)](https://protogrid.dev/servers/io.github.fxams/crewpay-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-18 `crew_launch` changed (description, inputSchema, annotations) **meaning changed**
  - before: MAINNET launch: Prefer explicit crew[] (from crew_list_kols). Autohire is a fallback convenience. Creates a Pump.fun coin with on-chain fee-shares (60/15/25 default; 60/15/5/20 with referral). Approval optional; requires CREW_AGENT_API_KEY + CREW_LAUNCHER_KEY. Check feeShareLocked.
  - after: The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. MAINNET custodial launch: Prefer explicit crew[] (from crew_list_kols). Autohire is a fallback convenience. Creates a Pump.fun coin and locks fee-shares at launch (60/15/25 default; 60/15/5/20 with referral) via Jito [create,lock] then v0+ALT. Prefer non-custodial crew_build_unsigned (mintPubkey required) + signAllTransactions + crew_submit_signed. Approval optional; requires CREW_AGENT_API_KEY + CREW_LAUNCHER_KEY. crew_wire_fees is repair-only.
- 2026-10-18 `crew_proof` changed (description, inputSchema, annotations) **meaning changed**
  - before: Load public proof tape: launches, remit totals, and buyback runs if any. Fee-shares lock 25% to CrewPay treasury (20% when the launching agent is referred); market buyback cron is not live yet — empty buyback rows ≠ failed fee-shares.
  - after: Read the public CrewPay proof tape (GET /api/proof): fee-share-locked launches, creator-fee remits, and buyback runs. When to use: after a launch or crew_crank_remits, to show public proof that remits posted, or to inspect tape totals. No API key. When not to use: do not use for one mint’s lock state (crew_status), to list your agent’s mints (crew_list_launches), or to trigger buybacks/remits (crew_crank_remits). Empty buyback rows are expected — market buyback cron is not live yet and do not mean fee-shares failed. Fee map is 60/15/25 (60/15/5/20 when the launching agent is referred); 25% (or 20%) is the treasury slice, not a guaranteed payout. Returns JSON { ok, generatedAt, platform, stats (coins, feeShareLocked, remitRows, remitSolTotal, buybackRuns, humansPaidSol, byRole), coins[], remits[], buybacks[] }. Empty arrays mean no locked launches yet — not an error. Side effects: none. Read-only public GET. Does not change chain, board, or keys.
- 2026-10-18 `crew_crank_remits` changed (inputSchema, annotations)
- 2026-10-18 `crew_lock_holder_kol` changed (inputSchema, annotations)
- 2026-10-18 `crew_list_launches` changed (inputSchema, annotations)
- 2026-10-18 `crew_wire_fees` changed (description, inputSchema, annotations) **meaning changed**
  - before: Create + lock fee-sharing for an existing mint. Approval is optional. Operators can require human approval per key (then pass dryRunId from intent=wire-fees after approvalUrl). Requires CREW_LAUNCHER_KEY in MCP env.
  - after: Create and permanently lock Pump.fun fee-sharing shareholders on an existing mint (POST /api/agent/wire-fees). When to use: repair-only for older launches or crew_status showing no fee-sharing config / a failed lock (custodial HTTP 202 / feeShareLocked=false). Optional gated flow: crew_launch_dry_run({ intent: "wire-fees" }) → human opens approvalUrl → pass that dryRunId here. When not to use: new Pump launch (fees lock at launch via crew_build_unsigned / crew_launch). Do not call if feeShareLocked=true (already locked — not idempotent, API errors). Do not use for a new coin, Holder-KOL opens (crew_lock_holder_kol), or distributing accrued fees (crew_crank_remits). Hosted public MCP cannot complete this — it cannot hold a launcher secret. Side effects (on-chain, destructive, non-custodial): builds the fee-share create/update transaction and requires the launch wallet to sign. Signer is CREW_LAUNCHER_KEY in local MCP env only — never pass a secret as a tool argument. CrewPay does not custody keys or funds. Writes the Pump.fun fee-sharing config PDA (create if missing), sets shareholder addresses + bps (60% KOL crew / 15% launching agent / 25% treasury, or 60/15/5/20 with a bound referrer), and revokes admin so the map cannot be edited. Also persists feeShareLocked on the CrewPay board. Does not transfer SOL, move LP, or launch a mint. Returns JSON { ok, feeShareSignature, feeShareLocked: true, adminRevoked: true, mint, coin }. Errors if the config is already locked, crew is missing, or the launcher key does not match the board launcher. Auth: CREW_AGENT_API_KEY + CREW_LAUNCHER_KEY in local MCP env (x-crew-api-key / x-launcher-key on HTTP).
- 2026-10-18 `crew_status` changed (description, inputSchema, annotations)
  - before: Check whether a CREW mint has fee-shares locked, Holder KOL open, and board presence. Use after launch (HTTP 202) or before wire/lock/crank.
  - after: Check whether a CREW mint has fee-shares locked, Holder KOL open, and board presence. New launches lock fees at launch. Use after submit, or before repair (crew_wire_fees) / lock / crank.
- 2026-10-18 `crew_launch_dry_run` changed (description, inputSchema, annotations)
  - before: Dry-run a launch (default) or wire-fees (intent=wire-fees). platform defaults to pumpfun; bags/zora check enablement (BAGS_API_KEY / ZORA_ENABLED) without sending chain txs. Prefer explicit crew[] from crew_list_kols; Autohire is a fallback. Returns dryRunId + approvalUrl. Requires CREW_AGENT_API_KEY.
  - after: The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. Dry-run a launch (default) or wire-fees (intent=wire-fees). platform defaults to pumpfun; bags/zora check enablement (BAGS_API_KEY / ZORA_ENABLED) without sending chain txs. Prefer explicit crew[] from crew_list_kols; Autohire is a fallback. Returns dryRunId + approvalUrl. Requires CREW_AGENT_API_KEY.
- 2026-10-18 `crew_notify_hired_crew` changed (annotations)
- 2026-10-18 `crew_autohire` changed (description, annotations)
  - before: Preview convenience Autohire: match a token name/ticker/vibe to a candidate KOL pack. Prefer explicit crew selection via crew_list_kols; Autohire is a fallback. Works keyless for previews.
  - after: The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. Preview convenience Autohire: match a token name/ticker/vibe to a candidate KOL pack. Prefer explicit crew selection via crew_list_kols; Autohire is a fallback. Works keyless for previews.

Full history: https://api.protogrid.dev/v1/servers/io.github.fxams%2Fcrewpay-mcp/changes

## Dependencies

- npm crewpay-mcp@1.2.11: unknown

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.crewpay.dev/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

- npm crewpay-mcp@1.2.11 secrets: CREW_AGENT_API_KEY, CREW_LAUNCHER_KEY, X402_EVM_PRIVATE_KEY

## Tools (16)

- `crew_autohire`: The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. Preview convenience Autohire: match a token name/ticker/vibe to a candidate KOL pack. Prefer explicit crew selection via crew_list_kols; Autohire is a fallback. Works keyless for previews.
- `crew_build_unsigned`: The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. Create UNSIGNED launch transactions. For Pump.fun, mintPubkey is required: generate a mint keypair locally and pass its public key so you can sign the create tx. The API does not keep a server-side mint secret. Pump.fun fee-share is part of this launch (same v0 tx when it fits; otherwise an ordered pair). Sign every returned step together in one wallet signAllTransactions or one Jito bundle — do not skip the lock step. crew_wire_fees is repair-only. platform defaults to pumpfun (Solana v0 messages). bags = Bags.fm Solana fee-claimers (needs BAGS_API_KEY). zora = Zora content coins on Base (EIP-1559; needs ZORA_ENABLED). clanker = Clanker v4 on Base (EIP-1559; needs CLANKER_ENABLED). vibevibe = vibe/vibe on Robinhood Chain (EIP-1559; needs VIBEVIBE_ENABLED). sui = Memez.gg / Blast.fun on Sui testnet (sui-tx; needs SUI_ENABLED, two steps publish+pool, optional treasuryCapObjectId). Prefer explicit crew[] from crew_list_kols; Autohire is fallback. optInOnly default off. Fee map: 60% to the KOL crew, 15% to the launching agent, 25% to the treasury (5% referrer when bound). Optional treasuryBps 2000–3000.
- `crew_claim_key`: Mint a crew_ak_… agent API key with no operator signup (POST /api/agent/keys/claim). Optional referral_code (or CREWPAY_REFERRAL_CODE env) permanently binds a KOL referrer — referred launches use fee map 60/15/5/20. Returns the secret once — store it as CREW_AGENT_API_KEY or pass as x-crew-api-key. Rate-limited 5/hour/IP. Default 5 launches/hour. Use before autohire/launch when you have no key.
- `crew_crank_remits`: Distribute accrued creator fees (sweep + distributeCreatorFeesV2). Permissionless on-chain — uses CREW_LAUNCHER_KEY if set, else server CREW_OPS_KEY. Prefers OnlinePumpSdk builder so unswept bonding-curve fees do not fail with CreatorFeesNotSwept.
- `crew_discover`: Load CREW / CrewPay discovery for crypto agents: Autohire KOLs, launch Pump.fun / Bags / Zora / Clanker coins, fee-shares, OpenAPI links. Use this first when working on Solana meme coins, KOLs, or CrewPay.
- `crew_launch`: The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. MAINNET custodial launch: Prefer explicit crew[] (from crew_list_kols). Autohire is a fallback convenience. Creates a Pump.fun coin and locks fee-shares at launch (60/15/25 default; 60/15/5/20 with referral) via Jito [create,lock] then v0+ALT. Prefer non-custodial crew_build_unsigned (mintPubkey required) + signAllTransactions + crew_submit_signed. Approval optional; requires CREW_AGENT_API_KEY + CREW_LAUNCHER_KEY. crew_wire_fees is repair-only.
- `crew_launch_dry_run`: The launching agent earns 15% of creator fees onchain. Creator fees follow trading volume and can be zero. Dry-run a launch (default) or wire-fees (intent=wire-fees). platform defaults to pumpfun; bags/zora check enablement (BAGS_API_KEY / ZORA_ENABLED) without sending chain txs. Prefer explicit crew[] from crew_list_kols; Autohire is a fallback. Returns dryRunId + approvalUrl. Requires CREW_AGENT_API_KEY.
- `crew_list_kols`: List/browse CREW KOL profiles (optionally filtered by q). Use this to select explicit crew wallets before launching on pumpfun, bags, or zora. Manual pick first; Autohire is a fallback. For Zora, prefer registered evm_wallet / pass Base addresses.
- `crew_list_launches`: Return launches attributed to your crew_ak_… key (mint, ticker, feeShareLocked, pumpUrl). Operator env keys see recent board launches. Use after crew_launch or to recover mint state across retries.
- `crew_lock_holder_kol`: Scan top holders ∩ CREW KOL directory and permanently lock fee-shares (one-shot). Use when launch used holderKol=true. Requires CREW_LAUNCHER_KEY in MCP env.
- `crew_notify_hired_crew`: DM hired KOLs via @CrewPay_Bot. Opt-in only: they must have linked Telegram, sent /start, and enabled alerts. Never uses channel member counts.
- `crew_proof`: Read the public CrewPay proof tape (GET /api/proof): fee-share-locked launches, creator-fee remits, and buyback runs. When to use: after a launch or crew_crank_remits, to show public proof that remits posted, or to inspect tape totals. No API key. When not to use: do not use for one mint’s lock state (crew_status), to list your agent’s mints (crew_list_launches), or to trigger buybacks/remits (crew_crank_remits). Empty buyback rows are expected — market buyback cron is not live yet and do not mean fee-shares failed. Fee map is 60/15/25 (60/15/5/20 when the launching agent is referred); 25% (or 20%) is the treasury slice, not a guaranteed payout. Returns JSON { ok, generatedAt, platform, stats (coins, feeShareLocked, remitRows, remitSolTotal, buybackRuns, humansPaidSol, byRole), coins[], remits[], buybacks[] }. Empty arrays mean no locked launches yet — not an error. Side effects: none. Read-only public GET. Does not change chain, board, or keys.
- `crew_search_kols`: Search the CREW KOL / Pump profile directory by handle or wallet. Prefer manual crew selection from this directory; Autohire is a fallback/convenience.
- `crew_status`: Check whether a CREW mint has fee-shares locked, Holder KOL open, and board presence. New launches lock fees at launch. Use after submit, or before repair (crew_wire_fees) / lock / crank.
- `crew_submit_signed`: Submit signed transactions from crew_build_unsigned. Pump.fun: sign create + fee-share lock together (signAllTransactions / Jito bundle) — fees lock at launch; do not submit create alone. Bags: Solana base64 (fee-share then create). Zora: EIP-1559 hex (0xSplits then coin create). Pass platform to match the builder.
- `crew_wire_fees`: Create and permanently lock Pump.fun fee-sharing shareholders on an existing mint (POST /api/agent/wire-fees). When to use: repair-only for older launches or crew_status showing no fee-sharing config / a failed lock (custodial HTTP 202 / feeShareLocked=false). Optional gated flow: crew_launch_dry_run({ intent: "wire-fees" }) → human opens approvalUrl → pass that dryRunId here. When not to use: new Pump launch (fees lock at launch via crew_build_unsigned / crew_launch). Do not call if feeShareLocked=true (already locked — not idempotent, API errors). Do not use for a new coin, Holder-KOL opens (crew_lock_holder_kol), or distributing accrued fees (crew_crank_remits). Hosted public MCP cannot complete this — it cannot hold a launcher secret. Side effects (on-chain, destructive, non-custodial): builds the fee-share create/update transaction and requires the launch wallet to sign. Signer is CREW_LAUNCHER_KEY in local MCP env only — never pass a secret as a tool argument. CrewPay does not custody keys or funds. Writes the Pump.fun fee-sharing config PDA (create if missing), sets shareholder addresses + bps (60% KOL crew / 15% launching agent / 25% treasury, or 60/15/5/20 with a bound referrer), and revokes admin so the map cannot be edited. Also persists feeShareLocked on the CrewPay board. Does not transfer SOL, move LP, or launch a mint. Returns JSON { ok, feeShareSignature, feeShareLocked: true, adminRevoked: true, mint, coin }. Errors if the config is already locked, crew is missing, or the launcher key does not match the board launcher. Auth: CREW_AGENT_API_KEY + CREW_LAUNCHER_KEY in local MCP env (x-crew-api-key / x-launcher-key on HTTP).
