Money Mind — the judge
by Elimuaa · remote · no sign-in to list tools · v1.0.0 · published by GitHub user Elimuaa
Statistical adjudication for agents: backtest judges, fact-checks. Pay per call in USDC via x402.
17 tools: 16 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things16Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http money-mind https://money-mind-extract.onrender.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
17 tools
Changes things 16Claude Code: ask
abtestDid B really beat A, corrected for how many variants you compared.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 Did B really beat A, corrected for how many variants you compared. Did B really beat A, corrected for how many variants you compared RUNS NOW: served from a daily free allowance (250 left today), then $0.31 USDC on Base via x402. No account, no API key. Example request: {"n_a": 1200, "conv_a": 96, "n_b": 1180, "conv_b": 130}
Annotations the server declares
- title: Money Mind — A/B Significance
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
auditEvery gate we have, composed in the right order, over your whole book — including the cross-instrument check that catches one edge wearing many names.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 Every gate we have, composed in the right order, over your whole book — including the cross-instrument check that catches one edge wearing many names. Every gate we have, composed in the right order, over your whole book — including the cross-instrument check that catches one edge wearing many names PAID: $300.00 USDC on Base via x402. Call it to receive the payment challenge. Example request: {"bars": {"EURUSD": [{"time": "2024-01-01T00:00:00Z", "open": 1.0995, "high": 1.1001, "low": 1.0986, "close": 1.0992}, {"time": "2024-01-01T01:00:00Z", "open": 1.1002, "high": 1.1012, "low": 1.0996, "close": 1.1006}, {"t
Annotations the server declares
- title: Money Mind — Full Book Audit
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
check_eval_selectionFREE.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 FREE. Use after picking the best of several prompts, models, configs or hyperparameters. Keeping the top scorer out of N is SELECTION: the winner's score is inflated simply by having looked N times, and every eval harness reports it as though one experiment were run. Give the score each variant achieved and it returns how much of the winner's margin the search itself explains, what pure noise would have handed you, and whether the excess is real. Supply n_per_variant to also learn whether your variants can be told apart at all. Call this before concluding an optimisation found something.
Annotations the server declares
- title: Did I really find a better prompt? (free)
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
check_price_dataFREE, no payment or account.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 FREE, no payment or account. Audits OHLC bars for the defects that silently invalidate a backtest. Free and indicative feeds often SYNTHESISE the bar's open instead of observing it, which pins |open-close|/range near zero — measured on the same FX pairs, a free feed reads 0.020 against a real broker's 0.464. Anything depending on the open (gap trades, overnight holds, next-bar entries) is invalid on such data. Also detects frozen zero-range bars, duplicate and out-of-order timestamps, and bars whose high/low do not bracket open/close. Returns BROKER-GRADE, SUSPECT or INDICATIVE with the numbers behind it. Use this BEFORE trusting any backtest built on the data.
Annotations the server declares
- title: Is this price data real? (free)
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
clusteredtYour t-stat assumes independence; your trades cluster.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 Your t-stat assumes independence; your trades cluster. Use when your trades are not independent — several in the same day, the same regime, or a correlated basket. A t-stat computed as if every trade were an independent draw is inflated; in this repo the factor was about 1.9x. Give per-trade returns and their dates; returns the naive t, the date-cluster RUNS NOW: served from a daily free allowance (250 left today), then $0.25 USDC on Base via x402. No account, no API key. Example request: {"returns": [0.4, -1.1, 0.8, 1.2, -0.6, 0.3, -0.2, 0.9, -1.4, 0.7, 0.5, -0.3, 1.1, -0.8, 0.2, 0.6, -0.5, 0.4, 0.9, -0.7], "dates": ["2024-01-02", "2024-01-02", "2024-01-03", "2024-01-03", "2024-01-04", "2024-01-05", "202
Annotations the server declares
- title: Money Mind — Clustered t
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
correlationReal relationship, or two autocorrelated series drifting together.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 Real relationship, or two autocorrelated series drifting together. Real relationship, or two autocorrelated series drifting together RUNS NOW: served from a daily free allowance (250 left today), then $0.31 USDC on Base via x402. No account, no API key. Example request: {"x": [0.4, -1.1, 0.8, 1.2, -0.6, 0.3, -0.2, 0.9, -1.4, 0.7, 0.5, -0.3], "y": [0.3, -0.9, 0.6, 1.0, -0.7, 0.1, -0.4, 0.8, -1.2, 0.5, 0.6, -0.1]}
Annotations the server declares
- title: Money Mind — Spurious Correlation
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
deflatedsharpeIs this Sharpe real, or the best of N tries?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 Is this Sharpe real, or the best of N tries? Deflated for the search you ran. Is this Sharpe real, or the best of N tries? Deflated for the search you ran RUNS NOW: served from a daily free allowance (250 left today), then $0.31 USDC on Base via x402. No account, no API key. Example request: {"returns": [0.012, -0.004, 0.021, 0.003, -0.011, 0.017, 0.006, -0.008, 0.014, 0.002, -0.006, 0.019, 0.001, -0.013, 0.009, 0.004], "n_trials": 40}
Annotations the server declares
- title: Money Mind — Deflated Sharpe
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
drawdownIs this drawdown a broken strategy or a normal bad patch, vs your own shuffled returns.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 Is this drawdown a broken strategy or a normal bad patch, vs your own shuffled returns. Is this drawdown a broken strategy or a normal bad patch, vs your own shuffled returns RUNS NOW: served from a daily free allowance (250 left today), then $0.31 USDC on Base via x402. No account, no API key. Example request: {"returns": [0.9, -1.0, 0.4, -1.0, 1.6, -1.0, 0.7, 0.3, -1.0, 2.1, -1.0, -1.0, 0.8, 1.4, -1.0, 0.5, -1.0, 1.9, 0.2, -1.0, 1.1, -1.0, 0.6, 1.3]}
Annotations the server declares
- title: Money Mind — Drawdown Check
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
factcheckVerify a claim against 2-4 source URLs: cited passages, cross-source agreement, verdict: consistent | conflicting | insufficient_evidence.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 Verify a claim against 2-4 source URLs: cited passages, cross-source agreement, verdict: consistent | conflicting | insufficient_evidence. Evidence, not truth. Use when your agent needs to verify a claim against independent sources before acting on it. Give a claim plus 2-4 source URLs; each source is extracted (three-fetch cross-check, confidence-scored), the checkable figures are compared across sources, and you get the cited passages plus a verdict: con PAID: $0.03 USDC on Base via x402. Call it to receive the payment challenge. Example request: {"claim": "Acme Corp revenue was $4.2 billion in 2025", "urls": ["https://example.com", "https://example.org"]}
Annotations the server declares
- title: Money Mind — Fact Check: verify a claim against sources
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
judge-batchTriage up to 1,000 backtests in one call: the best-of-N multiple-testing selection correction over every return series — $0.01 per series, survivors ranked best-first.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 Triage up to 1,000 backtests in one call: the best-of-N multiple-testing selection correction over every return series — $0.01 per series, survivors ranked best-first. Use when your agent has a FARM of backtests, strategies, or research results — dozens to a thousand — and needs triage, not one-by-one verdicts. One call runs the selection correction over every series: each gets NO (killed), PROVISIONAL (survived this gate), or ERROR (malformed). Results ranked sur PAID: $0.01 USDC on Base via x402. Call it to receive the payment challenge. Example request: {"series": [{"returns": [0.8, -0.3, 1.2, 0.5, -0.6, 0.9, 0.4, -0.2, 1.1, 0.7, -0.4, 0.6, 0.3, -0.5, 1.0, 0.8, -0.1, 0.5, 0.9, -0.3], "n_tested": 20, "label": "weak"}, {"returns": [2.0, 2.1, 1.9, 2.2, 2.0, 2.1, 1.8, 2.0,
Annotations the server declares
- title: Money Mind — Judge Batch: backtest triage
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
judge-liteIs this backtest, strategy or DeFi result real, or the luckiest of N tries?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 Is this backtest, strategy or DeFi result real, or the luckiest of N tries? Three gates in one verdict — multiple-testing selection, deflated Sharpe, date-clustered t — built for trading agents. Use when your agent has a backtest, a research result, or any return series that looks good — and needs to know whether it is real or the luckiest of N tries before spending money on it. One call runs the three cheapest high-signal gates: selection correction (family-wise p across your declared n_te PAID: $0.05 USDC on Base via x402. Call it to receive the payment challenge. Example request: {"returns": [0.8, -0.3, 1.2, 0.5, -0.6, 0.9, 0.4, -0.2, 1.1, 0.7, -0.4, 0.6, 0.3, -0.5, 1.0, 0.8, -0.1, 0.5, 0.9, -0.3], "n_tested": 20, "dates": ["2024-06-03", "2024-06-03", "2024-06-04", "2024-06-04", "2024-06-05", "20
Annotations the server declares
- title: Money Mind — Judge Lite: backtest verdict in three gates
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
judge-nanoIs this backtest winner real, or just the best of N tries?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 Is this backtest winner real, or just the best of N tries? The multiple-testing selection correction (family-wise p) in one $0.01 call — verdict NO or PROVISIONAL. Use when your agent has a backtest winner, a research result, or any return series that looks good — and needs the cheapest possible check on whether it is real or the luckiest of N tries. One call runs the selection correction: the family-wise p of the series' own t across your declared n_tested. V PAID: $0.01 USDC on Base via x402. Call it to receive the payment challenge. Example request: {"returns": [0.8, -0.3, 1.2, 0.5, -0.6, 0.9, 0.4, -0.2, 1.1, 0.7, -0.4, 0.6, 0.3, -0.5, 1.0, 0.8, -0.1, 0.5, 0.9, -0.3], "n_tested": 20}
Annotations the server declares
- title: Money Mind — Judge Nano: is this backtest winner real?
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
multipletestYou tested N strategies and kept the best; is it noise.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 You tested N strategies and kept the best; is it noise. Use when you searched many strategies or parameter sets and kept the best one. Quoting that winner's solo p-value is the most common way a backtest lies. Give the number of things you tested and the winner's t-statistic; returns the family-wise p-value, the t you actually needed, and the t that pure RUNS NOW: served from a daily free allowance (250 left today), then $0.20 USDC on Base via x402. No account, no API key. Example request: {"n_tested": 1000, "best_t": 3.0}
Annotations the server declares
- title: Money Mind — Multiple Testing
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
referee11-gate adjudication of a trading signal series.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 11-gate adjudication of a trading signal series. Use when you have OHLC bars and a -1/0/1 signal series and need to know whether a backtest result is real or an artefact. Applies 11 gates most backtests fail: matched random-entry drift control, date-clustered standard errors, entry at the next bar's open, events-not-fills, absolute (not just exces PAID: $5.00 USDC on Base via x402. Call it to receive the payment challenge. Example request: {"bars": {"EURUSD": [{"time": "2024-01-01T00:00:00Z", "open": 1.0995, "high": 1.1001, "low": 1.0986, "close": 1.0992}, {"time": "2024-01-01T01:00:00Z", "open": 1.1002, "high": 1.1012, "low": 1.0996, "close": 1.1006}, {"t
Annotations the server declares
- title: Money Mind — Referee
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
regimeDid the process change, or is recent weakness inside normal variation.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 Did the process change, or is recent weakness inside normal variation. Did the process change, or is recent weakness inside normal variation RUNS NOW: served from a daily free allowance (250 left today), then $0.31 USDC on Base via x402. No account, no API key. Example request: {"returns": [0.9, -1.0, 0.4, -1.0, 1.6, -1.0, 0.7, 0.3, -1.0, 2.1, -1.0, -1.0, 0.8, 1.4, -1.0, 0.5, -1.0, 1.9, 0.2, -1.0, 1.1, -1.0, 0.6, 1.3, -0.8, 1.5]}
Annotations the server declares
- title: Money Mind — Regime Break
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
samplesizeHow many observations before this test can answer anything — ask before you spend.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 How many observations before this test can answer anything — ask before you spend. How many observations before this test can answer anything — ask before you spend RUNS NOW: served from a daily free allowance (250 left today), then $0.31 USDC on Base via x402. No account, no API key. Example request: {"baseline_rate": 0.08, "min_detectable_effect": 0.2, "power": 0.8, "alpha": 0.05}
Annotations the server declares
- title: Money Mind — Sample Size
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
Only reads 1Claude Code: allow
v1_extractFetch a web page three independent ways (rendered, static, second-render cross-check), confidence-scored, with a tamper-evident attestation.No findings
Why it is in this group
- The description's first verb is "fetch": a word for reading.
Description, as the server wrote it Fetch a web page three independent ways (rendered, static, second-render cross-check), confidence-scored, with a tamper-evident attestation. Refuses protected, login and CAPTCHA pages without charging. Use when your agent needs web content it cannot fetch itself — JavaScript-rendered pages, static pages, or paginated listings — and needs to show its principal the evidence. Every extraction runs three independent fetches (rendered, static, second-render cross-check), is confidence-scored, and is wr RUNS NOW: served from a daily free allowance (25 left today), then $0.02 USDC on Base via x402. No account, no API key. Example request: {"url": "https://example.com", "extraction_target": "the page title and the body text"}
Annotations the server declares
- title: Money Mind — Web Extraction, cross-checked 3 ways
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: 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.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http money-mind https://money-mind-extract.onrender.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__money-mind__v1_extract"
],
"ask": [
"mcp__money-mind__check_price_data",
"mcp__money-mind__check_eval_selection",
"mcp__money-mind__factcheck",
"mcp__money-mind__referee",
"mcp__money-mind__multipletest",
"mcp__money-mind__clusteredt",
"mcp__money-mind__deflatedsharpe",
"mcp__money-mind__abtest",
"mcp__money-mind__samplesize",
"mcp__money-mind__drawdown",
"mcp__money-mind__correlation",
"mcp__money-mind__regime",
"mcp__money-mind__judge-batch",
"mcp__money-mind__judge-nano",
"mcp__money-mind__judge-lite",
"mcp__money-mind__audit"
],
"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 money-mind. Review it before you use it.
