使用说明
马哈拉施特拉邦药品采购——FastMCP服务器
人工智能驱动的MCP服务器,让Claude(或任何MCP客户端)进行分析 马哈拉施特拉邦批发药品采购数据通过10个重点工具。
项目结构
medicine_mcp_server/
├── server.py # MCP server (all tools)
├── data/
│ └── maharashtra_wholesale_medicine_purchase.csv
├── pyproject.toml
└── README.md
快速开始
1.安装依赖项
pip install fastmcp pandas google-generativeai
2.设置Gemini API密钥(仅用于 natural_language_query)
export GEMINI_API_KEY=AIza...
# or: export GOOGLE_API_KEY=AIza...
获取免费钥匙https://aistudio.google.com/app/apikey
3.本地运行(stdio传输--克劳德桌面/mcp远程)
python server.py
4.作为HTTP服务器运行(SSE传输--Azure应用服务/任何HTTP主机)
# In server.py, change the last line to:
mcp.run(transport="sse", host="0.0.0.0", port=8000)
或者通过CLI传递:
fastmcp run server.py --transport sse --host 0.0.0.0 --port 8000
Claude桌面配置(claude_desktop_config.json)
{
"mcpServers": {
"medicine": {
"command": "python",
"args": ["/path/to/medicine_mcp_server/server.py"],
"env": {
"GEMINI_API_KEY": "AIza..."
}
}
}
}
Azure应用服务部署
- 将项目推送到Azure应用服务。
- 集
ANTHROPIC_API_KEY作为应用程序设置。 - 设置启动命令:
fastmcp run server.py --transport sse --host 0.0.0.0 --port 8000 - 在克劳德桌面/
mcp-remote,指向:https://<your-app>.azurewebsites.net/sse
可用工具
| # | 工具 | 目的 |
|---|---|---|
| 1 | search_medicines |
按产品/制造商/供应商/买家搜索 |
| 2 | get_invoice_details |
一张或多张发票的整行项目 |
| 3 | filter_by_schedule |
按药物表筛选(H、H1、X、G、OTC) |
| 4 | get_expiry_alerts |
N天内过期的药品 |
| 5 | analyse_supplier |
供应商的支出和发票摘要 |
| 6 | analyse_buyer |
买家的购买历史和日程组合 |
| 7 | top_products_by_spend |
按应税金额/数量对产品进行排名 |
| 8 | gst_summary |
按发票/供应商/买方分列的CGST/SGST/IGST明细 |
| 9 | cold_chain_and_narcotic_items |
冷链和附表X项目 |
| 10 | natural_language_query |
Claude回答的自由形式NL问题 |
示例查询(自然语言工具)
- “哪家供应商销售的附表H药物最多?”
- “Ganesh Medical Store支付的商品及服务税总额是多少?”
- “列出2024年4月购买的所有Cipla产品。”
- “哪些药物在2025年12月之前过期?”
- “按总支出显示前5名产品。”
- “哪些发票的折扣率最高?”
- “附表X药物的平均MRP是多少?”
扩展到更大的数据集
CSV路径设置在 server.py:
CSV_PATH = os.path.join(os.path.dirname(__file__), "data", "maharashtra_wholesale_medicine_purchase.csv")
使用相同的列架构将CSV替换为更大的文件,然后重新启动 服务器。所有工具都将自动处理新数据。对于数据集
10万行考虑加载到Azure认知搜索中并替换
_load_df()具有搜索索引查询功能。