政府ID信息查询服务

一个基于MCP协议的服务器实现,通过JSON数据库提供政府ID信息(Aadhaar、PAN卡、护照)和申诉状态查询,并与Google的Gemini LLM API集成。

  • by pushap-crossml
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pushap-crossml/MCP_Assignment

使用说明

MCP_分配

模型上下文协议(MCP)服务器实现,通过JSON数据库提供对政府身份信息(Aadhaar、PAN卡、护照)的访问和申诉状态检查,并与Google的Gemini LLM API集成。

📋 概述

该项目实施了一个MCP服务器,用于存储和检索政府身份数据和申诉信息。用户可以通过Gemini LLM使用自然语言提示与系统交互,该LLM从MCP服务器获取信息。

🚀 特性

  • 政府ID存储:存储和检索Aadhaar、PAN卡和护照信息
  • 申诉跟踪:检查申诉/投诉的状态
  • MCP 服务器:符合标准的模型上下文协议服务器
  • Gemini LLM集成:使用谷歌Gemini API的自然语言查询
  • JSON数据库:基于JSON的轻量级数据存储

🛠️ 安装

  1. 克隆存储库

    git clone https://github.com/pushap-crossml/MCP_Assignment.git
    cd MCP_ASSIGNMENT
    
  2. 创建虚拟环境

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. 安装依赖项

    pip install -r requirements.txt
    
  4. 设置环境变量

    创建一个 .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_details
  • get_pancard_details
  • get_passport_details
  • check_grievance_status

cred.py

管理API凭据和身份验证。

🔐 安全注意事项

  • 将敏感的API密钥存储在 .env 文件
  • 添加 .env 到 .gitignore (已包含)
  • 永远不要提交真实的政府身份证数据
  • 使用样本/模拟数据进行测试

📦 依赖项

关键依赖关系包括:

  • google-generativeai -Gemini LLM API
  • python-dotenv -环境变量管理
  • 用于服务器实现的MCP相关库

看 requirements.txt 查看完整列表。

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求