MAD Synapse · Bundle Forensics

Who is behind a launch: bundles, insiders, airdrops, serial devs. Solana pump.fun + 18 EVM chains.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
20%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin bundle_forensics
  • MEDIUMTool description contains URL to non-standard domainin bundler_profile
  • MEDIUMTool description contains URL to non-standard domainin creator_launches
  • MEDIUMTool description contains URL to non-standard domainin evm_bundle_forensics

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,184Tokens (tool definitions)
~4.9 KBTypical response size
Significant attention impact (2.49% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "synapse-forensics": {
      "url": "https://agent.maddegen.art/hub/mcp/forensics"
    }
  }
}

Remote endpoints

https://agent.maddegen.art/hub/mcp/forensicsstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢bundle_forensics(mint)

Who bundled a Solana pump.fun launch: every block-0 wallet labelled sniper bot / bundle / dev-linked, supply bought and still held, holders who got tokens by transfer, serial-dev check, top-10 concentration, RugCheck — plus a back-tested skip/pass verdict. The rug guard MAD snipers use before every buy. Skip rules were tested on 2,221 real caller calls (held-out: stop-outs 10%→5%, rugs 16%→11%): creator launched another coin in the prior 24 h; top-10 wallets >35%; block-0 wallets that also bundled this creator's earlier launches; block-0 buys >20% of supply. Extra flags: RugCheck danger risks, insider wallets >15%, and >10% held by wallets that never bought on the curve (tokens moved in by transfer, the layered-bundle pattern of launch tools like Proxima). "ok:true" means no red flags were found, not that the coin is safe. When to use: To see WHO bundled a launch and get the skip/pass rug guard MAD snipers use; for a scored launch verdict use launch_scan (on the MAD Synapse · Wallets & Risk server, https://agent.maddegen.art/hub/mcp/risk). Price: $0.003 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input Schema

{
  "type": "object",
  "properties": {
    "mint": {
      "type": "string",
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
      "description": "Solana token mint (pump.fun launches get the full bundle view) Base58 Solana address, 32-44 chars."
    }
  },
  "required": [
    "mint"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "verdict": {
      "type": [
        "string",
        "null"
      ]
    },
    "mint": {
      "type": [
        "string",
        "null"
      ]
    },
    "ok": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "reasons": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "warn": {
      "type": "array"
    },
    "dev": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "wallet": {
          "type": [
            "string",
            "null"
          ]
        },
        "launches24h": {
          "type": [
            "number",
            "null"
          ]
        },
        "launches7d": {
          "type": [
            "number",
            "null"
          ]
        },
        "sold": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "boughtPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "heldPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "graduated": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "age": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "bundle": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "known": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "wallets": {
          "type": [
            "number",
            "null"
          ]
        },
        "pct": {
          "type": [
            "number",
            "null"
          ]
        },
        "heldPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "bundlePct": {
          "type": [
            "number",
            "null"
          ]
        },
        "bundleHeldPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "devLinked": {
          "type": [
            "number",
            "null"
          ]
        },
        "bots": {
          "type": [
            "number",
            "null"
          ]
        },
        "list": {
          "type": "array"
        }
      }
    },
    "holders": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "top10": {
          "type": [
            "number",
            "null"
          ]
        },
        "top": {
          "type": "array",
          "items": {
            "type": [
              "object",
              "null"
            ],
            "properties": {}
          }
        },
        "source": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "rugcheck": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "score": {
          "type": [
            "number",
            "null"
          ]
        },
        "risks": {
          "type": "array",
          "items": {
            "type": [
              "object",
              "null"
            ],
            "properties": {}
          }
        },
        "insiderNetworks": {
          "type": [
            "number",
            "null"
          ]
        },
        "insiderPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "transferHolderPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "transferHolders": {
          "type": "array",
          "items": {
            "type": [
              "object",
              "null"
            ],
            "properties": {}
          }
        },
        "creatorTokens": {
          "type": [
            "number",
            "null"
          ]
        },
        "top10": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "ms": {
      "type": [
        "number",
        "null"
      ]
    },
    "swap_url": {}
  }
}
🟢bundler_profile(wallet, limit)

Is this Solana wallet a bundler? Every pump.fun launch it bought in the first 2 slots over the last 10 days, which creators it keeps bundling for, and whether it is a mass sniper bot or a dev's private bundle wallet. From our block-0 registry of every pump.fun launch (non-creator buys in slots 0–1 after creation). kind: "sniper bot" (≥50 launches in 7 days, buys everything), "dev wallet" (most of its block-0 buys are on one or two creators' coins — a private bundle wallet), "bundler", or "not seen". Use it on wallets bundle_forensics lists, or on any wallet you are about to copy. When to use: To check one wallet from bundle_forensics (sniper bot vs a dev's private bundle wallet); for trading performance use pump_wallet (on the MAD Synapse · Pump & LP server, https://agent.maddegen.art/hub/mcp/pump). Price: $0.002 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input Schema

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": "string",
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
      "description": "Solana wallet. Base58 Solana address, 32-44 chars."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25,
      "description": "Range 1-100. Default 25."
    }
  },
  "required": [
    "wallet"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "wallet": {
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "type": [
        "string",
        "null"
      ]
    },
    "block0_launches_10d": {
      "type": [
        "number",
        "null"
      ]
    },
    "block0_launches_7d": {
      "type": [
        "number",
        "null"
      ]
    },
    "distinct_creators": {
      "type": [
        "number",
        "null"
      ]
    },
    "own_launches_10d": {
      "type": [
        "number",
        "null"
      ]
    },
    "top_creators": {
      "type": "array"
    },
    "sol_spent_10d": {
      "type": [
        "number",
        "null"
      ]
    },
    "recent": {
      "type": "array"
    },
    "window": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
🟢creator_launches(creator, limit)

Every pump.fun coin a Solana wallet created in the last 10 days, how many graduated, and the wallets that bundle its launches again and again (its private bundle crew). Serial launchers (more than one coin a day) are the strongest rug signal in our tests: calls on coins whose creator launched another coin in the prior 24 h averaged −11% vs −5% after costs. Repeat block-0 wallets across a creator's launches are its own bundle wallets. When to use: For a dev's launch count and its repeat bundle crew; for graduation stats use pump_dev (on the MAD Synapse · Pump & LP server, https://agent.maddegen.art/hub/mcp/pump). Price: $0.002 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input Schema

{
  "type": "object",
  "properties": {
    "creator": {
      "type": "string",
      "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$",
      "description": "creator (dev) wallet. Base58 Solana address, 32-44 chars."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 25,
      "description": "Range 1-100. Default 25."
    }
  },
  "required": [
    "creator"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "creator": {
      "type": [
        "string",
        "null"
      ]
    },
    "launches_10d": {
      "type": [
        "number",
        "null"
      ]
    },
    "launches_24h": {
      "type": [
        "number",
        "null"
      ]
    },
    "graduated": {
      "type": [
        "number",
        "null"
      ]
    },
    "serial": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "verdict": {
      "type": [
        "string",
        "null"
      ]
    },
    "bundle_crew": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "wallet": {
            "type": [
              "string",
              "null"
            ]
          },
          "launches_bundled": {
            "type": [
              "number",
              "null"
            ]
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "launches": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "mint": {
            "type": [
              "string",
              "null"
            ]
          },
          "launched": {
            "type": [
              "string",
              "null"
            ]
          },
          "graduated": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      }
    }
  }
}
🟢evm_bundle_forensics(chain, token)

Who bundled an EVM token launch (Base, BSC, Ethereum, Arbitrum, Robinhood and 13 more): creation-tx airdrops to fake holders, first-seconds buys, scripted fixed-cadence buying, fresh-wallet and transfer-only holders, dev holdings, exchange-labelled holders, GoPlus contract flags — plus a skip/pass verdict. Replays every ERC-20 Transfer of the token from its first mint on the public RPC, so for young tokens (Base ~4 days, BSC ~6 h of history in budget) holder balances, buys and wallet-to-wallet hand-offs are exact. Launchpads (Four.meme, Uniswap v4 PoolManager, v2/v3 pairs from Dexscreener) are detected; vault/locker contracts that never bought are kept out of the wallet rules, while contracts that DID buy (smart wallets, bundler contracts) count as wallets. Older tokens fall back to GoPlus holders with 527 exchange wallets named. Skip rules: GoPlus honeypot/tax>10%/owner powers; top-10 wallets >35%; first ~2 s of buys >20%; >10% held by wallets that never bought; creation tx airdropping ≥10 wallets or >10%; scripted buying (≥5 buys ≥1% at a regular cadence taking ≥15%); fresh wallets / buyer contracts >15%. Heuristic on EVM (mirrors the back-tested Solana guard); "pass" is not a safety promise. When to use: Bundles and who holds an EVM token launch (Base/BSC first-class); for contract-only flags use evm_token_security (on the MAD Synapse · Wallets & Risk server, https://agent.maddegen.art/hub/mcp/risk). Price: $0.005 per call (10 free/day; after that a payment-required result lists x402 options). Errors: returns isError with a message for invalid input or an upstream failure (not charged).

Input Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": "string",
      "enum": [
        "ethereum",
        "base",
        "arbitrum",
        "optimism",
        "polygon",
        "bsc",
        "avalanche",
        "linea",
        "blast",
        "scroll",
        "gnosis",
        "sonic",
        "unichain",
        "mantle",
        "berachain",
        "hyperevm",
        "monad",
        "robinhood"
      ],
      "default": "base",
      "description": "EVM chain: ethereum, base, arbitrum, optimism, polygon, bsc, avalanche, linea, blast, scroll, gnosis, sonic, unichain, mantle, berachain, hyperevm, monad, robinhood. One of \"ethereum\", \"base\", \"arbitrum\", \"optimism\", \"polygon\", \"bsc\", \"avalanche\", \"linea\", \"blast\", \"scroll\", \"gnosis\", \"sonic\", \"unichain\", \"mantle\", \"berachain\", \"hyperevm\", \"monad\", \"robinhood\". Default \"base\"."
    },
    "token": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "ERC-20 token contract address. 0x + 40 hex chars."
    }
  },
  "required": [
    "chain",
    "token"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "chain": {
      "type": [
        "string",
        "null"
      ]
    },
    "token": {
      "type": [
        "string",
        "null"
      ]
    },
    "symbol": {
      "type": [
        "string",
        "null"
      ]
    },
    "ok": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "verdict": {
      "type": [
        "string",
        "null"
      ]
    },
    "reasons": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "warn": {
      "type": "array"
    },
    "launch": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "mint_block": {
          "type": [
            "number",
            "null"
          ]
        },
        "open_block": {
          "type": [
            "number",
            "null"
          ]
        },
        "block_time_s": {
          "type": [
            "number",
            "null"
          ]
        },
        "age_min": {
          "type": [
            "number",
            "null"
          ]
        },
        "dev": {
          "type": [
            "string",
            "null"
          ]
        },
        "minter": {
          "type": [
            "string",
            "null"
          ]
        },
        "launchpad": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "supply": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "total": {
          "type": [
            "string",
            "null"
          ]
        },
        "decimals": {
          "type": [
            "number",
            "null"
          ]
        },
        "dev_held_pct": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "holders": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "exact": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "contract_held_pct": {
          "type": [
            "number",
            "null"
          ]
        },
        "count": {
          "type": [
            "number",
            "null"
          ]
        },
        "top10_pct": {
          "type": [
            "number",
            "null"
          ]
        },
        "transfer_held_pct": {
          "type": [
            "number",
            "null"
          ]
        },
        "fresh_wallet_held_pct": {
          "type": [
            "number",
            "null"
          ]
        },
        "top": {
          "type": "array",
          "items": {
            "type": [
              "object",
              "null"
            ],
            "properties": {}
          }
        }
      }
    },
    "bundle": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "first_seconds": {
          "type": [
            "number",
            "null"
          ]
        },
        "wallets": {
          "type": [
            "number",
            "null"
          ]
        },
        "bought_pct": {
          "type": [
            "number",
            "null"
          ]
        },
        "still_held_pct": {
          "type": [
            "number",
            "null"
          ]
        },
        "list": {
          "type": "array",
          "items": {
            "type": [
              "object",
              "null"
            ],
            "properties": {}
          }
        },
        "creation_airdrop": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "wallets": {
              "type": [
                "number",
                "null"
              ]
            },
            "contracts": {
              "type": [
                "number",
                "null"
              ]
            },
            "pct": {
              "type": [
                "number",
                "null"
              ]
            }
          }
        },
        "scripted": {}
      }
    },
    "contract": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "flags": {
          "type": "array"
        },
        "owner": {},
        "creator": {},
        "buy_tax": {
          "type": [
            "string",
            "null"
          ]
        },
        "sell_tax": {
          "type": [
            "string",
            "null"
          ]
        },
        "open_source": {
          "type": [
            "boolean",
            "null"
          ]
        }
      }
    },
    "pools": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "dex": {
            "type": [
              "string",
              "null"
            ]
          },
          "pair": {
            "type": [
              "string",
              "null"
            ]
          },
          "liquidity_usd": {
            "type": [
              "number",
              "null"
            ]
          },
          "created": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "transfers_replayed": {
      "type": [
        "number",
        "null"
      ]
    },
    "ms": {
      "type": [
        "number",
        "null"
      ]
    },
    "note": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools