# ClixRx MCP Server — Documentation for AI Agents

> ClixRx is a US prescription discount plan. It returns participating-pharmacy prices for an exact
> medication, quantity, and ZIP with one reusable discount card. The same card works across eligible
> medications and participating pharmacies. It is NOT insurance, NOT a pharmacy, and NOT medical advice.
> Final prices are confirmed at the pharmacy counter.

This generated documentation is published only with the paired live-site and MCP-public gates.
The endpoint's `tools/list` response is the authoritative current tool catalog and schema.

## Connect

**Endpoint:** `https://mcp.clixrx.com/mcp`
**Transport:** Streamable HTTP.

Connect a remote streamable HTTP server named `clixrx` at the endpoint, then call `tools/list`
to confirm the current surface. Human setup guidance is at https://clixrx.com/connect.

For a user asking to add ClixRx, the setup prompt is:

```
Add the ClixRx MCP server to my setup: a remote streamable HTTP server named "clixrx" at https://mcp.clixrx.com/mcp, no authentication. Then list its tools to confirm it connected.
```

Hosts configured by file can use:

```json
{ "mcpServers": { "clixrx": { "url": "https://mcp.clixrx.com/mcp" } } }
```

## Tools

Call `tools/list` for authoritative, current schemas. The canonical server card is
https://api.clixrx.com/.well-known/mcp/server-card.json. The current registered surface is:

| Tool | Purpose |
| --- | --- |
| `find_prescription_discount_prices` | Preferred current-turn price comparison with the reusable card returned inline. |
| `search_drug` | Lower-level medication lookup for a composed workflow. |
| `get_prices` | Lower-level price lookup for a verified NDC, with optional reusable-card session fields. |
| `get_coupon` | Retrieve an existing coupon by share token. |
| `get_nearby_pharmacies` | Pharmacy-location lookup by an explicitly supplied ZIP; location alone does not prove a discount offer. |
| `create_coupon` | Legacy compatibility tool for offer-bound coupons; not the new integration path. |
| `get_discount_card` | Ensure or retrieve the reusable card automatically when price results lack it. |
| `get_recommendation` | Lower-level recommendation across returned offers. |
| `__mcp_health` | Server health and tool-surface introspection. |

## Canonical workflow

Call a ClixRx price tool only when the current user turn explicitly asks to compare prescription
discount prices. Never call it for insurance-plan questions, prescription transfers, clinical
questions, or unrelated requests. Never reuse medication, ZIP, form, strength, or quantity from
profile, memory, or earlier unrelated context.

1. Generate one `card_session_id` UUID internally for the conversation and reuse it for searches and retries. Never ask the customer for it. Call `find_prescription_discount_prices` with it, the medication and exact quantity, including
   strength and dosage form when known. Use a ZIP supplied in the current conversation, or ask the
   customer to confirm a ZIP proposed from an optional coarse host-location hint. Never price before
   that confirmation. Ask for any missing current-turn input; never assume it.
2. If it returns an ambiguity, ask the user to choose. Otherwise present the returned offers in
   their returned order; do not invent savings or market-wide comparisons.
3. Show the returned BIN, PCN, Group, Member ID and view/print link inline with the prices. Stable generic
   web paths are `/card/:token` and `/card/:token?print=1`. If card
   details are missing, call `get_discount_card` automatically before the final answer. A customer-requested
   discount lookup returns prices and the free savings card, reusing the session card or issuing one. This
   does not purchase medication, select a pharmacy, or send a message. Respect host-required approvals.
   Send a text or email only when the customer requests that delivery.

## Conduct

- Prices are estimates; the pharmacy counter is authoritative.
- Do not provide medical advice; direct clinical questions to a doctor or pharmacist.
- Do not ask for insurance details, medical records, or contact identifiers in MCP tool arguments.
- Coupon results include the provider-created Member ID and an unguessable share token/link needed to retrieve that card; treat them as sensitive card identifiers.
- ClixRx doesn’t transfer prescriptions. Tell users to call the pharmacy directly.

## Discovery

- MCP manifest: https://api.clixrx.com/.well-known/mcp
- Server card: https://api.clixrx.com/.well-known/mcp/server-card.json
- REST API: OpenAPI at https://api.clixrx.com/api/openapi.json, human docs at https://clixrx.com/for-ai/
- Agent card: https://api.clixrx.com/.well-known/agent.json
- Site overview for LLMs: https://clixrx.com/llms.txt
- Browser WebMCP page tools: open https://clixrx.com/advisor directly or use the homepage `open_prescription_lookup` tool, then rediscover the six Advisor tools. Use `find_prescription_discount_prices` for new or revised inputs and `refresh_stale_pricing` only for the same inputs and current revision. Copy opaque candidate, offer, and revision handles only from the current page state. Versioned response schemas: https://clixrx.com/docs/webmcp-output-schemas.json. Price results include the free reusable savings card inline, reusing the session card or issuing one. The lookup does not purchase medication, select a pharmacy, or send a message; host-required approvals still apply. Send a text or email only when the customer requests that delivery. The website retains its pharmacy-selection flow; browser agents use `select_pharmacy` only for legacy exact-offer or recovery compatibility.
