Token导航 LogoToken导航

MCP Server · 运维云端

Fastapi MCP Test

一个完整的AI驱动的餐厅预订系统,包含两个FastAPI服务:餐厅预订API和AI聊天界面。

stdio官方级别未说明来源级核验工具 3
Python聊天界面OpenAI

快速开始

作者 / 组织
dotnetIka
提供方
dotnetIka
运行时
Python

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Fastapi MCP Test 属于运维云端类 MCP Server,公开资料标注 3 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

运维云端

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

python3 -m venv venv

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 3 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

FastAPI 人工智能预订系统

一个完整的基于人工智能的餐厅预订系统,包含两个FastAPI服务:

  • MCP 服务器: 餐厅预订API
  • MCP 客户端: 使用OpenAI函数调用的AI聊天界面

🏗️ 建筑学

┌─────────────────┐      ┌──────────────────┐      ┌─────────────────┐
│   User/Client   │─────▶│   MCP Client     │─────▶│   MCP Server    │
│                 │      │  (AI Chat API)   │      │  (Booking API)  │
│                 │      │  Port: 8001      │      │  Port: 8000     │
│                 │◀─────│  + OpenAI GPT-4  │◀─────│  Clean Arch     │
└─────────────────┘      └──────────────────┘      └─────────────────┘
                               │
                               ▼
                         ┌──────────┐
                         │  OpenAI  │
                         │   API    │
                         └──────────┘

🚀 快速入门

先决条件

  • Python 3.12及以上版本
  • OpenAI API密钥
  • Docker(可选,用于可观测性堆栈)

1. 设置MCP服务器(预订API)

# Navigate to server directory
cd mcp-server

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run server on port 8000
uvicorn main:app --reload --port 8000

服务器将在以下地址可用:http://localhost:8000

2. 设置MCP客户端(AI聊天API)

# Open a new terminal
cd mcp-client

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Create .env file with your OpenAI API key
echo "OPENAI_API_KEY=your_openai_api_key_here" > .env
echo "MCP_SERVER_URL=http://localhost:8000" >> .env
echo "OPENAI_MODEL=gpt-4o-mini" >> .env

# Run client on port 8001
uvicorn main:app --reload --port 8001

客户端将可通过以下地址访问:http://localhost:8001

📖 使用方法

选项1:使用API文档(最简单)

  1. 打开 http://localhost:8001/docs
  2. 试试这个 POST /api/chat 终端节点
  3. 发送一条类似这样的信息:
   {
     "message": "I want to book a table at Luigi's Pizza today at 7pm for 4 people, my name is John Doe, phone is 555-1234",
     "conversation_history": []
   }

选项2:使用cURL

curl -X POST "http://localhost:8001/api/chat" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Book a table at La Bella tomorrow at 6pm for 2 people",
    "conversation_history": []
  }'

选项3:使用Python

import requests

response = requests.post(
    "http://localhost:8001/api/chat",
    json={
        "message": "I need a reservation at Pizza Palace today at 5pm for 3 people, I'm Jane Smith, 555-9876",
        "conversation_history": []
    }
)

print(response.json()["message"])

💬 示例对话

完整信息(直接预订)

你: “请帮我预订明天晚上7点在路易吉餐厅的两人桌,姓名约翰·多伊,电话555-1234。”

人工智能(AI): “✅ 太好了!我已成功预订了Luigi's餐厅2024年10月13日19:00的座位,共2位客人。预订编号:abc-123...”

部分信息(人工智能提问)

你: “我想预订一家餐厅”

人工智能(AI): “我很乐意帮忙!您想预订哪家餐厅?”

你: “La Bella”(拉贝拉)

人工智能: “很好的选择!您希望选择哪一天和时间呢?”

你: “今天下午6点,4人份”

人工智能(AI): “太好了!能告诉我您的姓名和电话号码吗?”

你: “约翰·史密斯,555-1234”

人工智能: ✅ 太好了!我已经成功预订了桌子。.."

🔧 它的工作原理

  1. 用户发送消息 到MCP客户端聊天终端
  2. OpenAI GPT-4 使用函数调用分析信息
  3. AI决定 如果预订信息完整:

- ❌ 缺少信息 → 提问以澄清 - ✅ 完成 → 预约通话功能

  1. MCP客户端 调用MCP服务器API以创建预订
  2. 确认 返回给用户

📊 可观测性堆栈(新功能!)

使用Grafana堆栈实现全面的监控、记录和追踪!

快速入门可观测性

# Start Grafana, Prometheus, Loki, Tempo
docker-compose up -d

# Access Grafana
open http://localhost:3000
# Login: admin/admin

你将获得什么

  • 📈 指标 (Prometheus) - 请求速率、延迟、错误率
  • 📝 日志 (Loki) - 带搜索功能的集中式日志记录
  • 🔍 迹象/痕迹 (Tempo) - 跨服务的分布式追踪
  • 📊 仪表板 (Grafana) - 预构建的 FastAPI 仪表板

服务

服务URL用途
Grafanahttp://localhost:3000可视化与仪表板
Prometheushttp://localhost:9090指标收集
MCP 服务器指标http://localhost:8000/metrics服务器指标端点
MCP 客户端指标http://localhost:8001/metrics客户端指标端点

📖 完整文档: 看 \OBSERVABILITY.md\ 翻译成中文为:\可观测性.md\

📁 项目结构

fastapi-project/
├── mcp-server/              # Booking API (Clean Architecture)
│   ├── app/
│   │   ├── domain/         # Business entities
│   │   ├── application/    # Use cases & interfaces
│   │   ├── infrastructure/ # Repositories
│   │   └── api/           # Routes & schemas
│   ├── main.py
│   ├── requirements.txt
│   └── README.md
│
├── mcp-client/             # AI Chat API
│   ├── app/
│   │   ├── core/          # Config
│   │   ├── services/      # OpenAI & HTTP clients
│   │   ├── routes/        # Chat endpoint
│   │   └── schemas/       # Request/response models
│   ├── main.py
│   ├── requirements.txt
│   ├── .env.example
│   └── README.md
│
└── .cursorrules           # AI assistant rules

🎯 API 端点

MCP服务器(端口8000)

方法终点描述
POST(在中文中,这通常直接保留为“POST”,因为它是HTTP协议中的一个动词,表示“提交”或“发送”数据到服务器,无需翻译) /api/bookings创建预订
GET(可翻译为)获取/api/bookings/{id}按ID获取预订信息
GET(可翻译为)获取或请求获取/api/bookings列出所有预订

MCP 客户端(端口 8001)

方法结束点描述
帖子/api/chat 发送聊天信息

🔐 环境变量

创建 mcp-client/.env:

OPENAI_API_KEY=sk-proj-...your-key-here...
MCP_SERVER_URL=http://localhost:8000
OPENAI_MODEL=gpt-4o-mini

⚠️ 安全: 永远不要承诺 .env 将文件提交到Git!

🧪 测试

直接测试MCP服务器

curl -X POST "http://localhost:8000/api/bookings" \
  -H "Content-Type: application/json" \
  -d '{
    "restaurant": "Test Restaurant",
    "date": "2024-12-25",
    "time": "18:00",
    "guests": 2,
    "customer_name": "Test User",
    "customer_phone": "555-0000"
  }'

测试MCP客户端聊天功能

curl -X POST "http://localhost:8001/api/chat" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "I want to book a table",
    "conversation_history": []
  }'

📚 文档说明

  • MCP 服务器文档:http://localhost:8000/docs
  • MCP 客户端文档:http://localhost:8001/docs

🏛️ 清洁架构

MCP服务器遵循清洁架构原则:

  • 领域层: 纯粹的业务逻辑(实体、规则)
  • 应用层: 用例和接口
  • 基础设施层: 外部实现(存储库)
  • API 层: FastAPI 路由和模式(或“架构”)

好处:

  • ✅ 可测试
  • ✅ 可维护性
  • ✅ 与框架无关
  • ✅ 易于扩展

🛠️ 技术

  • FastAPI - 现代Python网络框架
  • OpenAI GPT-4o-mini(可译为“OpenAI的GPT-4o迷你版”或根据具体语境简化为“OpenAI迷你版GPT-4o”,但需注意的是,“GPT-4o”并非官方已知的命名,可能是特定语境或假设下的称呼,实际翻译时可能需要根据具体背景调整) - 人工智能语言模型
  • Pydantic - 数据验证
  • httpx(注:这是一个专有名词或特定技术的名称,在中文中通常直接保留原样,不进行翻译,但如果需要解释其含义或用途,可以在此基础上进行说明,但在此处仅提供直接翻译) - 异步HTTP客户端
  • Uvicorn(注:Uvicorn是一个用于构建ASGI服务器的Python库,常用于运行ASGI应用程序,如FastAPI等框架) - ASGI 服务器

📝 笔记

  • 预订信息已保存 内存中的 (重启服务器会清除数据)
  • 非常适合开发和测试
  • 为了增加持久性,使用数据库实现仓库
  • MCP客户端需要OpenAI API密钥

🤝 贡献

遵循 .cursorrules 文件包含代码风格和架构指南。

📄 许可证

这个项目旨在用于教育目的。

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

AI预订Python本地部署餐厅管理FastAPIOpenAI聊天界面

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 3 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Fastapi MCP Test

MCP World · 本页

3stdio有1 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Fastapi MCP Test 怎么安装?

公开资料给出的安装命令是 python3 -m venv venv,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Fastapi MCP Test 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Fastapi MCP Test 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Fastapi MCP Test 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Fastapi MCP Test 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP