CharterBench
NPM · CHARTERBENCH-MCP · SCANNED SEP 26
Every U.S. bank and credit union: ratios, peers, growth and change signals from FDIC/NCUA filings.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency19
- Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 8 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability68
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1512 tokens (~126/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management50
- Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage84
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 51% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the CharterBench MCP server?
CharterBench runs locally as an npm package, launched with npx -y charterbench-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · charterbench-mcp
claude mcp add auburnduke-charterbench -- npx -y charterbench-mcp
{
"mcpServers": {
"auburnduke-charterbench": {
"command": "npx",
"args": [
"-y",
"charterbench-mcp"
]
}
}
} {
"servers": {
"auburnduke-charterbench": {
"command": "npx",
"args": [
"-y",
"charterbench-mcp"
]
}
}
} codex mcp add auburnduke-charterbench -- npx -y charterbench-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"auburnduke-charterbench": {
"type": "local",
"command": [
"npx",
"-y",
"charterbench-mcp"
],
"enabled": true
}
}
} openclaw mcp add auburnduke-charterbench --command npx --arg -y --arg charterbench-mcp
mcp_servers:
auburnduke-charterbench:
command: "npx"
args: ["-y", "charterbench-mcp"] {
"McpServers": {
"auburnduke-charterbench": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"charterbench-mcp"
]
}
}
} assistant mcp add auburnduke-charterbench -t stdio -c npx -a -y charterbench-mcp
{
"mcpServers": {
"auburnduke-charterbench": {
"command": "npx",
"args": [
"-y",
"charterbench-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 0
- Tool safety: pass → unverified ▼ security
- Stability: 0.17 → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- Package version: 0.4.0 → 0.5.0 functional
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 13 Sept 26 +10
- Malware scan: unverified → pass ▲ security
- Known CVEs: unverified → pass ▲ security
- Schema quality: 110 → 126 ▼ functional
- Dependency health: unverified → 0.84 ▲ functional
- Package version: 0.3.0 → 0.4.0 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 26 Sept 2026 · Analysed npm/charterbench-mcp@0.5.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Dependencies 96 packages
| Packages resolved | 96 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare_institutions Compare institutions ~43
Side-by-side comparison of 2–5 institutions on size, growth and ratios, plus a link to the interactive compare page.
| Name | Type | Req | Description |
|---|---|---|---|
| ids | array | yes | – |
No output schema declared.
No examples provided.
find_markets Find deposit markets ~103
Find counties and metro areas (deposit markets) by name, optionally within a state. Returns market ids to pass to get_market_share, plus totals, leader and concentration (HHI). Use for 'who are the biggest banks in <county/metro>' questions.
| Name | Type | Req | Description |
|---|---|---|---|
| q | string | yes | County or metro name contains, e.g. 'Fulton', 'Atlanta', 'Maricopa' |
| state | string | – | USPS state code to narrow the search |
No output schema declared.
No examples provided.
get_branch_changes Get branch openings and closings ~189
Branches opened, closed, acquired or sold June-to-June, from FDIC Summary of Deposits (banks) and NCUA branch filings (credit unions). Filter by state, county (5-digit FIPS), charter type, change kind or one institution. summary=true returns one row per institution with opened/closed/acquired/sold/net counts and the deposits that sat in closed branches — use it for 'which banks are closing the most branches in Texas'.
| Name | Type | Req | Description |
|---|---|---|---|
| change | string | – | – |
| county | string | – | 5-digit county FIPS (from find_markets) |
| institution_id | string | – | – |
| limit | integer | – | – |
| state | string | – | – |
| summary | boolean | – | One row per institution instead of per branch |
| type | string | – | – |
| year | integer | – | SOD year (June 30); default latest |
No output schema declared.
No examples provided.
get_financial_history Get financial history ~52
Quarterly call-report history for one institution (assets, deposits, loans, equity, income lines) with computed ratios per quarter, newest first.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
| quarters | integer | – | – |
No output schema declared.
No examples provided.
get_industry_summary Get industry summary ~192
Quarterly State of the Industry: institution counts, total assets/deposits/loans, YoY growth, median ratios (NIM, efficiency, ROA, cost of funds, capital, delinquency, charge-offs, uninsured deposits, securities losses) and how many are losing money — for banks and credit unions overall and by asset band, plus how many institutions carried each change signal. Use for 'how did banks/credit unions do this quarter', industry benchmarks, or trend questions (pass an earlier quarter).
| Name | Type | Req | Description |
|---|---|---|---|
| band | string | – | Asset band: '<100M', '100M-500M', '500M-1B', '1B-10B', '10B+', or 'all' (default returns every band) |
| quarter | string | – | Quarter-end date, e.g. 2026-06-30 (default latest) |
| type | string | – | – |
No output schema declared.
No examples provided.
get_institution Get institution profile ~84
Full profile of one bank or credit union: identity, size, YoY growth, all 21 ratios, peer medians for its asset band, and this quarter's change signals. Use the id from screen_institutions or search_institutions (e.g. 'ncua-66357', 'fdic-9846').
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
get_market_share Get deposit market share ~161
Deposit market share from branch data (FDIC Summary of Deposits, June 30; credit unions estimated). Pass EITHER an institution id (returns every county, metro and state it has branches in, with share, rank and branch-count history) OR geo_type + geo_id (returns the market's league table: every institution ranked by deposits with share, year-over-year share change and branch change). geo_id: 5-digit county FIPS, CBSA code for metros, or USPS code for states — find them with find_markets.
| Name | Type | Req | Description |
|---|---|---|---|
| geo_id | string | – | – |
| geo_type | string | – | – |
| institution_id | string | – | – |
| limit | integer | – | Rows to return for a league table (default 25) |
No output schema declared.
No examples provided.
get_peer_medians Get peer medians ~48
Median of every ratio for a peer group (charter type × asset band). Use to say how an institution compares.
| Name | Type | Req | Description |
|---|---|---|---|
| band | string | yes | – |
| type | string | yes | – |
No output schema declared.
No examples provided.
get_pending_deals Get pending deals ~195
Merger, acquisition and change-in-control applications filed with the Federal Reserve, OCC, FDIC and NCUA — before the deal closes. Filter by state, charter type, status (open = pending + approved-not-closed), or one institution id (its deals as acquirer or target). Use for 'who is buying whom', 'is X in a deal', 'which banks in Texas are being acquired'.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | Only deals updated in the last N days |
| institution_id | string | – | Only deals where this institution is the acquirer or target |
| kind | string | – | Default: mergers, acquisitions and control changes |
| limit | integer | – | – |
| q | string | – | Acquirer or target name contains |
| state | string | – | USPS state code of the acquirer or target |
| status | string | – | Default open |
| type | string | – | – |
No output schema declared.
No examples provided.
get_signals Get change signals ~70
Change signals for one institution across its history: deposits down/up, loans up/down, delinquency up, efficiency worsening, crossed $1B/$10B, net loss, thin capital, members down — each with plain-English text and why it matters to a seller.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | – |
No output schema declared.
No examples provided.
screen_institutions Screen institutions ~325
Find banks and credit unions matching filters. Returns a ranked list with key financials and ratios. Use for territory planning, prospect lists, and 'which institutions…' questions. Money in dollars, ratios in percent.
| Name | Type | Req | Description |
|---|---|---|---|
| band | string | – | Asset band(s): '<100M', '100M-500M', '500M-1B', '1B-10B', '10B+' (comma-separated) |
| dir | string | – | – |
| filters | object | – | Range filters as {'<column>_min': n, '<column>_max': n}, e.g. {'deposits_yoy_pct_max': -5, 'efficiency_ratio_min': 75} |
| holding | string | – | Holding-company name contains (banks only), e.g. 'Truist Financial' — lists the parent's subsidiary banks |
| limit | integer | – | Rows to return (default 25) |
| q | string | – | Name contains |
| sort | string | – | Sort column: total_assets, assets_yoy_pct, deposits_yoy_pct, loans_yoy_pct, members_yoy_pct, roa, roe, loan_to_deposit_pct, capital_ratio_pct, efficiency_ratio, net_interest_margin, cost_of_funds, ne… |
| state | string | – | Comma-separated USPS state codes, e.g. 'GA,FL' |
| type | string | – | Charter type |
No output schema declared.
No examples provided.
search_institutions Search institutions by name ~50
Look up institutions by name to get their ids. Cheap and fast; use before get_institution when you only know a name.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | – |
| type | string | – | – |
No output schema declared.
No examples provided.
What is the CharterBench MCP server?
CharterBench is an MCP server listed in the public MCP registry as io.github.auburnduke/charterbench. Every U.S. bank and credit union: ratios, peers, growth and change signals from FDIC/NCUA filings. This page covers its npm package (charterbench-mcp).
Is the CharterBench MCP server safe to use?
CharterBench scores 69 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 26 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the CharterBench MCP server expose?
CharterBench exposes 12 tools: screen_institutions, get_institution, search_institutions, get_financial_history, get_signals, and 7 more. Their descriptions and schemas cost roughly 1,512 tokens of context every time the server is loaded.
Is the CharterBench MCP server still maintained?
CharterBench is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the CharterBench MCP server under?
CharterBench declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.