Free. No auth. Streamable HTTP.

A drug interaction MCP server for Claude, ChatGPT, and Cursor

Give your assistant the Interaction Checker tools. Ask "can I take these together?" and it checks every pair against FDA prescribing labels and answers with the exact sentence and a link, instead of guessing.

8 read-only toolsNo sessions, no tokens60 requests/min per IPChatGPT search and fetch

Server URL

https://interaction-checker.com/mcp

Paste it into any MCP client. There is no sign-in step because the server needs none.

Add it to your client

Claude

In Claude (web or desktop) open Settings, Connectors, Add custom connector, and paste the server URL. No OAuth step appears because none is needed. In Claude Code:

Claude Code
claude mcp add --transport http interaction-checker https://interaction-checker.com/mcp

ChatGPT

Settings, Connectors, Create: paste the server URL and choose no authentication. The server implements the search and fetch tools ChatGPT expects, so it works in deep research as well as in ordinary chats with developer mode on.

Cursor, Windsurf, Claude Desktop (JSON config)

mcp.json
{
  "mcpServers": {
    "interaction-checker": {
      "url": "https://interaction-checker.com/mcp"
    }
  }
}

VS Code

.vscode/mcp.json
{
  "servers": {
    "interaction-checker": {
      "type": "http",
      "url": "https://interaction-checker.com/mcp"
    }
  }
}

Tools

ToolArgumentsWhat it does
check_interactionsitems: string[]Every pair among a list, with severity and the label quotes behind it.
search_substancesquery: string, limit?: numberFind drugs, supplements, foods, and habits by name, brand, class, or plain language.
get_substanceid: stringNames, classes, label source, interaction counts.
get_substance_interactionsid: string, severity?: stringEverything one item interacts with, most severe first.
get_pill_appearancesid: stringWhat a drug looks like: every tablet and capsule version, with images.
get_drug_factsid: stringSourced facts, community claims with evidence status, misconceptions, FAQ.
searchquery: stringChatGPT connector search: documents to read with fetch.
fetchid: stringChatGPT connector fetch: one document by id.

Every tool returns a readable text block and, where it applies, structuredContent with the same JSON the REST API returns. Items can be generic names, brands, supplements, foods, or habits; unresolved names come back with suggestions so the assistant can ask instead of guessing.

What a conversation looks like

You: I take sertraline and my doctor added tramadol. I also use St. John's wort. Anything to worry about?

Assistant (after calling check_interactions with those three): All three pairs are graded major. The sertraline label says increased risk of serotonin syndrome when co-administered with other serotonergic agents, and quotes the instruction to inform patients and monitor for symptoms. NCCIH's St. John's wort page warns that combining it with antidepressants and other serotonergic drugs increases the same risk. Then the links, and a reminder to raise it with the prescriber or pharmacist.

Protocol notes

  • Transport. Streamable HTTP at a single endpoint, POST https://interaction-checker.com/mcp. Responses are plain JSON; there are no server-initiated streams, so GET and DELETE return 405.
  • Versions. 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26. Clients on the 2026-07-28 revision send per-request _meta and the MCP-Protocol-Version, Mcp-Method, and Mcp-Name headers, which are validated; older clients open with initialize. server/discover is implemented.
  • Stateless. No session ids are minted or required. Every call carries everything it needs.
  • Limits. 60 requests per minute per IP (429 with Retry-After), 10 items per check, CORS open for browser-based clients.

A raw call, for anyone wiring it up by hand:

curl
curl -X POST https://interaction-checker.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_interactions","arguments":{"items":["warfarin","aspirin","fish oil"]}}}'

Questions

What is an MCP server?
The Model Context Protocol is an open standard that lets AI assistants call tools. Adding this server to Claude, ChatGPT, Cursor, or another MCP client gives the assistant a check_interactions tool (plus search and lookup tools), so when you ask about your medicines it answers from FDA label text with links instead of from memory.
Does it need an account or a token?
No. The endpoint is public and free. It is rate limited to 60 requests per minute per IP, which is far more than a conversation uses.
Which clients work?
Any client that speaks MCP over Streamable HTTP: Claude (custom connectors, Claude Code, Claude Desktop), ChatGPT (as a connector, including deep research through the search and fetch tools), Cursor, VS Code, Windsurf, and the official SDKs. The server supports protocol versions 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26.
Is anything stored?
No. The server is stateless: there are no sessions, no accounts, and no log of what you checked beyond the ordinary short-lived request logs described in the privacy policy.
How accurate is it?
As accurate as the FDA label wording it quotes, graded by a consistent rule described on the about page. Every result carries the sentence and a DailyMed link so the assistant (and you) can verify it. It is not medical advice, and a pair with nothing documented is not proven safe.