关于 Thailand Fun Experiences
Thailand Fun Experiences 是面向 Phuket 活动规划的 MCP 服务,可按出行人群筛选体验。它结合适宜性检查、天气与海况、接送时间、多样化推荐和可追踪预订链接。
主要功能
- 01按人群和限制条件搜索活动
- 02推荐多样化的候选体验
- 03提供实时天气与海况信息
- 04评估年龄、行动能力和乘船适宜性
- 05返回含实时余位的预订链接
- 06按体验 ID 获取完整详情
适用场景
- 01根据天气预报规划 Phuket 行程
- 02为家庭或团体筛选活动
- 03按路程和适宜性比较选项
MCP 相关
通过 streamable HTTP 端点向 MCP 客户端提供 `search_experiences` 和 `get_experience` 工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
服务地址
https://thailandfunexperiences.com/mcp一键复制安装命令
Claude CodeTerminal
claude mcp add --transport http com-thailandfunexperiences-thailand-fun-experiences https://thailandfunexperiences.com/mcpCursor.cursor/mcp.json
{"mcpServers":{"com-thailandfunexperiences-thailand-fun-experiences":{"type":"http","url":"https://thailandfunexperiences.com/mcp"}}}在 Cursor 中打开VS Code.vscode/mcp.json
{"servers":{"com-thailandfunexperiences-thailand-fun-experiences":{"type":"http","url":"https://thailandfunexperiences.com/mcp"}}}在 VS Code 中打开Claude Desktopclaude_desktop_config.json
{"mcpServers":{"com-thailandfunexperiences-thailand-fun-experiences":{"type":"http","url":"https://thailandfunexperiences.com/mcp"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"com-thailandfunexperiences-thailand-fun-experiences":{"serverUrl":"https://thailandfunexperiences.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
泰国趣味体验 — MCP 服务
面向 Agent 的普吉岛体验服务层,让 AI 助手(ChatGPT、Claude 等)通过一次工具调用,就能回答“今天我们这群人适合在这里做什么?”——提供经过安全筛选的属性、实时天气和海况信息,以及联盟预订链接。
在线体验: thailandfunexperiences.com · MCP 端点:https://thailandfunexperiences.com/mcp
功能
- 1,891 项真实 Viator 体验已同步,其中 352 项补充了 24 项安全性/适宜性属性
- 组合排序——返回 4 个多样化候选项(而非前 k 项),并进行场所去重、活动类型多样化和类别分布
- 实时背景信息——天气预报(根据时段划分降雨等级)、海况(涌浪方向 × 区域暴露程度)、交通矩阵(通过 ORS 路由,覆盖 13 个区域)、季节
- 安全筛选——年龄门槛、行动能力(以能否享受核心体验为判断依据)、怀孕、不会游泳、对晕动的耐受度;均采用多来源证据层级
- 联盟预订——每条结果都包含带追踪功能的预订链接(
book_now_url),并提供实时可订情况
架构
完整规范请参阅 ARCHITECTURE.md。
Agents (ChatGPT / Claude / REST)
│
▼
M6 MCP Server (Fastify + streamable HTTP)
│
M5 Ranker (pure function, no DB/API calls)
├── M1 Experience Graph (Postgres + PostGIS)
├── M4 Context (Open-Meteo weather/marine, ORS matrix)
└── M3 Enrichment (Claude Sonnet, Batch API)
│
M8 Router → Viator affiliate links
M10 Telemetry → session/click/booking events
工具
search_experiences
搜索适合同行游客的普吉岛活动。返回约 4 条多样化推荐。
{
"date": "2026-09-10",
"staying": "kata",
"party": [{"role": "adult", "age": 38}, {"role": "child", "age": 9}],
"constraints": {"motion_comfort": "low"},
"energy": "high",
"time_slot": "morning",
"max_results": 4
}
响应包含:候选项及其属性、预订链接、原因代码、天气背景信息、海况、目录广度统计数据,以及细化提示。
get_experience
根据 ID 获取特定体验的完整详情。
{"experience_id": "exp_27613P9"}
技术栈
- 运行时: Node 22、TypeScript(严格模式)、ESM
- 单体仓库: pnpm workspaces
- 数据库: Postgres 16 + PostGIS、Drizzle ORM
- MCP:
@modelcontextprotocol/sdk流式 HTTP 传输,运行于 Fastify 之后 - 信息补充: Anthropic Batch API(Claude Sonnet 4),通过证据验证进行结构化提取
- 天气/海洋: Open-Meteo(无需密钥)
- 交通矩阵: OpenRouteService(一次批量矩阵调用,覆盖全部 13 个区域)
- 部署: VPS 上的 systemd + Caddy 反向代理
证据层级
1. human_correction — Dan's per-attribute overrides
2. operator_terms — verified T&C from specific operators
3. viator_structured — supplier-declared flags (stored verbatim)
4. dan-rules — category/venue-level local knowledge (8 rule groups)
5. derived — formula-computed (seasickness = vessel × water_exposure)
6. extraction — LLM structural/textual inference (base)
关键设计决策
- 组合,而非前 k 项——从不同场所/活动类型中挑选 4 个多样化候选项
- 结构化约束,而非自由文本——任何字段都不包含健康相关表述(隐私保护设计)
- 始终启用交通惩罚——交通时间/体验时长比 ≥1 时施加强惩罚
- 对不支持的目的地平稳降级——绝不抛出错误,并记录需求
- 指令 9(Viator 明日测试)——每项提供的功能都必须带来转化、佐证、组合或背景信息,且这些内容不能由单一服务商复制
构建方式
使用 Claude Code(Claude Opus)独立开发,耗时约 1 周。构建复盘请参阅 meta/POSTMORTEM.md。
许可证
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。