Token导航 LogoToken导航

MCP Server · 搜索检索

Trip Weaver

TripWeaver是一款基于自然语言处理和LLM的智能旅行规划服务,支持离线数据集和Google Places API的POI检索,提供个性化行程安排和解释。

stdio官方级别未说明来源级核验工具 0
旅行规划Python自然语言处理

快速开始

作者 / 组织
Hans-Yin
提供方
Hans-Yin

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Trip Weaver 属于搜索检索类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

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

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

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

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

详细介绍

TripWeaver

现场演示

  • 前端(React):https://tripweaver-ai.vercel.app/
  • 后端(FastAPI):https://tripweaver.onrender.com

- Swagger用户界面: https://tripweaver.onrender.com/docs - 健康: https://tripweaver.onrender.com/health

______________________________________________________________________

MCP编排的多上下文 出行计划:

自然语言→ 启发式解析器→ LLM解析器优化 → POI检索(离线/谷歌)→ 贪婪得分→ 维基百科丰富→ LLM解释层 → React前端。

后端(FastAPI)目前支持:

  • 自然语言查询解析

- 基于规则的启发式解析器 - LLM精炼结构化解析(OpenAI)

  • 两个POI数据源

- 离线CSV数据集 (data/global_poi_dataset.csv) - Live Google Places API网站

  • 评分+贪婪POI选择
  • 维基百科描述丰富
  • 日常起搏控制 (宽松/标准/包装+定制 max_places_per_day)
  • LLM行程说明 (日复一日的推理、替代方案、旅行提示)
  • JSON行程输出与React前端兼容

______________________________________________________________________

1.安装

1.1克隆存储库

git clone https://github.com/Hans-Yin/TripWeaver.git
cd TripWeaver

______________________________________________________________________

1.2放置离线POI数据集

您的离线数据集必须放置在:

TripWeaver/data/global_poi_dataset.csv

必填(或可自动规范化)列:

  • city_name, place_name, country, place_category
  • price, open_time, close_time, popularity_score
  • lat, lon

列别名,如 price_usd, poi_category, latitude, longitude 自动映射。

______________________________________________________________________

1.3安装依赖项

推荐一个虚拟环境:

pip install -r requirements.txt

______________________________________________________________________

1.4环境变量

Google Places API密钥(可选)

对于实时POI检索:

export GOOGLE_PLACES_API_KEY="YOUR_GOOGLE_PLACES_API_KEY"
OpenAI API密钥(LLM解析器+LLM解释层需要)
export OPENAI_API_KEY="YOUR_OPENAI_API_KEY"

没有这些键,离线模式仍然可以工作(没有LLM功能/实时谷歌位置)。

______________________________________________________________________

2.运行后端服务器

从项目根:

uvicorn backend.app.main:app --reload

本地API终结点:

CORS被启用以支持React前端(本地开发和Vercel)。

已部署后端:

  • 基本URL: https://tripweaver.onrender.com
  • Swagger用户界面: https://tripweaver.onrender.com/docs
  • 健康: https://tripweaver.onrender.com/health

______________________________________________________________________

3.请求架构(POST /plan)

请求示例:

{
  "query": "3 days in New York, love museums and parks, low budget, avoid crowds",
  "days": 3,
  "city": null,
  "data_source": "offline",
  "max_places_per_day": 4,
  "pace": "standard"
}

字段摘要

字段类型描述
querystring免费自然语言旅行查询(城市、天数、偏好、预算、人群)
daysint(可选)显式天数;覆盖解析器/LLM(如果提供)
citystringnull城市名称;如果为null,解析器+LLM从中推断 query
data_source"offline""google"选择POI提供商
max_places_per_dayint(可选)每天戴硬帽(例如,放松时戴3个,打包时戴6个)
pacestring(可选)"relaxed", "standard",或 "packed" (用于UX+LLM解释)

后端工作流程

  1. 启发式解析器 提取物 city, days, categories 从 query
  1. LLM解析器优化 将查询转换为结构化JSON

(city, total_days, categories, budget, crowd_preference)

  1. 合并显式 days 从请求(如果存在)解析 total_days
  1. 检索POI

- 自 离线CSV,或 - 自 Google Places API

  1. 贪婪得分 (人气+品类匹配)
  1. 应用 max_places_per_day 在跨天分发POI时
  1. 维基百科丰富 POI描述
  1. LLM解释层 生成:

- 行程概述 - 日复一日的叙述和节奏 - 备选建议 - 旅行提示(预算、人群、时间)

  1. 返回JSON用于前端渲染

______________________________________________________________________

4.示例响应

4.1离线数据集模式

{
  "city": "New York",
  "days": [
    {
      "day": 1,
      "places": [
        {
          "name": "Central Park",
          "category": "park",
          "description": "Central Park is an urban park..."
        },
        {
          "name": "The Metropolitan Museum of Art",
          "category": "museum",
          "description": "The Metropolitan Museum of Art..."
        }
      ]
    },
    {
      "day": 2,
      "places": [
        {
          "name": "Brooklyn Bridge",
          "category": "landmark",
          "description": "The Brooklyn Bridge is..."
        }
      ]
    }
  ],
  "explanation": "This itinerary balances museums and parks while keeping each day at a manageable pace..."
}

______________________________________________________________________

4.2实时谷歌位置模式

{
  "city": "New York",
  "days": [
    {
      "day": 1,
      "places": [
        {
          "name": "Central Park",
          "category": "park",
          "description": "..."
        },
        {
          "name": "The Metropolitan Museum of Art",
          "category": "museum",
          "description": "..."
        }
      ]
    },
    {
      "day": 2,
      "places": [
        {
          "name": "Brooklyn Museum",
          "category": "museum",
          "description": "..."
        },
        {
          "name": "American Museum of Natural History",
          "category": "museum",
          "description": "..."
        }
      ]
    }
  ],
  "explanation": "This two-day New York itinerary highlights major museums while keeping walking distances reasonable..."
}
确切的POI可能因Google Places API的响应而有所不同。

______________________________________________________________________

5.反应前端

React前端(Vite)提供了一个简单的UI:

  • 输入自然语言旅行查询
  • 选择 数据源:离线/谷歌
  • 选择 每日速度:

- 🧘 *放松的* (约3个景点/天) - 🚶 *标准* (约4个景点/天) - ⚡ *拥挤的* (约6个景点/天)

  • 可选覆盖 最大斑点/天 通过数字输入
  • 切换 显示LLM解释
  • 将生成的行程可视化为每日时间表

已部署前端:

前端发送 POST /plan 请求到FastAPI后端(本地或部署的渲染端点)。

如果你想 在本地FastAPI后端上运行前端,您需要更新API端点。

编辑 src/api.ts

// src/api.ts

import axios from "axios";

// Use this for deployed backend (default)
const API_BASE = "https://tripweaver.onrender.com";

// Use this for local backend (uncomment when running FastAPI locally)
// const API_BASE = "http://127.0.0.1:8000";

何时更改此设置

场景API_BASE
使用已部署的后端(渲染)https://tripweaver.onrender.com
在本地运行FastAPIhttp://127.0.0.1:8000

更改端点后,重新启动前端开发服务器:

npm run dev

这允许相同的前端代码库与 本地后端或部署的后端.

______________________________________________________________________

6.贡献者

  • 尹伯涵
  • 陈文政
  • 徐逸飞

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

旅行规划Python本地部署自然语言处理LLMPOI检索行程安排

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

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

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

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

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

不太适合

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

同类对比

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

MCP World · 本页

0stdio有1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

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

常见问题

5 条

Trip Weaver 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Trip Weaver 怎么在 Claude Desktop、Cursor 里配置?

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

Trip Weaver 收费吗?

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

Trip Weaver 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Trip Weaver 支持哪些客户端?

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

来源信息

继续浏览同类 MCP