带MCP的行程后端系统
基于FastAPI的后端系统,用于管理旅行行程。该项目实施了模型上下文协议(MCP),以增强人工智能辅助集成。
特性
- 数据库体系结构:行程、住宿、接送和活动的SQLAlchemy模型
- RESTful API:创建和查看行程的端点
- 种子数据:普吉岛和甲米地区的真实数据预填充数据库
- 推荐行程:2-8晚的行程示例
- MCP集成:为AI助手提供完整的模型上下文协议支持
安装
- 确保您已安装Python 3.8+
- 从以下位置安装uv(快速Python包安装程序) 这里:
- 克隆此存储库并导航到项目目录:
git clone https://github.com/aryanranderiya/itinerary-mcp-server
cd itinerary-mcp-server- 创建虚拟环境并安装依赖项:
uv venv
uv sync- 激活虚拟环境:
在Linux/macOS上:
source .venv/bin/activate在Windows上(命令提示符):
.venv\Scripts\activate.bat在Windows(PowerShell)上:
.venv\Scripts\Activate.ps1运行项目
发展模式
在开发模式下运行服务器并自动重新加载: 仅在需要编辑代码时在开发模式下运行。
fastapi dev生产模式
在生产模式下运行服务器:
fastapi startAPI将于 http://localhost:8000 API文件 http://localhost:8000/docs.
使用模型上下文协议(MCP)
该项目实现了 模型上下文协议(MCP),使人工智能助手能够直接与您的API进行交互。这意味着人工智能工具可以理解API的功能、数据结构,并代表您执行操作。
MCP配置
该项目已配置了必要的MCP设置:
- fastapi_mcp库:我们使用 fastapi_mcp 将MCP功能与FastAPI集成的库
- mcp.json:配置位于
.vscode/mcp.json文件,其中定义了MCP服务器设置:
{
"servers": {
"stay-often-mcp1": {
"type": "sse",
"url": "http://localhost:8000/mcp"
}
}
}此配置连接到MCP端点 http://localhost:8000/mcp 使用服务器发送事件(SSE)。
使用MCP功能不需要额外的设置——它内置在服务器中,随时可用。
支持的MCP客户端
您可以使用任何兼容MCP的客户端与此API进行交互。MCP客户端包括:
- 克劳德桌面
- 以及其他与MCP兼容的助手
有关MCP的更多信息,请访问 MCP官方文件.
示例:与GitHub Copilot一起使用
以下是如何使用GitHub Copilot与此API交互:
- 启动服务器:
fastapi dev- 在与GitHub Copilot的对话中,您可以请求以下操作:
- 获取所有行程:
Can you show me all the recommended itineraries for Phuket?- 获取具体行程:
Show me the details for itinerary ID 3- 创建新行程:
Create a new 5-night itinerary in Krabi with the following details: Name: "Krabi Adventure", day 1 at hotel 5 with activities 10 and 11, day 2 at hotel 5 with activity 12, etc.GitHub Copilot将理解这些请求,并通过MCP协议代表您执行适当的API调用。
截图

