{
  "data": {
    "a": {
      "slug": "medblocks",
      "name": "Medblocks",
      "vendor": "Medblocks Inc.",
      "vendorUrl": "https://medblocks.com",
      "kind": "http-api",
      "category": "health-data",
      "summary": "Medblocks Platform lets an app or agent connect a patient's hospital, clinic and insurer records through SMART on FHIR and read them back as FHIR R4, through a REST API, a TypeScript SDK or a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/medblocks",
      "markdownUrl": "https://www.anchorterminal.com/tools/medblocks.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/medblocks.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/medblocks.json",
      "repo": "https://github.com/medblocks/skills",
      "license": "Proprietary service under Medblocks' terms. The medblocks TypeScript SDK on npm carries a proprietary licence that forbids redistribution and reverse engineering. The agent skills repository has no licence file",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://app.medblocks.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "medblocks"
        }
      ],
      "auth": "mixed",
      "authNotes": "The REST API takes a workspace API key as a Bearer token (`mb_sk_sbx_` for Sandbox, `mb_sk_live_` for Production). Owners and admins mint, rotate and revoke keys in the dashboard, and the full key is shown once. The MCP server at https://app.medblocks.com/mcp also accepts OAuth from Medblocks' own authorisation server, which publishes dynamic client registration, PKCE and ten scopes (patients:read, patients:write, fhir:read and others), with a consent screen of three tick boxes. Patients authorise each hospital themselves through SMART on FHIR. A BAA is needed before production use.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 for up to 1,000 active patients, with patient access, synthetic sandboxes and full API access. Enterprise is $60,000 a year with no patient cap and adds backend services, clinical workflows, OCR and data structuring. A patient counts as active from the first successful FHIR pull. Upgrades go through support@medblocks.com, and requests outside the plan return 402 `billing_error` (checked 2026-10-14).",
      "priceSummary": "$5000 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms-full.txt or the billing page. A 402 status is used only for `billing_error` when a plan does not cover a feature (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": 10,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 36,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://medblocks.com/docs",
      "llmsTxt": "https://medblocks.com/docs/llms.txt",
      "capabilities": [
        "health.records",
        "health.consent",
        "health.ehr",
        "health.fhir",
        "agent.tools"
      ],
      "tags": [
        "hosted",
        "mcp",
        "oauth",
        "fhir",
        "smart-on-fhir",
        "typescript",
        "llms-txt",
        "free-tier",
        "hipaa"
      ],
      "lastRelease": "2026-09-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.7,
        "grade": "D",
        "agentReady": false,
        "rank": 773,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 69,
          "payments": 25,
          "reliability": 28,
          "schema": 62,
          "security": 67,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Patient-authorised record retrieval with a ten-tool remote MCP server, OAuth with per-capability consent, an audit entry for every call and a free plan for 1,000 active patients. No status page, no published rate limits and no idempotency keys were found, and the OpenAPI file behind the reference is not published.",
        "bestFor": "A consumer or care app, or an assistant, that needs a patient's own records from US hospitals and payers with the patient's consent, and wants an MCP route as well as REST.",
        "strengths": [
          "Remote MCP server with ten tools, OAuth with dynamic client registration and a consent screen that can leave destructive actions off",
          "Free plan for up to 1,000 active patients and a Synthetic Hospital sandbox with seeded FHIR R4 patients",
          "One error envelope with 36 stable codes, a `param` field, a request ID and `Retry-After` on 429",
          "Every MCP tool call writes an audit entry, and the dashboard shows authorisation and pull history per patient",
          "llms.txt, llms-full.txt and a Markdown copy of every docs page, plus agent skills for Claude Code, Codex and Cursor"
        ],
        "weaknesses": [
          "No status page, SLA or published rate limits for the Platform API",
          "No idempotency keys were found, and the API conventions and versioning pages are unwritten placeholders",
          "The OpenAPI file the reference is generated from is not published",
          "Only one SDK, in TypeScript, with npm's latest tag still at 1.0.0 while the changelog documents 1.2.0",
          "The public terms cover the website and Blue Button app, and no sub-processor list or customer terms for the API were found"
        ],
        "agentNotes": [
          "Connect with `claude mcp add --transport http medblocks https://app.medblocks.com/mcp` and sign in, or send a workspace API key as a Bearer token from a backend",
          "Ask the person before calling `disconnect_health_system` or `delete_person`. Both are permanent",
          "Wait for the connection webhook or check connection status before reading records. Pulls run in the background after the patient approves",
          "Branch on `error.code`, not the message, and wait the `Retry-After` seconds on a 429",
          "Use a Sandbox workspace and the Synthetic Hospital (password `demopass`) for tests. Sandbox keys cannot reach production sources"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.7
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 69,
          "payments": 25,
          "reliability": 28,
          "schema": 62,
          "security": 67,
          "transparency": 32
        },
        "provenanceScore": 70
      },
      "connect": {
        "install": "npm install medblocks",
        "http": "curl https://app.medblocks.com/patients -H \"Authorization: Bearer $MEDBLOCKS_API_KEY\" -H \"Content-Type: application/json\"",
        "claudeCode": "claude mcp add --transport http medblocks https://app.medblocks.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/health.records",
        "tool": "https://letme.dev/medblocks"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Enterprise plan, uncapped patients",
          "unit": "month",
          "usd": 5000,
          "note": "$60,000 a year per the billing page, shown here as a monthly equivalent"
        }
      ],
      "provenance": {
        "legalEntity": "Medblocks Inc.",
        "domain": "medblocks.com",
        "domainRegistered": "2005-11-04",
        "endpointOnVendorDomain": true,
        "terms": "https://medblocks.com/terms",
        "privacy": "https://medblocks.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://medblocks.com/docs/reference/changelog",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The terms, last updated 5 October 2026, name Medblocks Inc., a Delaware corporation, at 100 Front Street, Suite 400 #122, Worcester, MA 01608, and cover the website and the CMS Blue Button application. No separate customer terms for the Platform API were found.",
          "The terms forbid using robots, scripts or scrapers to access the site. We read public pages and recorded that clause.",
          "The privacy policy, last updated 5 October 2026, covers the Medblocks applications including Medblocks Platform and the MCP server, and says no data is used to train AI models.",
          "medblocks.com/.well-known/security.txt returns 404. status.medblocks.com did not answer and no status page was linked from the docs.",
          "RDAP for medblocks.com gives a registration date of 2005-11-04."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/medblocks.json",
      "live": {
        "slug": "medblocks",
        "probe": {
          "target": "https://app.medblocks.com/mcp",
          "method": "get",
          "lastAt": "2026-10-14T09:41:57.376112052Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 317,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 317,
          "p95ms24h": 463,
          "samples24h": 17,
          "samples30d": 17,
          "days": [
            {
              "date": "2026-10-14",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "updatedAt": "2026-10-14T09:41:57.376112052Z"
      }
    },
    "answer": "Medblocks scores 52.7 (D) on agent readiness against Particle Health's 48.6 (D), and leads in 5 of 7 scored categories. Particle Health leads on reliability and schema \u0026 documentation.",
    "b": {
      "slug": "particle-health",
      "name": "Particle Health",
      "vendor": "Particle Health, Inc.",
      "vendorUrl": "https://particlehealth.com",
      "kind": "http-api",
      "category": "health-data",
      "summary": "Particle Health retrieves patient records from Carequality, CommonWell, eHealth Exchange, state HIEs and Surescripts, and returns them as FHIR R4B, flat datasets or C-CDA through a REST API, with Signal webhooks for care events.",
      "url": "https://www.anchorterminal.com/tools/particle-health",
      "markdownUrl": "https://www.anchorterminal.com/tools/particle-health.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/particle-health.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/particle-health.json",
      "license": "Proprietary service under customer agreements. The public terms of use (effective 15 October 2020) cover the website only",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 client credentials. A Particle representative issues the first client ID and secret, after which the Management APIs can create service accounts and credentials, and creating new credentials expires the old ones. Each token request must name one project as its scope, and tokens last 60 minutes. Service accounts carry IAM roles such as `roles/project.owner`.",
      "pricing": "paid",
      "pricingNotes": "No public prices. The developers page links 'play for free' to portal.particlehealth.com/signup, which did not resolve on 14 October 2026, and the docs ask developers to contact a representative for credentials. The sandbox allows 500 queries per organisation a day (checked 2026-10-14).",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or the website (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://docs.particlehealth.com",
      "llmsTxt": "https://docs.particlehealth.com/llms.txt",
      "capabilities": [
        "health.records",
        "health.fhir"
      ],
      "tags": [
        "hosted",
        "health-records",
        "fhir",
        "ccda",
        "oauth",
        "llms-txt",
        "webhooks",
        "status-page",
        "sales-led",
        "hitrust",
        "soc2"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.6,
        "grade": "D",
        "agentReady": false,
        "rank": 867,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 27,
          "payments": 5,
          "reliability": 58,
          "schema": 69,
          "security": 57,
          "transparency": 48
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Particle queries Carequality, CommonWell, eHealth Exchange and state HIEs for a patient and returns FHIR R4B, flat data or C-CDA, with project-scoped 60-minute tokens and OpenAPI fragments per endpoint. Credentials come through a representative, the free sign-up link was dead on 14 October 2026, and rate limits, SLA and changelog are unpublished.",
        "bestFor": "US providers, payers and digital health companies that need a patient's network records as FHIR or flat data, and care-event alerts.",
        "strengths": [
          "Connected to all three national networks plus Healthix, Manifest MedEx and Surescripts",
          "Tokens scoped to one project and expiring after 60 minutes, with credential rotation that retires old secrets",
          "FHIR R4B, flat datasets and C-CDA from the same query",
          "Sandbox of synthetic patients across every production workflow, 500 queries a day"
        ],
        "weaknesses": [
          "Credentials come from a Particle representative, and the 'play for free' sign-up domain did not resolve",
          "Rate limits vary with load and have no published numbers",
          "No changelog, SLA or developer terms in public",
          "No audit log for operators was found"
        ],
        "agentNotes": [
          "Pass `projects/\u003cproject_id\u003e` as the scope when requesting a token, and request a new one every 60 minutes",
          "Poll Get Query Status, or wait for the query-complete webhook, before reading FHIR or flat data",
          "Back off on 429, since limits change with system load",
          "Pass continuation tokens back verbatim when paging",
          "Use the published synthetic patients in sandbox, and stay under 500 queries a day"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.6
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 27,
          "payments": 5,
          "reliability": 58,
          "schema": 69,
          "security": 57,
          "transparency": 27
        },
        "provenanceScore": 69
      },
      "connect": {
        "http": "POST https://sandbox.particlehealth.com/api/v2/patients\nAuthorization: Bearer \u003caccess-token\u003e\nContent-Type: application/json"
      },
      "letme": {
        "capability": "https://letme.dev/health.records",
        "tool": "https://letme.dev/particle-health"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Particle Health, Inc.",
        "domain": "particlehealth.com",
        "domainRegistered": "2017-11-22",
        "endpointOnVendorDomain": true,
        "terms": "https://particlehealth.com/terms-of-use",
        "privacy": "https://particlehealth.com/privacy-policy",
        "statusPage": "https://status.particlehealth.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The terms of use (effective 15 October 2020) cover the website, forbid users to 'harvest or scrape any content or data from the Site', and may change without notice. We read them as a fact and fetched only what robots.txt allows.",
          "The privacy policy (effective 29 July 2026) covers information collected through the site only and says Particle may keep de-identified data in aggregate.",
          "The security page lists HITRUST and SOC 2 for the API platform and links a vulnerability submission form. particlehealth.com/.well-known/security.txt returns 404.",
          "docs.particlehealth.com/changelog returns 404. No public changelog was found.",
          "RDAP gives particlehealth.com a registration date of 2017-11-22."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/particle-health.json",
      "live": {
        "slug": "particle-health",
        "vendorStatus": {
          "page": "https://status.particlehealth.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:39:35.139260792Z"
        },
        "updatedAt": "2026-10-14T09:39:35.139260792Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Medblocks Inc.",
        "b": "Particle Health, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://app.medblocks.com/mcp",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Medblocks' terms. The medblocks TypeScript SDK on npm carries a proprietary licence that forbids redistribution and reverse engineering. The agent skills repository has no licence file",
        "b": "Proprietary service under customer agreements. The public terms of use (effective 15 October 2020) cover the website only",
        "name": "Licence"
      },
      {
        "a": "10",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-14",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2026-10-05",
        "b": "2020-10-15",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-05",
        "b": "2026-07-29",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "36 npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Medblocks scores 52.7 (D) on agent readiness against Particle Health's 48.6 (D), and leads in 5 of 7 scored categories. Particle Health leads on reliability and schema \u0026 documentation.",
        "question": "Which is better for AI agents, Medblocks or Particle Health?"
      },
      {
        "answer": "Medblocks takes an API key or an OAuth sign-in. Particle Health uses an OAuth sign-in.",
        "question": "Do Medblocks and Particle Health need an API key?"
      },
      {
        "answer": "Medblocks has a hosted endpoint at https://app.medblocks.com/mcp. No hosted endpoint is listed for Particle Health.",
        "question": "Can an agent call Medblocks and Particle Health without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 72 against 53",
          "Security \u0026 auth, 67 against 57",
          "Payments \u0026 pricing, 25 against 5",
          "Maintenance \u0026 community, 69 against 27"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "A consumer or care app, or an assistant, that needs a patient's own records from US hospitals and payers with the patient's consent, and wants an MCP route as well as REST.",
        "slug": "medblocks",
        "watchFor": "No status page, SLA or published rate limits for the Platform API"
      },
      {
        "aheadOn": [
          "Reliability, 58 against 28",
          "Schema \u0026 documentation, 69 against 62"
        ],
        "also": null,
        "goodFor": "US providers, payers and digital health companies that need a patient's network records as FHIR or flat data, and care-event alerts.",
        "slug": "particle-health",
        "watchFor": "Credentials come from a Particle representative, and the 'play for free' sign-up domain did not resolve"
      }
    ],
    "job": {
      "capability": "health.records",
      "name": "Patient record retrieval"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/aidbox-vs-medblocks.json",
        "title": "Aidbox vs Medblocks",
        "url": "https://www.anchorterminal.com/compare/aidbox-vs-medblocks"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aidbox-vs-particle-health.json",
        "title": "Aidbox vs Particle Health",
        "url": "https://www.anchorterminal.com/compare/aidbox-vs-particle-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medplum-vs-particle-health.json",
        "title": "Medplum vs Particle Health",
        "url": "https://www.anchorterminal.com/compare/medplum-vs-particle-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/particle-health-vs-rook.json",
        "title": "Particle Health vs ROOK",
        "url": "https://www.anchorterminal.com/compare/particle-health-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/particle-health-vs-terra.json",
        "title": "Particle Health vs Terra API",
        "url": "https://www.anchorterminal.com/compare/particle-health-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-medblocks.json",
        "title": "1upHealth vs Medblocks",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-medblocks"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-particle-health.json",
        "title": "1upHealth vs Particle Health",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-particle-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/health-gorilla-vs-medblocks.json",
        "title": "Health Gorilla vs Medblocks",
        "url": "https://www.anchorterminal.com/compare/health-gorilla-vs-medblocks"
      },
      {
        "json": "https://www.anchorterminal.com/compare/health-gorilla-vs-particle-health.json",
        "title": "Health Gorilla vs Particle Health",
        "url": "https://www.anchorterminal.com/compare/health-gorilla-vs-particle-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-medplum.json",
        "title": "Medblocks vs Medplum",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-medplum"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-metriport.json",
        "title": "Medblocks vs Metriport Medical API",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-metriport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-redox.json",
        "title": "Medblocks vs Redox",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-redox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-zus-health.json",
        "title": "Medblocks vs Zus Health",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-zus-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metriport-vs-particle-health.json",
        "title": "Metriport Medical API vs Particle Health",
        "url": "https://www.anchorterminal.com/compare/metriport-vs-particle-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/particle-health-vs-redox.json",
        "title": "Particle Health vs Redox",
        "url": "https://www.anchorterminal.com/compare/particle-health-vs-redox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/particle-health-vs-zus-health.json",
        "title": "Particle Health vs Zus Health",
        "url": "https://www.anchorterminal.com/compare/particle-health-vs-zus-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-rook.json",
        "title": "Medblocks vs ROOK",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-terra.json",
        "title": "Medblocks vs Terra API",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-validic.json",
        "title": "Medblocks vs Validic Inform",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-validic"
      }
    ],
    "scores": [
      {
        "by": 30,
        "edge": "particle-health",
        "key": "reliability",
        "medblocks": 28,
        "name": "Reliability",
        "particle-health": 58,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "particle-health",
        "key": "schema",
        "medblocks": 62,
        "name": "Schema \u0026 documentation",
        "particle-health": 69,
        "weight": 13
      },
      {
        "by": 19,
        "edge": "medblocks",
        "key": "ergonomics",
        "medblocks": 72,
        "name": "Agent ergonomics",
        "particle-health": 53,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "medblocks",
        "key": "security",
        "medblocks": 67,
        "name": "Security \u0026 auth",
        "particle-health": 57,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "medblocks",
        "key": "payments",
        "medblocks": 25,
        "name": "Payments \u0026 pricing",
        "particle-health": 5,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 42,
        "edge": "medblocks",
        "key": "maintenance",
        "medblocks": 69,
        "name": "Maintenance \u0026 community",
        "particle-health": 27,
        "weight": 7
      },
      {
        "by": 3,
        "edge": "medblocks",
        "key": "transparency",
        "medblocks": 51,
        "name": "Transparency \u0026 trust",
        "particle-health": 48,
        "weight": 7
      }
    ],
    "summary": "Medblocks scores 52.7 (D) on agent readiness against Particle Health's 48.6 (D), and leads in 5 of 7 scored categories. Particle Health leads on reliability and schema \u0026 documentation. Both do patient record retrieval.",
    "verdicts": {
      "medblocks": "Patient-authorised record retrieval with a ten-tool remote MCP server, OAuth with per-capability consent, an audit entry for every call and a free plan for 1,000 active patients. No status page, no published rate limits and no idempotency keys were found, and the OpenAPI file behind the reference is not published.",
      "particle-health": "Particle queries Carequality, CommonWell, eHealth Exchange and state HIEs for a patient and returns FHIR R4B, flat data or C-CDA, with project-scoped 60-minute tokens and OpenAPI fragments per endpoint. Credentials come through a representative, the free sign-up link was dead on 14 October 2026, and rate limits, SLA and changelog are unpublished."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/medblocks-vs-particle-health",
    "json": "https://www.anchorterminal.com/compare/medblocks-vs-particle-health.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/medblocks-vs-particle-health.md",
    "slim": "https://www.anchorterminal.com/compare/medblocks-vs-particle-health.min.md"
  },
  "markdown": "Medblocks scores 52.7 (D) on agent readiness against Particle Health's 48.6 (D), and leads in 5 of 7 scored categories. Particle Health leads on reliability and schema \u0026 documentation. Both do patient record retrieval.\n\n- Medblocks: grade D, 52.7/100, rank #773 of 1076. Markdown https://www.anchorterminal.com/tools/medblocks.md · JSON https://www.anchorterminal.com/api/v1/tools/medblocks.json\n- Particle Health: grade D, 48.6/100, rank #867 of 1076. Markdown https://www.anchorterminal.com/tools/particle-health.md · JSON https://www.anchorterminal.com/api/v1/tools/particle-health.json\n- Best health record and wellness data APIs for AI agents: https://www.anchorterminal.com/best/health-data/index.md\n- All 63 health comparisons: https://www.anchorterminal.com/compare/health-data/index.md\n\n## Which one, for what\n\n### Medblocks (D)\n\nGood for: A consumer or care app, or an assistant, that needs a patient's own records from US hospitals and payers with the patient's consent, and wants an MCP route as well as REST.\n\nAhead on:\n- Agent ergonomics, 72 against 53\n- Security \u0026 auth, 67 against 57\n- Payments \u0026 pricing, 25 against 5\n- Maintenance \u0026 community, 69 against 27\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No status page, SLA or published rate limits for the Platform API\n\n### Particle Health (D)\n\nGood for: US providers, payers and digital health companies that need a patient's network records as FHIR or flat data, and care-event alerts.\n\nAhead on:\n- Reliability, 58 against 28\n- Schema \u0026 documentation, 69 against 62\n\nWatch for: Credentials come from a Particle representative, and the 'play for free' sign-up domain did not resolve\n\n\n## Score by category\n\n| Category | Weight | Medblocks | Particle Health | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 28 | 58 | Particle Health +30 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 62 | 69 | Particle Health +7 |\n| Agent ergonomics | 13% (16.2 this run) | 72 | 53 | Medblocks +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 57 | Medblocks +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 5 | Medblocks +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 69 | 27 | Medblocks +42 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 51 | 48 | Medblocks +3 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.7 · D** | **48.6 · D** | |\n\n## Facts side by side\n\n| Fact | Medblocks | Particle Health |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Medblocks Inc. | Particle Health, Inc. |\n| Hosted endpoint | `https://app.medblocks.com/mcp` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Medblocks' terms. The medblocks TypeScript SDK on npm carries a proprietary licence that forbids redistribution and reverse engineering. The agent skills repository has no licence file | Proprietary service under customer agreements. The public terms of use (effective 15 October 2020) cover the website only |\n| Tools exposed | 10 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-14 | none |\n| Terms last updated | 2026-10-05 | 2020-10-15 |\n| Privacy policy last updated | 2026-10-05 | 2026-07-29 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 36 npm/wk | none |\n\n## Verdicts\n\n**Medblocks.** Patient-authorised record retrieval with a ten-tool remote MCP server, OAuth with per-capability consent, an audit entry for every call and a free plan for 1,000 active patients. No status page, no published rate limits and no idempotency keys were found, and the OpenAPI file behind the reference is not published.\n\n**Particle Health.** Particle queries Carequality, CommonWell, eHealth Exchange and state HIEs for a patient and returns FHIR R4B, flat data or C-CDA, with project-scoped 60-minute tokens and OpenAPI fragments per endpoint. Credentials come through a representative, the free sign-up link was dead on 14 October 2026, and rate limits, SLA and changelog are unpublished.\n\n## Before you call either\n\n### Medblocks\n\n1. Connect with `claude mcp add --transport http medblocks https://app.medblocks.com/mcp` and sign in, or send a workspace API key as a Bearer token from a backend\n2. Ask the person before calling `disconnect_health_system` or `delete_person`. Both are permanent\n3. Wait for the connection webhook or check connection status before reading records. Pulls run in the background after the patient approves\n4. Branch on `error.code`, not the message, and wait the `Retry-After` seconds on a 429\n5. Use a Sandbox workspace and the Synthetic Hospital (password `demopass`) for tests. Sandbox keys cannot reach production sources\n\n### Particle Health\n\n1. Pass `projects/\u003cproject_id\u003e` as the scope when requesting a token, and request a new one every 60 minutes\n2. Poll Get Query Status, or wait for the query-complete webhook, before reading FHIR or flat data\n3. Back off on 429, since limits change with system load\n4. Pass continuation tokens back verbatim when paging\n5. Use the published synthetic patients in sandbox, and stay under 500 queries a day\n\n## Questions\n\n### Which is better for AI agents, Medblocks or Particle Health?\n\nMedblocks scores 52.7 (D) on agent readiness against Particle Health's 48.6 (D), and leads in 5 of 7 scored categories. Particle Health leads on reliability and schema \u0026 documentation.\n\n### Do Medblocks and Particle Health need an API key?\n\nMedblocks takes an API key or an OAuth sign-in. Particle Health uses an OAuth sign-in.\n\n### Can an agent call Medblocks and Particle Health without installing anything?\n\nMedblocks has a hosted endpoint at https://app.medblocks.com/mcp. No hosted endpoint is listed for Particle Health.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/medblocks-vs-particle-health.json, and with the fewest tokens: https://www.anchorterminal.com/compare/medblocks-vs-particle-health.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"medblocks\", \"b\": \"particle-health\"}`. From a terminal: `anchor compare medblocks particle-health`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/medblocks.json and https://www.anchorterminal.com/api/v1/tools/particle-health.json\n\n## Other comparisons with Medblocks or Particle Health\n\n- [Aidbox vs Medblocks](https://www.anchorterminal.com/compare/aidbox-vs-medblocks.md)\n- [Aidbox vs Particle Health](https://www.anchorterminal.com/compare/aidbox-vs-particle-health.md)\n- [Medplum vs Particle Health](https://www.anchorterminal.com/compare/medplum-vs-particle-health.md)\n- [Particle Health vs ROOK](https://www.anchorterminal.com/compare/particle-health-vs-rook.md)\n- [Particle Health vs Terra API](https://www.anchorterminal.com/compare/particle-health-vs-terra.md)\n- [1upHealth vs Medblocks](https://www.anchorterminal.com/compare/1uphealth-vs-medblocks.md)\n- [1upHealth vs Particle Health](https://www.anchorterminal.com/compare/1uphealth-vs-particle-health.md)\n- [Health Gorilla vs Medblocks](https://www.anchorterminal.com/compare/health-gorilla-vs-medblocks.md)\n- [Health Gorilla vs Particle Health](https://www.anchorterminal.com/compare/health-gorilla-vs-particle-health.md)\n- [Medblocks vs Medplum](https://www.anchorterminal.com/compare/medblocks-vs-medplum.md)\n- [Medblocks vs Metriport Medical API](https://www.anchorterminal.com/compare/medblocks-vs-metriport.md)\n- [Medblocks vs Redox](https://www.anchorterminal.com/compare/medblocks-vs-redox.md)\n- [Medblocks vs Zus Health](https://www.anchorterminal.com/compare/medblocks-vs-zus-health.md)\n- [Metriport Medical API vs Particle Health](https://www.anchorterminal.com/compare/metriport-vs-particle-health.md)\n- [Particle Health vs Redox](https://www.anchorterminal.com/compare/particle-health-vs-redox.md)\n- [Particle Health vs Zus Health](https://www.anchorterminal.com/compare/particle-health-vs-zus-health.md)\n- [Medblocks vs ROOK](https://www.anchorterminal.com/compare/medblocks-vs-rook.md)\n- [Medblocks vs Terra API](https://www.anchorterminal.com/compare/medblocks-vs-terra.md)\n- [Medblocks vs Validic Inform](https://www.anchorterminal.com/compare/medblocks-vs-validic.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Medblocks vs Particle Health",
        "url": ""
      }
    ],
    "description": "Medblocks scores 52.7 (D) to Particle Health's 48.6 (D) for patient record retrieval. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Medblocks D 52.7",
      "Particle Health D 48.6",
      "scores"
    ],
    "h1": "Medblocks vs Particle Health",
    "image": "https://www.anchorterminal.com/assets/og/compare-medblocks-vs-particle-health.png",
    "path": "/compare/medblocks-vs-particle-health",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Medblocks vs Particle Health for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/medblocks-vs-particle-health"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
