关于 🍽️ MCP Restaurant Ordering API Server
MCP Restaurant Ordering API Server 是一个基于 Django REST Framework 的餐厅订单示例 API,适合测试 API 与 MCP 集成。它围绕虚构菜单提供订单创建、查询、更新及状态追踪等功能。
主要功能
- 01创建和管理订单
- 02查询订单详情与历史
- 03按时间范围筛选近期订单
- 04追踪成功或失败状态
适用场景
- 01测试餐厅订单 API 集成
- 02查看指定时间段内的订单
- 03模拟订单成功与失败流程
MCP 相关
项目将 RESTful API 描述为符合 MCP 模式的示例,但 README 未说明具体提供给 MCP 客户端的工具或连接方式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
🍽️ MCP 餐厅点餐 API 服务
欢迎使用基于 Django + Django REST Framework 构建的 兼容 MCP 的餐厅 API。
模拟顾客从虚拟餐厅菜单点餐,并实时跟踪订单状态。 非常适合与任何 MCP 服务集成。
🧠 为什么称为 MCP 服务?
我们称之为 MCP 服务,因为它遵循 Model-Context-Protocol 模式:
- 模型 →
Order模型定义数据结构(菜品、状态、时间)。 - 上下文 →
/recent/?hours=2等近期查询可提供上下文信息(例如,最近 2 小时的数据)。 - 协议 → RESTful API 定义了结构化的通信协议。
可以把它想象成美食广场里的 AI 助手:
🍔 模型 = 菜单上有什么
⏰ 上下文 = 现在什么最受欢迎
📡 协议 = 它如何与你通信(API)
这使它非常适合接入更大型的 AI/自动化流水线,在这些场景中,结构化数据、时间上下文和简洁的 API 都至关重要。
📁 项目目录
├── mcp_server/
│ ├── requirements.txt
│ ├── db.sqlite3
│ ├── README.md
│ ├── .env
│ ├── manage.py
│ ├── orders/
│ │ ├── models.py
│ │ ├── serializers.py
│ │ ├── apps.py
│ │ ├── admin.py
│ │ ├── tests.py
│ │ ├── urls.py
│ │ └── views.py
│ ├── mcp_server/
│ │ ├── asgi.py
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── wsgi.py
🚀 快速开始
# 1. Clone the repo
git clone https://github.com/sachnaror/restaurant-mcp-server.git
cd restaurant-mcp-server
# 2. Setup environment
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# 3. Add secrets to `.env`
echo "SECRET_KEY=your_django_secret_key" > .env
echo "DEBUG=True" >> .env
# 4. Run DB & server
python manage.py migrate
python manage.py runserver
🧪 使用示例(cURL)
# Create a new order
curl -X POST http://localhost:8000/api/orders/ \
-H "Content-Type: application/json" \
-d '{"item_name": "Biryani", "status": "success"}'
# Get recent orders in last 2 hours
curl http://localhost:8000/api/orders/recent/?hours=2
🔌 API 端点
基础 URL:http://localhost:8000/api/
| 方法 | 端点 | 描述 | 示例负载 |
|---|---|---|---|
POST | /api/orders/ | 📝 创建新订单 | { "item_name": "Pizza", "status": "success" } |
GET | /api/orders/ | 📋 列出所有订单 | – |
GET | /api/orders/{id}/ | 🔍 按 ID 获取单个订单 | – |
PUT | /api/orders/{id}/ | ✏️ 更新订单 | { "item_name": "Burger", "status": "failed" } |
DELETE | /api/orders/{id}/ | 🗑️ 删除订单 | – |
GET | /api/orders/recent/?hours=2 | ⏱️ 获取最近 2 小时的订单 | – |
🧠 技术栈
- 🐍 Python 3.11+
- 🧱 Django 5.x
- 🌐 Django REST Framework
- 📁 SQLite(开发数据库)
- 📦 python-dotenv
🏁 路线图(构想)
- 🔐 基于令牌的用户身份验证(可选)
- 📊 订单分析仪表板
- 📥 Webhook 或异步订单处理模拟
- 🧠 集成 OpenAI GPT,动态生成菜单或聊天
📸 截图
📩 联系方式
| 姓名 | 详情 |
|---|---|
| 👨💻 开发者 | Sachin Arora |
| 📧 电子邮箱 | [email protected] |
| 📍 所在地 | 印度诺伊达 |
| 📂 GitHub | github.com/sachnaror |
| 🌐 网站 | https://about.me/sachin-arora |
| 📱 电话 | +91 9560330483 |
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。