Skip to main content
Glama

medical-mcp-agent

Python 3.12 License: MIT Groq Llama-3.3-70b

Overview ๐Ÿฉบ

medical-mcp-agent is a Python-based AI-powered medical assistant prototype that combines Groq's Llama-3.3-70b model, real-time PubMed literature search, and a Model Context Protocol (MCP) server.

It provides three interfaces:

  • FastAPI REST API backend for structured diagnostic JSON responses

  • Streamlit web dashboard for an interactive dark-themed clinical assistant experience

  • FastMCP server exposing medical tools to LLM clients

This repository is designed for clinical decision support research and prototyping, not for actual medical diagnosis.

Related MCP server: MCP Healthcare Server

Table of Contents ๐Ÿ“š

Features โœจ

  • Extracts medical symptoms from natural language patient descriptions using AI

  • Generates ranked differential diagnoses, home remedies, treatments, and red-flag warnings

  • Searches and fetches real research articles from the NCBI PubMed database

  • Summarizes medical research abstracts into concise 3-4 line insights using AI

  • Beautiful dark-themed Streamlit dashboard with symptom tags, expandable article cards, and emergency warning banners

  • FastAPI REST endpoint: POST /diagnosis

  • MCP server with four callable tools for LLM agents

Tech Stack ๐Ÿง 

  • Python 3.12

  • Groq API with Llama-3.3-70b-versatile

  • FastAPI + Uvicorn for REST backend

  • Streamlit for web UI

  • FastMCP for MCP server framework

  • NCBI PubMed Entrez API for medical literature search

  • BeautifulSoup4 + lxml for HTML/XML parsing

  • uv as the Python package manager

Project Structure ๐Ÿ—‚๏ธ

medical-mcp-agent/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ core/
โ”‚   โ”‚   โ”œโ”€โ”€ config.py               # Groq client setup
โ”‚   โ”‚   โ”œโ”€โ”€ symptom_extractor.py    # AI symptom extraction
โ”‚   โ”‚   โ”œโ”€โ”€ diagnosis_symptoms.py   # AI diagnosis generation
โ”‚   โ”‚   โ”œโ”€โ”€ pubmed_articles.py      # PubMed search and fetch
โ”‚   โ”‚   โ””โ”€โ”€ summarize_pubmed.py     # AI abstract summarization
โ”‚   โ”œโ”€โ”€ app/
โ”‚   โ”‚   โ”œโ”€โ”€ api.py                  # FastAPI backend
โ”‚   โ”‚   โ””โ”€โ”€ streamlit.py            # Streamlit web dashboard
โ”‚   โ””โ”€โ”€ mcp/
โ”‚       โ””โ”€โ”€ server.py               # FastMCP MCP server
โ”œโ”€โ”€ .env                            # API keys
โ”œโ”€โ”€ pyproject.toml                  # Project dependencies
โ””โ”€โ”€ requirements.txt

Installation โš™๏ธ

  1. Clone the repository:

git clone https://github.com/your-username/medical-mcp-agent.git
cd medical-mcp-agent
  1. Create a .env file in the project root with your Groq API key:

GROQ_API_KEY=your_key_here
  1. Install dependencies with uv:

uv sync

Always prefix commands with PYTHONPATH=. when running from the project root.

Usage ๐Ÿš€

Run FastAPI

Start the REST backend using the repository root:

PYTHONPATH=. python src/app/api.py

The API exposes:

  • POST /diagnosis

Run Streamlit

Open the Streamlit dashboard with:

PYTHONPATH=. uv run streamlit run src/app/streamlit.py

Run MCP Server

Launch the MCP server for LLM integrations:

PYTHONPATH=. uv run fastmcp dev inspector src/mcp/server.py

MCP Tools ๐Ÿงฉ

The MCP server exposes the following callable tools:

  1. extract_patient_symptoms โ€” Extracts symptoms from natural language text

  2. generate_differential_diagnosis โ€” Generates diagnoses from a list of symptoms

  3. search_pubmed_literature โ€” Searches NCBI PubMed and returns article metadata

  4. synthesize_medical_abstracts โ€” Summarizes medical research abstracts

These tools allow LLM clients to request structured medical assistance through MCP-aware workflows.

Environment Variables ๐Ÿ”

Create a .env file and add the following variable:

GROQ_API_KEY=your_key_here

The Groq API key is required for all AI-powered operations.

Example API Request ๐Ÿงช

Send a patient description to the FastAPI endpoint:

curl -X POST http://127.0.0.1:8000/diagnosis \
  -H "Content-Type: application/json" \
  -d '{"patient_description": "36-year-old female with fever, cough, and chest pain."}'

The response returns structured JSON with symptoms, differential diagnosis, treatments, and alerts.

Notes ๐Ÿ“

  • The Streamlit dashboard includes symptom tags, article cards, and warning banners for urgent issues.

  • The PubMed integration searches the NCBI Entrez API and parses results with BeautifulSoup.

  • The MCP server supports integration with external LLM agents and tool-based workflows.

Disclaimer โš ๏ธ

This repository is a clinical decision support prototype and NOT a replacement for professional medical advice.

Use this project for experimentation, research, and learning only. Always consult a licensed healthcare professional for real medical decisions.

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    Provides AI-powered medical image analysis tools for LLM agents, enabling tasks such as X-ray classification, interactive segmentation, and visual question answering. It supports multi-step diagnostic reasoning and clinical workflows through a suite of specialized medical AI models.
    Last updated
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    Provides real-time access to medical data including drug interactions, ICD-10 codes, FDA adverse event reports, and clinical guidelines. It enables LLMs to query databases like openFDA, PubMed, and CMS for pharmaceutical and clinical information.
    Last updated
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Physician-reviewed medical opinions and prescriptions for AI agents.

  • Doctor-reviewed blood-test markers, conditions & symptoms as agent tools. EN/RU/HE. Hosted.

  • Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.

View all MCP Connectors

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/akshay-aiml/medical-mcp-agent'

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