Skip to main content
Glama

openfda_adverse_getter

Retrieve detailed FDA adverse event reports including patient demographics, drug details, adverse reactions, and outcomes using a specific report ID. Access critical biomedical data via BioMCP.

Instructions

Get detailed information for a specific FDA adverse event report.

Retrieves complete details including: - Patient demographics and medical history - All drugs involved and dosages - Complete list of adverse reactions - Event narrative and outcomes - Reporter information

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
api_keyNoOptional OpenFDA API key (overrides OPENFDA_API_KEY env var)
report_idYesSafety report ID

Implementation Reference

  • MCP tool handler and registration for 'openfda_adverse_getter'. Defines input schema via Annotated Fields and delegates to core implementation.
    @mcp_app.tool() @track_performance("biomcp.openfda_adverse_getter") async def openfda_adverse_getter( report_id: Annotated[ str, Field(description="Safety report ID"), ], api_key: Annotated[ str | None, Field( description="Optional OpenFDA API key (overrides OPENFDA_API_KEY env var)" ), ] = None, ) -> str: """Get detailed information for a specific FDA adverse event report. Retrieves complete details including: - Patient demographics and medical history - All drugs involved and dosages - Complete list of adverse reactions - Event narrative and outcomes - Reporter information """ from biomcp.openfda import get_adverse_event return await get_adverse_event(report_id, api_key=api_key)
  • Core helper function implementing the OpenFDA adverse event retrieval and formatting logic, called by the MCP handler.
    async def get_adverse_event(report_id: str, api_key: str | None = None) -> str: """ Get detailed information for a specific adverse event report. Args: report_id: Safety report ID api_key: Optional OpenFDA API key (overrides OPENFDA_API_KEY env var) Returns: Formatted string with detailed report information """ params = { "search": f'safetyreportid:"{report_id}"', "limit": 1, } response, error = await make_openfda_request( OPENFDA_DRUG_EVENTS_URL, params, "openfda_adverse_event_detail", api_key, ) if error: return f"⚠️ Error retrieving adverse event report: {error}" if not response or not response.get("results"): return f"Adverse event report '{report_id}' not found." result = response["results"][0] patient = result.get("patient", {}) # Build detailed output output = [f"## Adverse Event Report: {report_id}\n"] # Patient Information output.extend(_format_patient_info(patient)) # Drug Information if drugs := patient.get("drug", []): output.extend(format_drug_details(drugs)) # Reactions if reactions := patient.get("reaction", []): output.extend(format_reaction_details(reactions)) # Event Summary if summary := patient.get("summary", {}).get("narrativeincludeclinical"): output.append("### Event Narrative") output.append(clean_text(summary)) output.append("") # Report metadata output.extend(format_report_metadata(result)) output.append(f"\n{OPENFDA_DISCLAIMER}") return "\n".join(output)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/genomoncology/biomcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server