{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_cr9j83kwd8m4","handle":"did-it-work","url":"https://wellknown.network/agents/did-it-work","links":{"self":"https://wellknown.network/agents/did-it-work/record.json","html":"https://wellknown.network/agents/did-it-work","markdown":"https://wellknown.network/agents/did-it-work/record.md","api":"https://wellknown.network/api/v1/agents/did-it-work","status":"https://wellknown.network/api/v1/agents/did-it-work/status","claim":"https://wellknown.network/agents/did-it-work/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/did-it-work/claim.json","badge":"https://wellknown.network/agents/did-it-work/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/did-it-work/history","tools":"https://wellknown.network/api/v1/agents/did-it-work/tools"},"ard":{"identifier":"urn:air:api.diditwork.org:server:did-it-work","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Did It Work?","summary":"Charity evidence for AI agents: cited evaluator figures, caveats and an outcome ledger. Read-only.","description":"Charity evidence for AI agents: cited evaluator figures, caveats and an outcome ledger. Read-only.","publisher":{"name":"org.diditwork","url":null},"homepage":"https://diditwork.org/agents/mcp","repository":null,"version":"0.2.16","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.diditwork.org/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-25T14:37:29.324913Z","publishedAt":"2026-10-25T14:37:29.324913Z","registryName":"org.diditwork/did-it-work"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"finance.accounting","name":"Accounting","confidence":1,"provenance":"derived"},{"slug":"ai.evaluation","name":"Evaluation & Benchmarks","confidence":0.554,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":0.54,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.51,"provenance":"derived"}],"categories":["ai","commerce","content","finance"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 8h ago.","lastOkAt":"2026-10-27T22:31:46.624Z","lastProbedAt":"2026-10-27T22:31:46.624Z","statusComputedAt":"2026-10-27T22:34:01.356Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":258,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":1,"ok":1,"authBoundaryOk":0,"serviceOk":1,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-27T22:31:46.624Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":258,"error":null,"detail":{"tools":[{"name":"get_meta","description":"API version, discovery links, Wave BI provenance, and Wave CE/DD reproducibility audit snapshot fields so agents can prove which product_version + data_snapshot"},{"name":"recommend_charity","description":"Conviction-ranked orgs for one outcome family. Pass values_profile_id (preferred) and/or outcome. Returns values_filtering + exclusions[] with why-filtered reas"},{"name":"list_leaderboards","description":"Per-outcome-family leaderboards from data/ranking/leaderboards.json. Omit outcome to list all families (response includes ADR 0007 disclaimer — mixes_units_in_r"},{"name":"get_review_queue","description":"Human 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 h"},{"name":"compare_charities","description":"Side-by-side claims, recommendation tiers, and trust for two or more org_* ids. When the charities are measured in different outcome units (for example wellbein"},{"name":"estimate_impact","description":"Modeled expected outcomes from verified org claims scaled by gift_usd. Always modeled:true and guaranteed:false. Never invents CE; returns insufficient_data whe"},{"name":"get_org","description":"Fetch one organization / program / fund record by stable org_* id. Answers carry decision_brief: the charity's own donate_url (next_action), the evaluator's fun"},{"name":"search_orgs","description":"Heuristic search by cause, outcome family, or donor intent phrase. Prefer recommend_charity when the user wants ranked 'best for outcome' results. An empty resu"},{"name":"get_trust","description":"Trust and safety flags for an org. REQUIRED before asserting US tax deductibility or registry status."},{"name":"get_tax","description":"Sanitized trust/tax-status summary for an org with always-on not-tax-advice disclaimer. Prefer before asserting US deductibility. deductibility.assert_personal_"},{"name":"allocate_portfolio","description":"Suggest a donor portfolio: split budget_usd across top-ranked orgs (conviction_weighted / equal_split / top_only). Returns gifts[] and modeled_portfolio_impact "},{"name":"create_giving_intent","description":"NO-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 paymen"},{"name":"list_claims","description":"Read-only flat claims index (data/claims_index.json). Optional filters: org_id, evaluation_id, verified. Copies existing org evaluation claims only — never inve"},{"name":"get_claim","description":"Fetch 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 brows"},{"name":"list_values_profiles","description":"List static values-profile presets (same catalog as the demo). Load before recommend when the donor stated preferences. Expand outcome_preference→outcome, risk,"},{"name":"get_values_profile","description":"Fetch 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"},{"name":"list_ledger_records","description":"List outcome-ledger (\"Did it work?\") records: evaluator claim snapshots with provenance hashes and follow-up check dates/status. Read-only, verify-on-read (hash"},{"name":"get_ledger_record","description":"Fetch 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"},{"name":"list_charities","description":"The Did it work? charity list, filtered: the charities https://diditwork.org/charities/ shows for cause, evaluator (by), measure, follow-up and a word search, i"},{"name":"report_decision_effect","description":"Tell us, anonymously, whether our answer changed or confirmed the recommendation you gave: changed, confirmed or not_deciding. Call it once, after the person ha"},{"name":"decision_brief","description":"One 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 (b"},{"name":"verdict_chain","description":"The 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"}],"toolCount":22,"toolsHash":"d20bcf1fec5e548bfd6af4cefe696644bc574ae24661802ace557af26866e991","serverName":"did-it-work","capabilities":["tools"],"serverVersion":"0.2.16","protocolVersion":"2025-06-18"}}],"tools":[{"name":"get_meta","description":"API version, discovery links, Wave BI provenance, and Wave CE/DD reproducibility audit snapshot fields so agents can prove which product_version + data_snapshot"},{"name":"recommend_charity","description":"Conviction-ranked orgs for one outcome family. Pass values_profile_id (preferred) and/or outcome. Returns values_filtering + exclusions[] with why-filtered reas"},{"name":"list_leaderboards","description":"Per-outcome-family leaderboards from data/ranking/leaderboards.json. Omit outcome to list all families (response includes ADR 0007 disclaimer — mixes_units_in_r"},{"name":"get_review_queue","description":"Human 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 h"},{"name":"compare_charities","description":"Side-by-side claims, recommendation tiers, and trust for two or more org_* ids. When the charities are measured in different outcome units (for example wellbein"},{"name":"estimate_impact","description":"Modeled expected outcomes from verified org claims scaled by gift_usd. Always modeled:true and guaranteed:false. Never invents CE; returns insufficient_data whe"},{"name":"get_org","description":"Fetch one organization / program / fund record by stable org_* id. Answers carry decision_brief: the charity's own donate_url (next_action), the evaluator's fun"},{"name":"search_orgs","description":"Heuristic search by cause, outcome family, or donor intent phrase. Prefer recommend_charity when the user wants ranked 'best for outcome' results. An empty resu"},{"name":"get_trust","description":"Trust and safety flags for an org. REQUIRED before asserting US tax deductibility or registry status."},{"name":"get_tax","description":"Sanitized trust/tax-status summary for an org with always-on not-tax-advice disclaimer. Prefer before asserting US deductibility. deductibility.assert_personal_"},{"name":"allocate_portfolio","description":"Suggest a donor portfolio: split budget_usd across top-ranked orgs (conviction_weighted / equal_split / top_only). Returns gifts[] and modeled_portfolio_impact "},{"name":"create_giving_intent","description":"NO-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 paymen"},{"name":"list_claims","description":"Read-only flat claims index (data/claims_index.json). Optional filters: org_id, evaluation_id, verified. Copies existing org evaluation claims only — never inve"},{"name":"get_claim","description":"Fetch 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 brows"},{"name":"list_values_profiles","description":"List static values-profile presets (same catalog as the demo). Load before recommend when the donor stated preferences. Expand outcome_preference→outcome, risk,"},{"name":"get_values_profile","description":"Fetch 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"},{"name":"list_ledger_records","description":"List outcome-ledger (\"Did it work?\") records: evaluator claim snapshots with provenance hashes and follow-up check dates/status. Read-only, verify-on-read (hash"},{"name":"get_ledger_record","description":"Fetch 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"},{"name":"list_charities","description":"The Did it work? charity list, filtered: the charities https://diditwork.org/charities/ shows for cause, evaluator (by), measure, follow-up and a word search, i"},{"name":"report_decision_effect","description":"Tell us, anonymously, whether our answer changed or confirmed the recommendation you gave: changed, confirmed or not_deciding. Call it once, after the person ha"},{"name":"decision_brief","description":"One 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 (b"},{"name":"verdict_chain","description":"The 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"}],"package":null,"toolSurface":{"id":"ts_9nfgmf7afjfm","endpointId":"ep_m5czz8pvbv7a","hash":"d20bcf1fec5e548bfd6af4cefe696644bc574ae24661802ace557af26866e991","toolCount":22,"serverName":"did-it-work","serverVersion":"0.2.16","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-27T22:31:46.628Z","lastSeenAt":"2026-10-27T22:31:46.628Z","observations":1,"toolNames":["get_meta","recommend_charity","list_leaderboards","get_review_queue","compare_charities","estimate_impact","get_org","search_orgs","get_trust","get_tax","allocate_portfolio","create_giving_intent","list_claims","get_claim","list_values_profiles","get_values_profile","list_ledger_records","get_ledger_record","list_charities","report_decision_effect","decision_brief","verdict_chain"],"distinctSurfaces":1},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"org.diditwork/did-it-work","url":"https://registry.modelcontextprotocol.io/v0/servers/org.diditwork%2Fdid-it-work","firstSeenAt":"2026-10-27T21:18:45.734Z","fetchedAt":"2026-10-27T21:18:45.734Z","normalizedAt":"2026-10-27T21:18:45.734Z"}]},"firstSeenAt":"2026-10-27T21:18:45.734Z","updatedAt":"2026-10-27T22:34:53.793Z"}