loading…
Search for a command to run...
loading…
Enables analysis of wholesale medicine purchase data by providing tools for inventory searching, expiry tracking, and supplier or buyer performance analysis. It
Enables analysis of wholesale medicine purchase data by providing tools for inventory searching, expiry tracking, and supplier or buyer performance analysis. It supports specialized filtering for drug schedules and facilitates natural language queries using the Gemini API.
AI-powered MCP server that lets Claude (or any MCP client) analyse Maharashtra wholesale medicine purchase data through 10 focused tools.
medicine_mcp_server/
├── server.py # MCP server (all tools)
├── data/
│ └── maharashtra_wholesale_medicine_purchase.csv
├── pyproject.toml
└── README.md
pip install fastmcp pandas google-generativeai
natural_language_query)export GEMINI_API_KEY=AIza...
# or: export GOOGLE_API_KEY=AIza...
Get a free key at https://aistudio.google.com/app/apikey
python server.py
# In server.py, change the last line to:
mcp.run(transport="sse", host="0.0.0.0", port=8000)
Or pass via CLI:
fastmcp run server.py --transport sse --host 0.0.0.0 --port 8000
claude_desktop_config.json){
"mcpServers": {
"medicine": {
"command": "python",
"args": ["/path/to/medicine_mcp_server/server.py"],
"env": {
"GEMINI_API_KEY": "AIza..."
}
}
}
}
ANTHROPIC_API_KEY as an Application Setting.fastmcp run server.py --transport sse --host 0.0.0.0 --port 8000
mcp-remote, point to:https://<your-app>.azurewebsites.net/sse
| # | Tool | Purpose |
|---|---|---|
| 1 | search_medicines |
Search by product / manufacturer / supplier / buyer |
| 2 | get_invoice_details |
Full line-items for one or more invoices |
| 3 | filter_by_schedule |
Filter by drug schedule (H, H1, X, G, OTC) |
| 4 | get_expiry_alerts |
Medicines expiring within N days |
| 5 | analyse_supplier |
Spend & invoice summary for a supplier |
| 6 | analyse_buyer |
Purchase history & schedule mix for a buyer |
| 7 | top_products_by_spend |
Ranked products by taxable amount / quantity |
| 8 | gst_summary |
CGST / SGST / IGST breakdown by invoice/supplier/buyer |
| 9 | cold_chain_and_narcotic_items |
Cold-chain & Schedule X items |
| 10 | natural_language_query |
Free-form NL question answered by Claude |
The CSV path is set in server.py:
CSV_PATH = os.path.join(os.path.dirname(__file__), "data", "maharashtra_wholesale_medicine_purchase.csv")
Replace the CSV with a larger file using the same column schema and restart the server. All tools will automatically work on the new data. For datasets
100k rows consider loading into Azure Cognitive Search and replacing the
_load_df()function with search-index queries.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"maharashtra-medicine-mcp-server": {
"command": "npx",
"args": []
}
}
}