Maharashtra Medicine MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
pip install fastmcp pandas google-generativeai
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "GEMINI_API_KEY=${GEMINI_API_KEY}" maharashtra-medicine-mcp -- python "<FULL_PATH_TO_INVENTORY_MCP_SERVER>/dist/index.js"

Replace <FULL_PATH_TO_INVENTORY_MCP_SERVER>/dist/index.js with the actual folder you prepared in step 1.

Required:GEMINI_API_KEY
README.md

AI-powered MCP server to analyse Maharashtra wholesale medicine purchase data.

Maharashtra Medicine Purchase — FastMCP Server

AI-powered MCP server that lets Claude (or any MCP client) analyse Maharashtra wholesale medicine purchase data through 10 focused tools.


Project Structure

medicine_mcp_server/
├── server.py                         # MCP server (all tools)
├── data/
│   └── maharashtra_wholesale_medicine_purchase.csv
├── pyproject.toml
└── README.md

Quick Start

1. Install dependencies

pip install fastmcp pandas google-generativeai

2. Set your Gemini API key (needed only for `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

3. Run locally (stdio transport — Claude Desktop / mcp-remote)

python server.py

4. Run as HTTP server (SSE transport — Azure App Service / any HTTP host)

# 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 (`claude_desktop_config.json`)

{
  "mcpServers": {
    "medicine": {
      "command": "python",
      "args": ["/path/to/medicine_mcp_server/server.py"],
      "env": {
        "GEMINI_API_KEY": "AIza..."
      }
    }
  }
}

Azure App Service Deployment

  1. Push the project to your Azure App Service.
  2. Set ANTHROPIC_API_KEY as an Application Setting.
  3. Set startup command:
    fastmcp run server.py --transport sse --host 0.0.0.0 --port 8000
    
  4. In Claude Desktop / mcp-remote, point to:
    https://<your-app>.azurewebsites.net/sse
    

Available Tools

# 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

Example Queries (Natural Language Tool)

  • "Which supplier sold the most Schedule H drugs?"
  • "What is the total GST paid by Ganesh Medical Store?"
  • "List all Cipla products purchased in April 2024."
  • "Which medicines expire before December 2025?"
  • "Show top 5 products by total spend."
  • "Which invoices had the highest discount percentage?"
  • "What is the average MRP of Schedule X drugs?"

Extending to a Larger Dataset

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.

Tools (10)

search_medicinesSearch by product, manufacturer, supplier, or buyer.
get_invoice_detailsRetrieve full line-items for one or more invoices.
filter_by_scheduleFilter medicines by drug schedule (H, H1, X, G, OTC).
get_expiry_alertsIdentify medicines expiring within a specified number of days.
analyse_supplierGet spend and invoice summary for a specific supplier.
analyse_buyerGet purchase history and schedule mix for a specific buyer.
top_products_by_spendRank products by taxable amount or quantity.
gst_summaryGet CGST, SGST, and IGST breakdown by invoice, supplier, or buyer.
cold_chain_and_narcotic_itemsRetrieve cold-chain and Schedule X items.
natural_language_queryAsk free-form questions about the data answered by Claude.

Environment Variables

GEMINI_API_KEYrequiredAPI key for natural language query functionality.

Configuration

claude_desktop_config.json
{"mcpServers": {"medicine": {"command": "python", "args": ["/path/to/medicine_mcp_server/server.py"], "env": {"GEMINI_API_KEY": "AIza..."}}}}

Try it

Which supplier sold the most Schedule H drugs?
What is the total GST paid by Ganesh Medical Store?
List all Cipla products purchased in April 2024.
Which medicines expire before December 2025?
What is the average MRP of Schedule X drugs?

Frequently Asked Questions

What are the key features of Maharashtra Medicine MCP Server?

Analyze wholesale medicine purchase data using 10 focused tools. Support for natural language queries via Gemini API. Inventory searching and expiry tracking capabilities. GST breakdown and supplier/buyer performance analysis. Support for both stdio and SSE transport modes.

What can I use Maharashtra Medicine MCP Server for?

Tracking medicine expiry dates to manage inventory turnover. Auditing GST payments across different suppliers and buyers. Analyzing supplier performance based on spend and invoice history. Identifying high-value products by spend and quantity. Monitoring the distribution of restricted drug schedules like Schedule X.

How do I install Maharashtra Medicine MCP Server?

Install Maharashtra Medicine MCP Server by running: pip install fastmcp pandas google-generativeai

What MCP clients work with Maharashtra Medicine MCP Server?

Maharashtra Medicine MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Maharashtra Medicine MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare