项目简介

Travel Tracker MCP服务是Travel Tracker Web应用的后端扩展,旨在以Model Context Protocol (MCP) 的标准化方式,向LLM客户端提供应用程序的公共旅程数据和功能。它允许LLM通过预定义的工具,获取旅程详情、下一步行程建议以及特定页面的HTML内容,从而实现更智能、上下文感知的LLM交互。

主要功能点

  • 查询可用旅程: LLM可以列出所有公开可用的旅程,获取它们的ID、标题、日期等元数据。
  • 获取旅程详情: LLM可以根据旅程ID获取详细的公共旅程数据,包括地点、路线、住宿和每日行程安排。
  • 获取下一步行程建议: LLM可以查询特定旅程的下一步行程总结和建议,包括当前位置、下一站地点和交通方式,并可结合天气和维基百科数据进行丰富。
  • 获取公开页面HTML内容: LLM可以获取特定公开地图或嵌入页面的HTML内容,用于理解页面结构或提取信息。

安装步骤

  1. 克隆仓库: 将Travel Tracker项目克隆到本地:
    git clone https://github.com/bdamokos/travel-tracker.git
    cd travel-tracker
  2. 安装Bun: 确保您的系统安装了Bun运行时(Bun是Next.js项目的推荐包管理器,包含Node.js运行时)。如果未安装,请访问 'https://bun.sh/' 获取安装指南。
  3. 安装依赖: 在项目根目录下运行 '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服务器在客户端中显示的友好名称。

基本使用方法

  1. 启动Travel Tracker应用:
    • 在本地开发环境中,在Travel Tracker项目根目录运行 'bun run dev'。应用程序将在 'http://localhost:3000' 启动。
    • 在生产环境中,部署并确保Travel Tracker Web应用程序可通过 'your.public.domain' 访问。
  2. 启动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服务器。
  3. LLM客户端连接: 在您的LLM客户端(如Claude Desktop)中,使用上述“服务器配置”部分提供的JSON配置信息连接到MCP服务器。一旦连接成功,LLM就可以通过调用 'list_trips', 'get_trip', 'get_next_steps' 和 'get_public_page_html' 等工具来访问Travel Tracker的数据和功能。

信息

分类

网页与API