MCP_分配
模型上下文协议(MCP)服务器实现,通过JSON数据库提供对政府身份信息(Aadhaar、PAN卡、护照)的访问和申诉状态检查,并与Google的Gemini LLM API集成。
📋 概述
该项目实施了一个MCP服务器,用于存储和检索政府身份数据和申诉信息。用户可以通过Gemini LLM使用自然语言提示与系统交互,该LLM从MCP服务器获取信息。
🚀 特性
- 政府ID存储:存储和检索Aadhaar、PAN卡和护照信息
- 申诉跟踪:检查申诉/投诉的状态
- MCP 服务器:符合标准的模型上下文协议服务器
- Gemini LLM集成:使用谷歌Gemini API的自然语言查询
- JSON数据库:基于JSON的轻量级数据存储
🛠️ 安装
- 克隆存储库
git clone https://github.com/pushap-crossml/MCP_Assignment.git
cd MCP_ASSIGNMENT- 创建虚拟环境
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 安装依赖项
pip install -r requirements.txt- 设置环境变量
创建一个 .env 项目根目录中的文件:
GEMINI_API_KEY=your_gemini_api_key_here🎯 用法
启动MCP服务器
python agent.py运行客户端
python client.py查询示例
该系统支持以下自然语言查询:
- “显示号码1234-5678-9012的Aadhaar详细信息”
- “获取ABCDE1234F的PAN卡信息”
- “检查申诉状态GR001”
- “查找A12345678的护照详细信息”
🔧 组件详情
agent.py
处理工具注册和请求处理的MCP服务器实现。
client.py
连接到MCP服务器并通过Gemini LLM发送查询的客户端接口。
db.py
用于读/写的数据库操作处理程序 gov_database.json.
tools.py
定义不同操作的MCP工具/功能:
get_aadhaar_detailsget_pancard_detailsget_passport_detailscheck_grievance_status
cred.py
管理API凭据和身份验证。
🔐 安全注意事项
- 将敏感的API密钥存储在
.env文件 - 添加
.env到.gitignore(已包含) - 永远不要提交真实的政府身份证数据
- 使用样本/模拟数据进行测试
📦 依赖项
关键依赖关系包括:
google-generativeai-Gemini LLM APIpython-dotenv-环境变量管理- 用于服务器实现的MCP相关库
看 requirements.txt 查看完整列表。
🤝 贡献
- 分叉存储库
- 创建要素分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
