Medical Diagnosis AI MCP
Medical Diagnosis & Literature Analysis AI (MCP & FastAPI)
An AI-powered patient symptom analysis and medical literature research assistant. This repository provides a dual interface: a Model Context Protocol (MCP) server for seamless integration with AI agents (like Claude Desktop or Cursor) and a FastAPI REST API endpoint.
It automatically extracts symptoms from natural language text, uses OpenAI's GPT-4 to suggest potential diagnoses/cures, retrieves relevant medical literature directly from PubMed (via NCBI Entrez APIs), and summarizes the scientific abstracts.
Features
Symptom Extraction: Uses regex-based text processing to extract symptoms (headache, fever, nausea, fatigue, pain) from patient descriptions.
AI-Driven Diagnosis: Leverages OpenAI GPT-4 to analyze symptoms, suggest potential diagnoses, and recommend management strategies/cures.
PubMed Integration: Queries NCBI Entrez APIs to fetch titles, authors, dates, URLs, and abstracts of the latest matching scientific literature.
Scientific Abstract Summarization: Utilizes GPT-4 to compile a structured summary of the retrieved PubMed publications.
Model Context Protocol (MCP) Support: Built with
FastMCPfor quick integration with modern LLM clients.FastAPI Endpoint: Exposes a POST endpoint
/diagnosisfor standard HTTP client integration.
Project Structure
medical_diagnosis_ai_mcp/
├── tools/
│ ├── diagnosis_tools.py # OpenAI GPT-4 interface for suggesting diagnoses/cures
│ ├── symptom_extractor.py # Regex-based symptom extractor
│ ├── pubmed_fetcher.py # NCBI Entrez utility for searching and fetching articles
│ └── summarizer.py # OpenAI GPT-4 interface for summarizing abstracts
├── mcp_tools.py # FastMCP server definition & entrypoint
├── fastapi_app.py # FastAPI server & route handlers
├── pyproject.toml # Project configuration and basic package dependencies
├── uv.lock # Locked dependencies
└── .env # Environment variables (OpenAI keys, base URLs)Prerequisites
Python:
3.12or higherOpenAI API Key (or OpenRouter/compatible LLM provider API Key)
Installation & Setup
Clone the repository:
git clone <your-repo-url> cd medical_diagnosis_ai_mcpSet up environment variables: Create a
.envfile in the root directory (or edit the existing one) with your credentials:OPENAI_API_KEY="your-api-key-here" OPENAI_BASE_URL="https://api.openai.com/v1" # Or OpenRouter/alternative endpointInstall dependencies: We recommend using uv or standard
pip:# Using uv uv sync # Or using pip pip install mcp[cli] fastapi uvicorn openai requests beautifulsoup4 lxml python-dotenv
How to Run
1. Model Context Protocol (MCP) Server
To run the server in development/dev mode or standard mode:
Run directly:
python mcp_tools.pyRun with MCP CLI (Dev Mode):
mcp dev mcp_tools.py
2. FastAPI REST Server
To start the REST API server with live reloading:
uvicorn fastapi_app:app --reloadOnce running, the interactive Swagger documentation will be available at http://127.0.0.1:8000/docs.
Usage Examples
FastAPI API Call
Send a POST request to /diagnosis to run the complete diagnostic analysis:
Request:
curl -X POST "http://127.0.0.1:8000/diagnosis" \
-H "Content-Type: application/json" \
-d '{"description": "The patient complains of severe headache, recurring fever, and extreme fatigue."}'Response Schema:
{
"symptom": [
"headache",
"fever",
"fatigue"
],
"diabnosis": "Based on the symptoms of severe headache, recurring fever, and extreme fatigue, possible diagnoses include...\n\nSuggested cures/treatment...",
"pubmed_summary": "Unified summary of PubMed studies concerning headache, fever, and fatigue..."
}Integrating with Claude Desktop
To expose the tool in Claude Desktop, add the following configuration to your claude_desktop_config.json:
On Windows:
File path: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"medical-diagnosis-ai-mcp": {
"command": "uv",
"args": [
"run",
"--path",
"C:\\path\\to\\your\\medical_diagnosis_ai_mcp",
"mcp_tools.py"
],
"env": {
"OPENAI_API_KEY": "your-api-key-here",
"OPENAI_BASE_URL": "https://api.openai.com/v1"
}
}
}
}(Replace C:\\path\\to\\your\\medical_diagnosis_ai_mcp with the absolute path to your project folder.)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kalevikas/medical-diagnosis-ai-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server