latest update:
[RxAtlas]

MCP server. Agent-shaped, source-attributed.

Connect any MCP-compatible agent — Claude, Codex, Gemini, Cursor, and others — to the dataset over Model Context Protocol. Every tool response carries a source URL and source class on every value, so agents can cite the exact source record and every answer stays traceable.

MCP access is included with the Snapshot + API tier. The customer portal token covers both REST API and MCP server — same scope, same rate limits.
Pay-per-call settlement is currently exposed by the REST API, not as a discoverable MCP payment challenge. A tokenless MCP client remains sample-scoped; use a bearer token for full MCP access, or call the REST API for an isolated paid lookup. See API → Agent payments.

Endpoint

http
https://api.rxatlas.dev/mcp

MCP runs over the Streamable HTTP transport. Client configuration: the URL above, bearer token in the Authorization header. On a 401 the server returns a WWW-Authenticate header pointing at its OAuth 2.0 Protected Resource Metadata (RFC 9728), so compliant clients can discover how to authenticate.

Free to try — no token required: point any MCP client at the URL above with no Authorization header and you get the sample-scoped tools over the evaluation dataset. Every value still cites its source_url. With a token, you get the full catalogue.

Any MCP-compatible client

The server and bearer-token contract are harness agnostic. Client config wrappers are not: Claude uses JSON with an HTTP server type, Gemini uses JSON with an httpUrl, and Codex uses TOML with a token environment-variable reference.

Claude Desktop and Claude Code

~/Library/Application Support/Claude/claude_desktop_config.jsonjson
{
  "mcpServers": {
    "rxatlas-db": {
      "type": "http",
      "url": "https://api.rxatlas.dev/mcp",
      "headers": {
        "Authorization": "Bearer rxatlas_live_····"
      }
    }
  }
}

Gemini CLI

~/.gemini/settings.jsonjson
{
  "mcpServers": {
    "rxatlas-db": {
      "httpUrl": "https://api.rxatlas.dev/mcp",
      "headers": {
        "Authorization": "Bearer rxatlas_live_····"
      }
    }
  }
}

OpenAI Codex

Put the portal token in DBSET_API_TOKENso it stays out of the checked-in config file.

~/.codex/config.tomltoml
[mcp_servers.rxatlas-db]
url = "https://api.rxatlas.dev/mcp"
bearer_token_env_var = "DBSET_API_TOKEN"
enabled = true

Cursor

.cursor/mcp.jsonjson
{
  "mcpServers": {
    "rxatlas-db": {
      "url": "https://api.rxatlas.dev/mcp",
      "headers": { "Authorization": "Bearer rxatlas_live_····" }
    }
  }
}

Tools exposed

The following tools are registered with the MCP server. All tools are annotated read-only, idempotent, and closed-world — a miss returns an isError result so the agent can self-correct.

Search drug products by brand, generic, ingredient, manufacturer, dosage form, route, or free text.

drugs_get

Fetch one canonical drug product by id, with every source's provenance + cross-source IDs (NDC / RxCUI / SPL / application no).

drugs_lookup_by_ids

Bulk NDC-only product resolution with exact segmented NDC10/NDC11 normalization. Each query returns status plus matches[]. RxCUI and SPL set-id are one-to-many filters on drugs_search, not bulk identities.

drugs_coverage

Per-source / per-route / per-schedule coverage counts across the canonical drug catalogue.

The full tool descriptions and parameter schemas are returned by the server's tools/list call — your MCP client fetches them automatically on connect.
Review the field definitions, coverage, and source notes before relying on agent output in production.

Response shape

Every tool returns its result as structuredContent (machine-readable) alongside a JSON text block, and carries a _provenance map keyed by field. Agent integrations should cite the source_url verbatim — fabricated citations defeat the audit trail the MCP server exists to provide.

json
{
  "id": 1,
  "field_a": "example value",
  "_provenance": {
    "field_a": {
      "source": "cms-sdud",
      "source_url": "https://data.medicaid.gov/dataset/158a1baa-5506-400a-8ec3-97756f0b0536",
      "source_class": "government",
      "effective": true,
      "superseded_at": null
    }
  }
}

Data freshness

The MCP server serves the live rolling database. Corrections and new coverage are published as they arrive, with no fixed schedule. Snapshot-tier customers get versioned files; the API and MCP tier reflects the current state of the DB.