Did It Work?

by diditwork.org · org.diditwork/did-it-work

Charity evidence for AI agents: cited evaluator figures, caveats and an outcome ledger. Read-only.

OnlineRemote
Category
AI and agents
Connection
Remote (HTTP)
Tools
22 reported
Status
Online

Connect it to your AI

Claude Code

claude mcp add --transport http did-it-work https://api.diditwork.org/mcp

Claude, ChatGPT, Cursor and other apps

Add it as a custom connector with this URL (Streamable HTTP):

https://api.diditwork.org/mcp

Cursor, VS Code and other apps (mcp.json)

{
  "mcpServers": {
    "did-it-work": {
      "url": "https://api.diditwork.org/mcp"
    }
  }
}

Tools it offers

22 tools, as the server itself reported during our check on Oct 31, 2026.

  • get_metaAPI version, discovery links, Wave BI provenance, and Wave CE/DD reproducibility audit snapshot fields so agents can prove which product_version + data_snapshot_id + claims_index_fingerprint they ranked against. Includes
  • recommend_charityConviction-ranked orgs for one outcome family. Pass values_profile_id (preferred) and/or outcome. Returns values_filtering + exclusions[] with why-filtered reasons (never silent red-line drops). Does not mix units (ADR 0
  • list_leaderboardsPer-outcome-family leaderboards from data/ranking/leaderboards.json. Omit outcome to list all families (response includes ADR 0007 disclaimer — mixes_units_in_ranking:false; boards do not cross-mix WELLBYs with lives_sav
  • get_review_queueHuman exception-review queue (read-only). Returns items from data/review/queue.json for Ho Hum (sole human operator). Default status=open; pass status=all for history. Approve/reject is offline file edit only — write_api
  • compare_charitiesSide-by-side claims, recommendation tiers, and trust for two or more org_* ids. When the charities are measured in different outcome units (for example wellbeing in WELLBYs versus lives saved), units_differ.sentence says
  • estimate_impactModeled expected outcomes from verified org claims scaled by gift_usd. Always modeled:true and guaranteed:false. Never invents CE; returns insufficient_data when no usable verified unit. Each outcome carries say_as, roun
  • get_orgFetch one organization / program / fund record by stable org_* id. Answers carry decision_brief: the charity's own donate_url (next_action), the evaluator's fund as a let-the-evaluator-choose alternative, the like-for-li
  • search_orgsHeuristic search by cause, outcome family, or donor intent phrase. Prefer recommend_charity when the user wants ranked 'best for outcome' results. An empty result carries coverage (what we don't cover and what to do inst
  • get_trustTrust and safety flags for an org. REQUIRED before asserting US tax deductibility or registry status.
  • get_taxSanitized trust/tax-status summary for an org with always-on not-tax-advice disclaimer. Prefer before asserting US deductibility. deductibility.assert_personal_deductibility is ALWAYS false — agents must never claim a gi
  • allocate_portfolioSuggest a donor portfolio: split budget_usd across top-ranked orgs (conviction_weighted / equal_split / top_only). Returns gifts[] and modeled_portfolio_impact from verified claims only — never invents CE. Always modeled
  • create_giving_intentNO-CHARGE deep-link giving handoff (Phase 3 MVP). Returns mode=deep_link, org donate_url, donation_proof=null, charge=false. Did It Work? never processes payment, stores cards, or calls Stripe. Optional modeled_impact is
  • list_claimsRead-only flat claims index (data/claims_index.json). Optional filters: org_id, evaluation_id, verified. Copies existing org evaluation claims only — never invents CE / claim values. Prefer verified:true + non-null value
  • get_claimFetch one claim row by claim_id from data/claims_index.json (e.g. eval_gw_amf__0). Index-only — never invents values. Prefer list_claims with filters when browsing. Wave BI provenance on the response. Org narrative field
  • list_values_profilesList static values-profile presets (same catalog as the demo). Load before recommend when the donor stated preferences. Expand outcome_preference→outcome, risk, tax, geography, red_lines, non_cash onto /v1/recommend; pas
  • get_values_profileFetch one values-profile preset by id (vp_*). Use after list_values_profiles or when the donor picked a named preset. Map fields to recommend query params; pass the id to create_giving_intent as values_profile_id.
  • list_ledger_recordsList outcome-ledger ("Did it work?") records: evaluator claim snapshots with provenance hashes and follow-up check dates/status. Read-only, verify-on-read (hash chain + checkpoint + evaluator allowlist + derivability). R
  • get_ledger_recordFetch one outcome-ledger record by record_id (e.g. ldg_eval_gw_amf__0) plus any follow-up results. Read-only; 404 for unknown ids; modeled, not guaranteed. Read-only API, live at https://api.diditwork.org.
  • list_charitiesThe Did it work? charity list, filtered: the charities https://diditwork.org/charities/ shows for cause, evaluator (by), measure, follow-up and a word search, in the page's own order. Hide-only: filters never re-order, s
  • report_decision_effectTell us, anonymously, whether our answer changed or confirmed the recommendation you gave: changed, confirmed or not_deciding. Call it once, after the person has decided (or said they are not deciding). Enum only: no fre
  • decision_briefOne call, one defensible answer: put the donor's question in their own words (question), optionally with a cause, a charity (org: id or slug) and a gift size (budget_usd). Returns answer (the sentence to say first), kind
  • verdict_chainThe verdict chain for one charity, link by link (L0 Defined to L7 Checked), read out only from data we already hold: the evidence-gap ledger, our outcome ledger, the evaluator figures we hold and the verdict procedure (h

Questions

What is the Did It Work? MCP server?

Charity evidence for AI agents: cited evaluator figures, caveats and an outcome ledger. Read-only. It is made by diditwork.org and listed in the official MCP Registry as org.diditwork/did-it-work. MCP (Model Context Protocol) is the open standard that lets AI apps like Claude, ChatGPT and Cursor use outside tools.

How do I add Did It Work? to Claude?

In the Claude app or claude.ai, open Settings, then Connectors, choose "Add custom connector" and paste https://api.diditwork.org/mcp. In Claude Code, run: claude mcp add --transport http did-it-work https://api.diditwork.org/mcp

How do I add Did It Work? to ChatGPT?

ChatGPT can use remote MCP servers as connectors. In ChatGPT settings, under Apps and Connectors, turn on developer mode if asked, create a new connector and paste https://api.diditwork.org/mcp.

How do I add Did It Work? to Cursor?

Open Cursor settings, go to MCP, choose "Add new MCP server" (or edit ~/.cursor/mcp.json) and add: { "mcpServers": { "did-it-work": { "url": "https://api.diditwork.org/mcp" } } }

Does Did It Work? work right now?

Yes. It responded when we last checked on 31 Oct 2026. We check remote MCP servers every day.

What can Did It Work? do?

It gives your AI 22 tools, including get_meta, recommend_charity, list_leaderboards, get_review_queue, compare_charities. The full list is on this page.

Is this your server? Get the badge for your README
chen.media/mcp badge

Markdown (GitHub README)

[![Listed on chen.media/mcp](https://chen.media/mcp/badge/org-diditwork-did-it-work.svg)](https://chen.media/mcp/org-diditwork-did-it-work)

HTML (switches to dark mode on its own)

<a href="https://chen.media/mcp/org-diditwork-did-it-work"><picture><source media="(prefers-color-scheme: dark)" srcset="https://chen.media/mcp/badge/org-diditwork-did-it-work.svg?theme=dark"><img src="https://chen.media/mcp/badge/org-diditwork-did-it-work.svg" alt="Listed on chen.media/mcp" height="40"></picture></a>

More in AI and agents

See all