杂货模拟数据库服务

一个基于Python的MCP服务器,提供与杂货模拟数据库交互的工具,包括产品列表、用户信息查询、订单历史记录、下单和取消订单等功能,所有操作均需确认流程。

  • by nishantrajpoot719
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 nishantrajpoot719/MCP_Server_1_ite

使用说明

MCP服务器:杂货店模拟

这是一个Python模型上下文协议(MCP)服务器,它公开了与杂货店模拟数据库交互的工具 Database/grocery_simulation.db.

工具

  • list_products(query?, limit?, offset?, confirmation_token?):列出可用产品的价格/重量/单位。需要确认。
  • get_user_info(user_id? | phone? | email?, confirmation_token?):返回用户资料和钱包余额。需要确认。
  • get_order_history(user_id? | phone? | email?, start_date?, end_date?, limit?, offset?, confirmation_token?):列出包含项目的过去订单。需要确认。
  • place_order(items_json, user_id? | phone? | email?, confirmation_token?):下订单时,请填写[{“名称”:“牛奶”,“数量”:2}]。需要确认。
  • cancel_order(user_id? | phone? | email?, order_id? | order_date? | products_json?, confirmation_token?):取消未送达的订单。需要确认。
  • confirm(token, proceed=true):批准或取消待处理操作的第二步。

确认流程

所有工具(包括读取)都受到确认层的保护。第一次调用返回a Token 以及人类可读性 Summary。要继续,请致电 confirm 使用令牌(或取消)。确认后,服务器执行存储的动作。

设置

  1. 确保SQLite数据库存在于 Database/grocery_simulation.db。您可以通过运行来重新生成它 Database/databaseCreation.py.
  2. 使用Python 3.11+。
  3. 安装依赖项:
    • 如果需要,激活您的virtualenv。
    • pip install -r server/requirements.txt

运行(stdio)

  • python server/mcp_server.py

从ChatGPT(MCP)连接

  • 在ChatGPT中,添加一个指向以下命令的模型上下文协议(MCP)服务器: python 带args server/mcp_server.py (或绝对路径)。该应用程序将使用stdio进行通信。

备注

  • 产品名称必须与中的条目匹配 Products 表中按产品名称列出的订购/取消信息。
  • 仅允许取消以下订单 Status != 'Delivered'退款记录在 Wallet 作为积极的 RECHARGE 与订单关联。
  • 钱包余额是用户所有钱包交易的总和。