protogrid

Search / io.github.LSUDOKO/bankweave

BankWeave

R0· no sign-in

Read-only FalkorDB tools for cross-bank AML investigations: rings, money paths, echo-proof claims.

v3.0.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality94new
Trust96of 100
Uptime, 30 days100%
Latency p50421 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "bankweave": {
      "type": "http",
      "url": "https://bankweave-api.onrender.com/mcp"
    }
  }
}
claude mcp add --transport http bankweave https://bankweave-api.onrender.com/mcp
[mcp_servers.bankweave]
url = "https://bankweave-api.onrender.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "bankweave": {
      "type": "remote",
      "url": "https://bankweave-api.onrender.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "bankweave": {
      "type": "http",
      "url": "https://bankweave-api.onrender.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=bankweave&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYmFua3dlYXZlLWFwaS5vbnJlbmRlci5jb20vbWNwIn0%3D"
}
{
  "servers": {
    "bankweave": {
      "type": "http",
      "url": "https://bankweave-api.onrender.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "bankweave": {
      "httpUrl": "https://bankweave-api.onrender.com/mcp"
    }
  }
}
extensions:
  "bankweave":
    enabled: true
    name: "bankweave"
    type: streamable_http
    uri: "https://bankweave-api.onrender.com/mcp"
    timeout: 300

Quality 94 / 100new

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations17 of 17 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,734 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 1 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

17 tools, about 2,734 tokens to load them all · tool set 3dbd6ddde268 · checked 2026-10-20 05:13 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance90
liveness100
freshness100
hygiene95

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-1d-ago -unpinned-packages(1)

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://bankweave-api.onrender.com/mcp streamable-httpnoneyes100%421 ms2026-07-282026-10-20
packageregistryversionruntimesecrets
ghcr.io/lsudoko/bankweave-mcp:3.0.0ociunpinned–

Tools (17)

account_networkread-onlyAn account's cross-bank neighbourhood in the consortium graph: its scores (pagerank, motif score, community, WCC component size, pass-through pairs), shared identity (device, IP, address with how widely each is shared), cases and alerts on it, counterparties held at OTHER banks (count and volume) and its bounded 1-2 hop neighbourhood with the banks it spans. A bank alone only sees its own side of these links. FalkorDB features: GRAPH.RO_QUERY, bounded undirected expansion.
connected_componentsread-onlyWeakly connected components of the transfer graph (largest first): size, number of banks, a sample of members, plus how many components are tiny 'islands' that triage clears instantly. graph: 'consortium', 'bank_<id>' or 'case_<id>'. FalkorDB features: algo.wcc.
engine_overviewread-onlyHealth and size of the whole system: FalkorDB memory/version, graphs (banks, cases), consortium size (accounts, banks, transfers) and the alert queue by status (open / case / cleared). Call this first to orient yourself. FalkorDB features: INFO memory, GRAPH.LIST, GRAPH.RO_QUERY aggregations.
explain_claimread-onlyWhy a claim has the confidence it has (GraphEcho echo-proof scoring). Groups supporting and challenging evidence by ORIGIN: many paths that lead back to the same origin count once. Returns paths vs independent origins, naive (path-counting) vs echo-proof confidence, each origin group with its multiplicity and weight, which origin kinds were never explored, and the derived-claim / evidence chain with the Cypher each evidence item ran. Pure read: the score is recomputed in memory, nothing is written. FalkorDB features: GRAPH.RO_QUERY, variable-length DERIVED_FROM traversal.
find_ringsread-onlyCandidate laundering rings: communities of accounts that trade mostly among themselves, found by label propagation on the transfer graph. Cross-bank rings (members at more than one bank) come first, since no single bank can see them whole. Pass account_id to return only the ring that contains that account. FalkorDB features: algo.labelPropagation.
get_caseread-onlyEverything about one case from its own case graph: header, claims (each with naive vs echo-proof confidence, paths vs independent_sources, state, supporting/challenging evidence ids), evidence (kind, origin, state active/needs_verification/superseded, summary), proposed and approved actions with the claims that justify them, and SAR status. case_id like 'C-44c08392'. FalkorDB features: one graph per case, GRAPH.RO_QUERY.
graph_schemaread-onlySchema of one graph: node labels, relationship types, property keys and indexes with their kind (RANGE, FULLTEXT, VECTOR). graph: 'consortium', 'bank_<id>', 'case_<id>' or 'typology_kb'. FalkorDB features: db.labels, db.relationshipTypes, db.propertyKeys, db.indexes.
list_alertsread-onlyThe alert queue with counts by status. status: 'open', 'case' (escalated into a case) or 'cleared'; omit for all. Each alert has its rule, reason, account, bank, case id and the recorded clearing reason. Use an alert id with triage_alert. FalkorDB features: range indexes on Alert.status, GRAPH.RO_QUERY.
list_casesread-onlyList investigation cases (newest first) with status, title, seed account, number of alerts/accounts, the banks involved and whether its case graph is loaded. Use a case id with get_case. FalkorDB features: GRAPH.RO_QUERY over the consortium graph.
list_graphsread-onlyList every FalkorDB graph BankWeave keeps, grouped by kind: the consortium (cross-bank, hashed), one graph per bank (that bank's partial view), one graph per case, the typology knowledge base. Use graph_schema(graph) for labels, relationship types and indexes.
run_readonly_cypherread-onlyLast resort: run your own read-only Cypher on one graph. Runs as GRAPH.RO_QUERY (the engine rejects writes) after a guard: one statement, no CREATE/MERGE/SET/DELETE/REMOVE/ DROP/FOREACH/LOAD CSV, CALL only for algo.* and the db.* read/index-query procedures, LIMIT appended when missing, at most 200 rows, 10 s timeout. graph: 'consortium', 'bank_<id>', 'case_<id>' or 'typology_kb' (see graph_schema for labels and properties).
search_customersread-onlyFuzzy name search over customers (Person) or businesses (Company) across all banks, with the accounts and banks each one owns. Tokens are OR-ed, so partial names work. FalkorDB features: full-text index, db.idx.fulltext.queryNodes.
similar_accountsread-onlyAccounts whose behaviour (activity, amounts, timing, degree profile) is closest to this one, by cosine distance over Account.behavior_vec (lower = more alike), with their banks. Useful to find mule accounts that act like a known one at other banks. FalkorDB features: HNSW vector index, db.idx.vector.queryNodes.
top_hubsread-onlyAccounts where money pools: PageRank over TRANSFERS, highest first, with bank ids. graph: 'consortium', 'bank_<id>' or 'case_<id>'. FalkorDB features: algo.pageRank.
trace_money_pathread-onlyShortest money paths from one account to another, hop by hop with transaction ids, amounts and the bank of every account on the path, so you can see the money cross banks. Without case_id it searches the consortium along outgoing transfers; with case_id it searches that case graph in both directions. No path = no claim. FalkorDB features: algo.SPpaths.
triage_alertread-onlyWhy an alert was cleared or escalated into a case. Returns the alert, the triage decision and its reason, the graph signals the triage agent recorded (component size, motif score, cross-bank counterparties, typologies, shared identity, prior cases), and a LIVE re-check: the account's weakly connected component size (islands smaller than the configured threshold clear instantly) and its motif score components. FalkorDB features: algo.wcc, GRAPH.RO_QUERY.
typology_guidanceread-onlyLaundering typology guidance (e.g. 'fan-out then fan-in through mules', 'structuring below reporting threshold') from BankWeave's typology knowledge graph, with citations. Abstains when nothing matches well. FalkorDB features: full-text index on the typology_kb graph.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.LSUDOKO/bankweave",
  "title": "BankWeave",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
  "remotes": [
    {
      "url": "https://bankweave-api.onrender.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "3.0.1",
  "packages": [
    {
      "transport": {
        "type": "stdio"
      },
      "identifier": "ghcr.io/lsudoko/bankweave-mcp:3.0.0",
      "registryType": "oci"
    }
  ],
  "repository": {
    "url": "https://github.com/LSUDOKO/BankWeave",
    "source": "github"
  },
  "websiteUrl": "https://bankweave.vercel.app",
  "description": "Read-only FalkorDB tools for cross-bank AML investigations: rings, money paths, echo-proof claims."
}