项目简介
Travel Tracker MCP服务是Travel Tracker Web应用的后端扩展,旨在以Model Context Protocol (MCP) 的标准化方式,向LLM客户端提供应用程序的公共旅程数据和功能。它允许LLM通过预定义的工具,获取旅程详情、下一步行程建议以及特定页面的HTML内容,从而实现更智能、上下文感知的LLM交互。
主要功能点
- 查询可用旅程: LLM可以列出所有公开可用的旅程,获取它们的ID、标题、日期等元数据。
- 获取旅程详情: LLM可以根据旅程ID获取详细的公共旅程数据,包括地点、路线、住宿和每日行程安排。
- 获取下一步行程建议: LLM可以查询特定旅程的下一步行程总结和建议,包括当前位置、下一站地点和交通方式,并可结合天气和维基百科数据进行丰富。
- 获取公开页面HTML内容: LLM可以获取特定公开地图或嵌入页面的HTML内容,用于理解页面结构或提取信息。
安装步骤
- 克隆仓库: 将Travel Tracker项目克隆到本地:
git clone https://github.com/bdamokos/travel-tracker.git cd travel-tracker - 安装Bun: 确保您的系统安装了Bun运行时(Bun是Next.js项目的推荐包管理器,包含Node.js运行时)。如果未安装,请访问 'https://bun.sh/' 获取安装指南。
- 安装依赖: 在项目根目录下运行 'bun install'。
服务器配置 (MCP客户端使用)
MCP服务器需要配置 'TRAVEL_TRACKER_BASE_URL' 环境变量,指向Travel Tracker Web应用程序的根URL。LLM客户端(如Claude Desktop)通过JSON格式配置来连接MCP服务器。以下是一个配置示例,展示了如何设置MCP服务器的启动命令和相关参数:
{ "mcpServers": { "travel-tracker": { "command": "/usr/local/bin/bun", "args": ["run", "mcp:server"], "env": { "TRAVEL_TRACKER_BASE_URL": "https://your.public.domain" // 将此替换为您的Travel Tracker应用程序的公共域名,例如:https://mytravelapp.com }, "description": "Travel Tracker MCP服务,提供旅程数据和工具访问。", "name": "Travel Tracker" } } }
- 'command': MCP服务器的可执行命令,这里是您的 'bun' 应用程序的完整路径。
- 'args': 传递给 'command' 的参数,用于执行 'mcp:server' 脚本。
- 'env': 环境变量,'TRAVEL_TRACKER_BASE_URL' 告诉MCP服务器Travel Tracker Web应用的基本URL。在生产环境中,这通常是您的公共域名。
- 'description': 对MCP服务器功能的简要描述。
- 'name': MCP服务器在客户端中显示的友好名称。
基本使用方法
- 启动Travel Tracker应用:
- 在本地开发环境中,在Travel Tracker项目根目录运行 'bun run dev'。应用程序将在 'http://localhost:3000' 启动。
- 在生产环境中,部署并确保Travel Tracker Web应用程序可通过 'your.public.domain' 访问。
- 启动MCP服务器:
- 本地开发环境: 在Travel Tracker项目根目录运行以下命令:
TRAVEL_TRACKER_BASE_URL=http://localhost:3000 bun run mcp:server - 生产环境: 确保 'TRAVEL_TRACKER_BASE_URL' 环境变量设置为您的公共域名(例如 'https://your.public.domain'),并以适当的方式(例如通过PM2、Docker或系统服务)启动MCP服务器。
- 本地开发环境: 在Travel Tracker项目根目录运行以下命令:
- LLM客户端连接: 在您的LLM客户端(如Claude Desktop)中,使用上述“服务器配置”部分提供的JSON配置信息连接到MCP服务器。一旦连接成功,LLM就可以通过调用 'list_trips', 'get_trip', 'get_next_steps' 和 'get_public_page_html' 等工具来访问Travel Tracker的数据和功能。
信息
分类
网页与API