Skip to content

xyz.mindjack/mcp

by mindjack.xyz · remote · local (npm) · no sign-in to list tools · v1.4.5 · published by xyz.mindjack

Solana memecoin rug check for trading agents: pump.fun launches, calibrated rug risk, wallets, KOL.

Changes · 15

26 tools: 15 change things and 11 only read.

Scanned Oct 21, 2026

14 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http mindjack https://api.mindjack.xyz/mcp

Findings

Matches of fixed checks, with the text they matched.

14 warn
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
Show 8 more findings
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].mints[0] contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mints[0]: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].mints[1] contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mints[1]: "CuPKnZJ6ut7WR5XGjdZtvLQQJpewHNPTuRyXvC8ThXEq"

    What this check looks for
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].mint contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for
  • The input schema at examples[0].address contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].address: "CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o"

    What this check looks for
  • Warnfetch

    The input schema at examples[0].id contains a 44-character base64 string.

    Matched text

    inputSchema.examples[0].id: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

26 tools

Changes things 15Claude Code: ask
  • can_i_exit[$0.005] Can this token be sold RIGHT NOW, and what does a round trip cost: real Jupiter buy and sell routes at $100 and $1000, and the fraction of your money that survives.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.005] Can this token be sold RIGHT NOW, and what does a round trip cost: real Jupiter buy and sell routes at $100 and $1000, and the fraction of your money that survives. Verdict follows the worst rung: clear / elevated / thin / trapped / blocked. Quotes only, nothing is signed; not cached, takes a few hundred ms.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • check_token[$0.001] Is this Solana token dangerous?1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.001] Is this Solana token dangerous? A calibrated rug verdict whose probability is a MEASURED frequency (see get_scorecard), the concentration facts behind it, and how fast this band tends to collapse. Cheapest call, run it on every token; it decides whether inspect_token, token_identity or token_report is worth paying for. Does not name holders.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • check_wallet[$0.006] One wallet across every token we indexed: launches it appeared in, how many ran, roles it recurs in, realised record.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [$0.006] One wallet across every token we indexed: launches it appeared in, how many ran, roles it recurs in, realised record. Works for any address. kol_record is the per-trade history of tracked KOLs; wallet_network is who this wallet moves with.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • funder_networks[$0.025/page] Funders ranked by how many fresh wallets they seeded across the whole index, each labelled when we know the exchange behind it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [$0.025/page] Funders ranked by how many fresh wallets they seeded across the whole index, each labelled when we know the exchange behind it. A funder inside one token is a line item; across the index it is a desk. A null label with a high count is the shape worth opening.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • kol_leaderboard[$0.02/page] Every tracked KOL wallet, ranked from the recorded trades: lifetime realized SOL, per-token win rate on NET realized SOL, and a recent-activity window.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [$0.02/page] Every tracked KOL wallet, ranked from the recorded trades: lifetime realized SOL, per-token win rate on NET realized SOL, and a recent-activity window. Sort by profit, success or activity. Use to build or refresh a copy-trading watchlist.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • kol_record[$0.02] One tracked KOL in depth: lifetime stats, per-token history from every recorded trade (buys, sells, volume, realized SOL) and the latest trades raw.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].address contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].address: "CyaE1VxvBrahnPWkqm5VsdCvyS2QmNht2UFrKJHga54o"

      What this check looks for
    Description, as the server wrote it
    [$0.02] One tracked KOL in depth: lifetime stats, per-token history from every recorded trade (buys, sells, volume, realized SOL) and the latest trades raw. Untracked addresses answer null and cost nothing; check_wallet covers any wallet.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • test_hypothesis[$0.025] Measure what happened to every indexed launch matching your filters: rug rate against the index base rate, peak-gain percentiles, time to peak, collapse speed.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [$0.025] Measure what happened to every indexed launch matching your filters: rug rate against the index base rate, peak-gain percentiles, time to peak, collapse speed. Answers pattern questions like 'do launches with under 200 holders die faster?'; to shortlist live tokens to act on, use find_tokens instead. filters is {field: {min,max}} over numeric fields listed by get_coverage, e.g. {total_holders: {min: 200}}. Returns cohort aggregates and a one-sentence finding, never per-token rows. Read-only over stored history; measured past, not a forecast.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • token_changes[$0.025] Who sold since we analysed it: reads the chain now and diffs the large positions against what we recorded.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.025] Who sold since we analysed it: reads the chain now and diffs the large positions against what we recorded. Use when a cached read feels stale or to see whether concentrated wallets are exiting. The only call that touches the chain live.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • token_graph[$0.04] The wallet relationship graph behind a token: edges with strength and confidence, cluster membership and role, wash-trading wallets.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.04] The wallet relationship graph behind a token: edges with strength and confidence, cluster membership and role, wash-trading wallets. token_wallets names the holders; this shows how they are CONNECTED and whether a distributed-looking set is one person. Not a first look.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • token_identity[$0.025] Who is BEHIND this token: what its largest holders did in earlier launches, which sibling tokens the same wallets ran and how those ended, and the measured upside band.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.025] Who is BEHIND this token: what its largest holders did in earlier launches, which sibling tokens the same wallets ran and how those ended, and the measured upside band. The decision-point call. Coverage is reported per call; an empty result is free.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • token_price_path[$0.005] What the token did after we called it: peak, drawdown from peak, and where it stands now, at 4-5 second resolution.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.005] What the token did after we called it: peak, drawdown from peak, and where it stands now, at 4-5 second resolution. Our feed starts at analysis; the bonding-curve phase before that is not included.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • token_report[$0.025] check_token + inspect_token + token_identity in one call.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.025] check_token + inspect_token + token_identity in one call. depth="full" ($0.07) adds the outcome path, live sellability and the wallet graph. Cheaper than the parts; use once a token is worth a real look. `fetch` is this call under the name ChatGPT requires.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • token_wallets[$0.005] The NAMED wallets behind one token: insiders, snipers, early buyers, fresh wallets, wash traders and tracked KOLs, each with funder (exchanges named), link count and clust…1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.005] The NAMED wallets behind one token: insiders, snipers, early buyers, fresh wallets, wash traders and tracked KOLs, each with funder (exchanges named), link count and cluster. Lists cap at 100 per class; *_total fields carry real counts. inspect_token gives counts, this gives addresses.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • token_web[$0.04] Earlier launches tied to this token through shared wallets, with the wallets themselves, each launch's outcome and its highest recorded market cap.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.04] Earlier launches tied to this token through shared wallets, with the wallets themselves, each launch's outcome and its highest recorded market cap. Use when token_identity reported shared wallets and you need WHICH launches. token_graph stays inside one token; this crosses tokens.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • wallet_network[$0.025] Who one wallet is wired to across the index: direct counterparts with interaction counts, shared tokens, transfer direction where the chain shows it, plus a bounded second…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    [$0.025] Who one wallet is wired to across the index: direct counterparts with interaction counts, shared tokens, transfer direction where the chain shows it, plus a bounded second hop. check_wallet says what it DID; this says who it MOVES WITH.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
Only reads 11Claude Code: allow
  • compare_tokens[$0.025] Were these tokens run by the same people?2 findings

    Why it is in this group

    • The name "compare_tokens" says "compare": a word for reading.

    Findings

    • Warn

      The input schema at examples[0].mints[0] contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mints[0]: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    • Warn

      The input schema at examples[0].mints[1] contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mints[1]: "CuPKnZJ6ut7WR5XGjdZtvLQQJpewHNPTuRyXvC8ThXEq"

      What this check looks for
    Description, as the server wrote it
    [$0.025] Were these tokens run by the same people? Give 2-4 mints and get the wallets appearing in more than one, each with the role it played in each. Weigh the roles rather than the count: shared holders are common, a wallet that was an insider in one and a sniper in the next is not. Mints outside our index come back named in not_covered.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • fetch[$0.025] ChatGPT entry point: everything we hold on one token as one document: the calibrated verdict with its measured hit rate, who holds it and how they connect, and whether it …1 finding

    Why it is in this group

    • The name "fetch" says "fetch": a word for reading.

    Findings

    • Warn

      The input schema at examples[0].id contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].id: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.025] ChatGPT entry point: everything we hold on one token as one document: the calibrated verdict with its measured hit rate, who holds it and how they connect, and whether it can still be sold. Takes an id from `search`. Same endpoint and price as token_report, which other clients should call.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • find_serial_insiders[$0.025 per 25] Wallets that keep turning up as insiders across the whole index.No findings

    Why it is in this group

    • The name "find_serial_insiders" says "find": a word for reading.
    Description, as the server wrote it
    [$0.025 per 25] Wallets that keep turning up as insiders across the whole index. Each row carries the wallet's full footprint, because ranking on insider count alone puts bots on top (the highest is flagged in 1,642 tokens and holds 4,091). Read insider_in against also_held: close is a real serial insider, far apart is a bot.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • find_tokens[$0.005] Recently analysed tokens, each already carrying a verdict, to rank locally before paying for depth.No findings

    Why it is in this group

    • The name "find_tokens" says "find": a word for reading.
    Description, as the server wrote it
    [$0.005] Recently analysed tokens, each already carrying a verdict, to rank locally before paying for depth. Filters: hours (1-168), min_mcap, platform, limit (1-100). A time-ordered feed with no query; to find a token you know by name or mint, use search_tokens.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • get_balance[free] Credits remaining on your key.No findings

    Why it is in this group

    • The name "get_balance" says "get": a word for reading.
    Description, as the server wrote it
    [free] Credits remaining on your key. There is no free allowance: a new key starts at zero and is funded with a USDC deposit, so a balance of 0 means the paid tools will answer 402 until you top up.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • get_coverage[free] What we hold and how fresh, plus a live example mint guaranteed to have data.No findings

    Why it is in this group

    • The name "get_coverage" says "get": a word for reading.
    Description, as the server wrote it
    [free] What we hold and how fresh, plus a live example mint guaranteed to have data. Call this first: we index every pump.fun and letsbonk migration since our start date, so an older token you already know will return nothing.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • get_sample[free, no key] One fixed token answered in full: the complete check_token, inspect_token and token_identity responses, each carrying the price that call costs.No findings

    Why it is in this group

    • The name "get_sample" says "get": a word for reading.
    Description, as the server wrote it
    [free, no key] One fixed token answered in full: the complete check_token, inspect_token and token_identity responses, each carrying the price that call costs. Served by the same handlers as the paid tools, so it is what you would actually get. Use get_coverage for freshness, this for depth.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • get_scorecard[free] Our measured hit rate per risk band, and how fast each band tends to collapse.No findings

    Why it is in this group

    • The name "get_scorecard" says "get": a word for reading.
    Description, as the server wrote it
    [free] Our measured hit rate per risk band, and how fast each band tends to collapse. Read this to decide how much weight to give our verdicts. Most risk APIs ask you to trust a score; this one shows how it performed.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • inspect_token[$0.005] Who is involved: top holders and supply, the sniper / fresh-wallet / insider / early-buyer split, connected-group topology, tracked-trader activity.1 finding

    Why it is in this group

    • The name "inspect_token" says "inspect": a word for reading.

    Findings

    • Warn

      The input schema at examples[0].mint contains a 44-character base64 string.

      Matched text

      inputSchema.examples[0].mint: "6acH1iae44zL4haWNNCaqcTqS2Q7KNYsWErxCoLW9u9P"

      What this check looks for
    Description, as the server wrote it
    [$0.005] Who is involved: top holders and supply, the sniper / fresh-wallet / insider / early-buyer split, connected-group topology, tracked-trader activity. Counts and structure only: token_wallets names them, token_graph draws the edges, token_web follows them to earlier launches.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true
  • search_tokens[$0.005/page] Find a token in the analysed catalogue by symbol, name fragment or exact mint, with platform, size and age filters.No findings

    Why it is in this group

    • The name "search_tokens" says "search": a word for reading.
    Description, as the server wrote it
    [$0.005/page] Find a token in the analysed catalogue by symbol, name fragment or exact mint, with platform, size and age filters. find_tokens lists what just migrated; this finds the one you mean. `search` is the same call in the shape ChatGPT requires.

    Annotations the server declares

    • destructiveHint: false
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.4.5. Values in angle brackets are yours to fill in.

claude mcp add --transport http mindjack https://api.mindjack.xyz/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__mindjack__inspect_token",
      "mcp__mindjack__find_tokens",
      "mcp__mindjack__find_serial_insiders",
      "mcp__mindjack__compare_tokens",
      "mcp__mindjack__get_scorecard",
      "mcp__mindjack__get_sample",
      "mcp__mindjack__search_tokens",
      "mcp__mindjack__search",
      "mcp__mindjack__fetch",
      "mcp__mindjack__get_coverage",
      "mcp__mindjack__get_balance"
    ],
    "ask": [
      "mcp__mindjack__check_token",
      "mcp__mindjack__token_report",
      "mcp__mindjack__token_identity",
      "mcp__mindjack__check_wallet",
      "mcp__mindjack__can_i_exit",
      "mcp__mindjack__token_changes",
      "mcp__mindjack__token_price_path",
      "mcp__mindjack__test_hypothesis",
      "mcp__mindjack__token_graph",
      "mcp__mindjack__token_wallets",
      "mcp__mindjack__token_web",
      "mcp__mindjack__wallet_network",
      "mcp__mindjack__kol_leaderboard",
      "mcp__mindjack__kol_record",
      "mcp__mindjack__funder_networks"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as mindjack. Review it before you use it.