io.github.anthesiallc/meddata

السجل الرسمي الحكومة والقانون

Drug & supplement lookup and interaction checks from free U.S. government health data.

التثبيت

أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: ‏.cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).

PYPI package meddata-mcp
Claude Code
claude mcp add meddata -e 'MEDDATA_API_KEY=<your meddata_api_key>' -- uvx meddata-mcp==0.2.1
إعداد JSON (Claude Desktop وCursor وVS Code)
{
    "mcpServers": {
        "meddata": {
            "command": "uvx",
            "args": [
                "meddata-mcp==0.2.1"
            ],
            "env": {
                "MEDDATA_API_KEY": "<your meddata_api_key>"
            }
        }
    }
}

متغيرات البيئة

  • MEDDATA_API_KEY إلزامي سري MedData API key. Get a free one (250 calls/month, no card) at https://meddata.anthesia.io

التوثيق

مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.

المحتويات
  1. MedData MCP Server
  2. Tools
  3. Get an API key
  4. Install and run
  5. Client configuration
  6. Develop from source
  7. Notes

MedData MCP Server

mcp-name: io.github.anthesiallc/meddata

A Model Context Protocol server that exposes the MedData API as tools, so any MCP client (Claude Desktop, Cursor, ChatGPT connectors, or an agent framework) can look up drug and supplement data and check interactions conversationally.

It's a thin wrapper: each tool maps to one MedData REST endpoint. All the data work happens in the API.

Tools

ToolWhat it does
search_drugsSearch drugs by brand or generic name; returns RxCUI + details
get_drugFull drug profile by RxCUI
get_drug_by_ndcDrug profile by NDC package code
search_supplementsSearch supplements by name; returns supplement IDs
get_supplementFull supplement fact sheet by ID
check_interactionsInteractions across a mixed list of 2-10 drugs/supplements
assess_routineFull assessment of a routine: per-pair coverage, sources, timing and food conditions
get_usageCurrent billing period usage and plan limit
check_interactions vs assess_routine

check_interactions returns a flat list of interactions. assess_routine returns the reasoning: what each submitted name resolved to, what was consulted for every pair, and the document behind each finding. Reach for it when the answer will be explained or acted on rather than just displayed.

The distinction that matters most is in pairs_checked[].status:

statusmeans
findingone or more grounded findings, listed in findings[]
no_finding_in_sourcesa source covering this kind of pair was consulted and had nothing. Absence of a finding is not evidence of safety
not_coveredno source covers this kind of pair, so it was not assessed. Most supplement-supplement pairs land here
unresolvedan item did not resolve, so nothing could be checked

not_covered and no_finding_in_sources are different answers, and a flat empty list cannot tell them apart.

assess_routine also takes class_matching (default off). With it on, a drug matches the therapeutic classes a supplement record names, not only the drug names it lists; those findings carry basis.level: "class" and name the class, so an inferred match stays distinguishable from an explicit one. Findings also carry basis.level (formulation / ingredient / class) saying how closely the source matches what was submitted, three-state timing and food conditions where silence is not_documented rather than "no effect", and references[] with the document version and the verbatim passage.

Get an API key

Free tier is 250 calls/month, no credit card:

curl -X POST https://meddata.anthesia.io/api/v1/signup \
  -H 'Content-Type: application/json' \
  -d '{"email":"you@example.com"}'

The key comes back in the api_key field of the response.

Install and run

The easiest way is with uv (no manual venv needed):

# stdio transport (default — for Claude Desktop, Cursor, most local clients)
MEDDATA_API_KEY=md_your_key uvx meddata-mcp

# streamable-HTTP transport (for remote / web clients)
MEDDATA_API_KEY=md_your_key uvx meddata-mcp --http

Or install with pip into its own environment:

pip install meddata-mcp
MEDDATA_API_KEY=md_your_key meddata-mcp

Note: install into a dedicated environment. The mcp SDK requires a newer starlette than the MedData API app pins, so the two will conflict if installed together.

Environment variables:

  • MEDDATA_API_KEY (required) — your MedData API key.
  • MEDDATA_BASE_URL (optional) — defaults to https://meddata.anthesia.io.
  • MEDDATA_TIMEOUT (optional) — request timeout in seconds, default 30.

Client configuration

Claude Desktop

Add to claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "meddata": {
      "command": "uvx",
      "args": ["meddata-mcp"],
      "env": { "MEDDATA_API_KEY": "md_your_key" }
    }
  }
}
Cursor

Add the same block to ~/.cursor/mcp.json (or the project .cursor/mcp.json).

Smithery (hosted, no install)

The server is hosted on Smithery, so MCP clients that support Smithery can connect without installing anything. You provide your MedData API key in the Smithery config and it routes to the server.

LangChain / LangGraph

Any LangChain or LangGraph agent can use these tools through langchain-mcp-adapters:

# pip install langchain-mcp-adapters langgraph "langchain[anthropic]"
from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient(
    {
        "meddata": {
            "transport": "stdio",
            "command": "uvx",
            "args": ["meddata-mcp"],
            "env": {"MEDDATA_API_KEY": "md_your_key"},
        }
    }
)
tools = await client.get_tools()
# hand `tools` to a LangGraph/LangChain agent, e.g.
# from langgraph.prebuilt import create_react_agent
# agent = create_react_agent("anthropic:claude-opus-4-8", tools)

LlamaIndex works the same way via its MCP tool spec.

Develop from source

git clone https://github.com/anthesiallc/meddata-mcp && cd meddata-mcp
python -m venv .venv
.venv/Scripts/python -m pip install -e ".[http]"   # Windows; [http] adds uvicorn for --http
# .venv/bin/pip install -e ".[http]"                # macOS/Linux
MEDDATA_API_KEY=md_your_key .venv/Scripts/python -m meddata_mcp.server

Notes

  • Data is for informational purposes only and is not medical advice.
  • Interaction data comes from established medical databases; an empty result means none were found in those sources, not that a combination is proven safe.

الأسئلة الشائعة

ما هو io.github.anthesiallc/meddata؟

Drug & supplement lookup and interaction checks from free U.S. government health data.

كيف أثبّت io.github.anthesiallc/meddata؟

يعمل على جهازك. في Claude Code: claude mcp add meddata -e 'MEDDATA_API_KEY=<your meddata_api_key>' -- uvx meddata-mcp==0.2.1. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.

هل يحتاج io.github.anthesiallc/meddata إلى مفتاح API؟

نعم. يتطلب MEDDATA_API_KEY، وتضبطها في إعداداته.

هل io.github.anthesiallc/meddata مفتوح المصدر؟

نعم. شيفرته متاحة على GitHub بترخيص MIT.

من يصون io.github.anthesiallc/meddata؟

ينشره anthesiallc. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.

من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.