Token导航 LogoToken导航TokenDH.com
Product Catalog With Fastapi And MCP logo
AI代理stdio官方级别未说明来源级核验

Product Catalog With Fastapi And MCP

MCP Server

一个基于FastAPI和SQLAlchemy的RESTful API,用于管理产品目录,支持MySQL数据库集成和AI助手交互。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
API集成产品管理FastAPIPython

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

KhaledEssghaier

提供方

KhaledEssghaier

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

产品目录API

一个用于管理产品目录的RESTful API,集成了MySQL数据库,使用FastAPI和SQLAlchemy构建。该应用程序包括一个REST API服务器和一个用于AI代理集成的MCP(模型上下文协议)服务器。

特点/特性

  • ✅ 产品完整的增删改查(CRUD)操作
  • ✅ 通过XAMPP集成MySQL数据库
  • ✅ 基于类别的过滤
  • ✅ 库存可用性追踪
  • ✅ 支持分页
  • ✅ 使用 Pydantic 进行数据验证
  • ✅ 用于AI助手集成的MCP服务器
  • 交互式API文档(Swagger UI)

技术栈

  • 框架FastAPI 0.104.1
  • 数据库MySQL(通过XAMPP)
  • ORM(对象关系映射)SQLAlchemy 2.0.23
  • 服务器Uvicorn 0.24.0
  • 验证Pydantic 2.5.0
  • MCP 集成FastMCP 0.2.0

先决条件

  • Python 3.8或更高版本
  • 带有运行中的MySQL的XAMPP
  • 名为(某名称)的MySQL数据库 product_catalog

安装

  1. 克隆项目或导航到项目目录
  1. 安装依赖项
   pip install -r requirements.txt
  1. 设置MySQL数据库

- 启动XAMPP并确保MySQL正在运行 - 创建一个名为(数据库名)的数据库 product_catalog - 该应用程序将自动创建所需的表格

数据库配置

该应用程序使用以下默认设置连接到 MySQL:

  • 主持人localhost(本地主机)
  • 港口3306
  • 用户根用户(或超级用户)
  • 密码(空)
  • 数据库产品目录

要修改连接,请更新 DATABASE_URL 在里面 main.py.

运行应用程序

启动FastAPI服务器:

uvicorn main:app --host 127.0.0.1 --port 8000 --reload

API将提供在: http://127.0.0.1:8000

访问交互式文档:

  • Swagger UIhttp://127.0.0.1:8000/docs 翻译为中文是:“http://127.0.0.1:8000/文档(或:说明文档)”。不过,通常我们会根据上下文或网站的具体内容来更准确地翻译“docs”部分,比如可能是“API文档”、“用户手册”等。但在这里,为了保持通用性,翻译为“文档”是合适的
  • ReDoc(可译为“重构文档”或根据具体语境灵活翻译,此处直译为“重构记录”或“重新记录”可能不够贴切,因此采用更通用的“重构文档”作为译文)http://127.0.0.1:8000/redoc(该网址指向本地服务器的Redoc文档界面,通常用于查看API文档)

API终端点

产品

方法结束点描述
GET/products列出所有产品(带过滤器)
GET(译为中文)获取/products/{id}获取特定产品
帖子/products创建一个新产品
PUT(在中文语境中,这通常直接翻译为“PUT”方法,因为它是HTTP协议中的一个动词,表示更新或替换资源,没有直接的中文对应词,所以一般保留原英文) /products/{id}更新产品
删除/products/{id}删除产品

类别

方法结束点描述
GET(GET请求) /categories 获取所有唯一类别

健康与信息

方法终点描述
GET(在中文中,这通常直接翻译为“获取”,但在此上下文中,由于“GET”是HTTP方法,通常不直接翻译,而是保留原样以表示其技术含义。) / API信息
GET/health 健康检查(API + 数据库)

使用示例

创建一个产品

curl -X POST "http://127.0.0.1:8000/products" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Laptop",
    "price": 999.99,
    "description": "High-performance laptop",
    "category": "Electronics",
    "in_stock": true
  }'

带过滤器的产品列表

# Get all electronics
curl "http://127.0.0.1:8000/products?category=Electronics"

# Get products in stock
curl "http://127.0.0.1:8000/products?in_stock=true"

# With pagination
curl "http://127.0.0.1:8000/products?skip=0&limit=10"

按ID获取产品

curl "http://127.0.0.1:8000/products/1"

更新产品

curl -X PUT "http://127.0.0.1:8000/products/1" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 899.99,
    "in_stock": true
  }'

删除产品

curl -X DELETE "http://127.0.0.1:8000/products/1"

获取所有类别

curl "http://127.0.0.1:8000/categories"

产品模式(或产品架构)

{
  "id": 1,
  "name": "Product Name",
  "price": 99.99,
  "description": "Product description",
  "category": "General",
  "in_stock": true
}

MCP 服务器

该项目包括一个MCP服务器(mcp_server.py) 允许人工智能助手与产品目录进行交互。它提供了以下工具:

  • 列出带过滤器的产品
  • 获取产品详情
  • 开发新产品
  • 更新现有产品
  • 删除产品
  • 按类别搜索产品

发展

项目结构

.
├── main.py              # FastAPI application
├── mcp_server.py        # MCP server for AI integration
├── requirements.txt     # Python dependencies
└── README.md           # This file

在开发模式下运行

这个(或“该”) --reload 标志启用代码更改时的自动重新加载:

uvicorn main:app --host 127.0.0.1 --port 8000 --reload

错误处理

API返回相应的HTTP状态码:

  • 200成功的GET/PUT请求
  • 201成功的POST请求(创建)
  • 204成功删除
  • 404资源未找到
  • 422验证错误
  • 503数据库不可用

许可证

这个项目是出于教育目的(Lab 2 作业)。

______________________________________________________________________

最后更新时间2025年10月15日

目录标签

目录标签

API集成产品管理FastAPIPythonRESTfulAPI本地部署MySQL集成AI助手

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP