MediAssist AI
An educational healthcare assistant MCP server that provides medication information, interaction checks, symptom guidance, and health topic searches using local data and a local LLM.
README
MediAssist AI
Educational healthcare information assistant built with:
- Python
- FastAPI backend
- Streamlit frontend
- MCP (Model Context Protocol) tool server
- Ollama
- Llama 3.2
This application is for educational/general health information only. It does not diagnose disease, prescribe treatment, or replace a qualified healthcare professional. For emergencies, contact local emergency services.
Architecture
Streamlit UI
|
| HTTP
v
FastAPI Backend
|
+---- Ollama / llama3.2
|
+---- MCP Client ---- stdio ---- MCP Server
|
+-- medication_info
+-- interaction_check
+-- symptom_guidance
+-- health_topic_search
The LLM receives the user question and MCP tool results. Medication and interaction tools use the included local educational dataset; the model is instructed not to invent clinical facts.
Features
- Chat UI with conversation history
- FastAPI REST endpoints
- Ollama health check
- MCP server/client integration
- Local medication information lookup
- Local interaction examples
- Symptom guidance with conservative red-flag routing
- Health topic search
- API validation and error handling
- Basic tests
- No paid LLM API key
Requirements
- Python 3.11+
- Ollama installed locally
Pull Llama 3.2:
ollama pull llama3.2
Installation
Windows PowerShell
cd mediassist_AI
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Copy-Item .env.example .env
macOS/Linux
cd mediassist_AI
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
Run
Terminal 1:
uvicorn backend.main:app --reload --port 8000
Terminal 2:
streamlit run frontend/app.py
Open Streamlit, normally at:
http://localhost:8501
FastAPI Swagger:
http://localhost:8000/docs
Example questions
- What is paracetamol commonly used for?
- Check the included interaction information for warfarin and ibuprofen.
- I have a mild headache. What general self-care guidance is appropriate?
- Search the knowledge base for hypertension.
- Explain diabetes in simple language.
Important design choice
The medication and interaction database is deliberately small and educational. Production medical software should use validated clinical data sources, governance, audit trails, clinician review, privacy controls, security testing, and jurisdiction-specific compliance.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.