Token导航 LogoToken导航TokenDH.com
Travel AI Portal logo
AI代理未说明官方级别未说明来源级核验

Travel AI Portal

MCP Server

TravelAI Portal是一个利用Claude AI的旅行预订平台,提供智能酒店搜索、实时预订管理和详细酒店信息等功能,适用于旅行规划者和酒店预订者。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaudeAI代理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

teenne

提供方

teenne

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

TravelAI门户✈️

您的人工智能旅行伴侣,助您找到完美的酒店。

TravelAI门户是一个全栈旅行预订平台,通过模型上下文协议(MCP)利用Claude AI帮助用户轻松发现、比较和预订酒店。它结合了现代web界面、强大的REST API和智能人工智能工具,提供了无缝的旅行计划体验。

特性

  • 智能酒店搜索:通过Claude集成使用自然语言查询的人工智能搜索
  • 酒店详细信息:全面的酒店详情,包括客房、设施和政策
  • 实时可用性:通过即时定价计算查看房间可用性
  • 预定管理:查看、创建和管理酒店预订
  • 聪明定价:透明定价,含税费明细
  • MCP集成:Claude AI可以直接搜索酒店并管理预订
  • 安全认证:基于JWT的身份验证,具有安全密码处理功能
  • 速率限制:内置速率限制以防止滥用
  • 类型安全:跨前端和后端的完整TypeScript
  • 响应式设计:采用Tailwind CSS的移动优先用户界面

技术栈

TypeScript

React Next.js Hono Prisma Tailwind CSS

前端:Next.js 14、React 18、顺风CSS、TanStack查询、Zustand 后端:Hono、TypeScript、Prisma ORM、JWT、Stripe、Redis 数据库:PostgreSQL与Prisma 人工智能集成:Claude AI通过模型上下文协议(MCP) 包管理器:pnpm(带Turbo的工作区单仓库)

快速开始

先决条件

  • Node.js>=20.0.0
  • pnpm>=8.0.0
  • PostgreSQL数据库
  • Redis(可选,用于生产率限制)
  • Claude API密钥(用于MCP集成)
  • 条纹API密钥(用于支付处理)

安装

# Clone the repository
git clone 
cd travelai-portal

# Install dependencies
pnpm install

环境设置

创建一个 .env 根目录中的文件,包含以下变量:

# Database
DATABASE_URL=postgresql://user:password@localhost:5432/travelai

# API Configuration
NEXT_PUBLIC_API_URL=http://localhost:3000/api
API_BASE_URL=http://localhost:3000/api

# Authentication
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-secret-key-here

# Claude AI & MCP
ANTHROPIC_API_KEY=your-claude-api-key
MCP_SERVER_PATH=./packages/mcp-server/dist/index.js

# Stripe
STRIPE_SECRET_KEY=your-stripe-secret-key
STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-key

# Redis (Optional, for production)
REDIS_URL=redis://localhost:6379

# Environment
NODE_ENV=development

数据库设置

# Generate Prisma client
pnpm db:generate

# Create/update database schema
pnpm db:push

# Run migrations (if using migration workflow)
pnpm db:migrate

# Seed the database with sample data
cd packages/database
pnpm db:seed

正在运行开发服务器

# Start all services (frontend, API, and development watch)
pnpm dev

# Or run individual services:
# Frontend at http://localhost:3000
cd apps/web && pnpm dev

# Backend API at http://localhost:3001
cd apps/api && pnpm dev

# MCP Server (for Claude integration)
cd packages/mcp-server && pnpm build && pnpm start

项目结构

travelai-portal/
├── apps/
│   ├── api/                    # Hono REST API backend
│   │   ├── src/
│   │   │   ├── index.ts        # Server entry point
│   │   │   ├── middleware/     # Auth, rate limiting
│   │   │   ├── services/       # Business logic
│   │   │   └── lib/            # JWT, Stripe, utilities
│   │   └── package.json
│   │
│   └── web/                    # Next.js frontend
│       ├── app/                # App router pages and layouts
│       ├── components/         # React components
│       ├── lib/                # Client utilities
│       └── package.json
│
├── packages/
│   ├── database/               # Prisma schema and utilities
│   │   ├── prisma/
│   │   │   ├── schema.prisma   # Database schema
│   │   │   └── migrations/     # Migration history
│   │   ├── src/
│   │   │   ├── index.ts        # Prisma client export
│   │   │   └── seed.ts         # Database seeding
│   │   └── package.json
│   │
│   ├── shared/                 # Shared types and utilities
│   │   ├── src/
│   │   │   ├── types/
│   │   │   │   ├── user.ts
│   │   │   │   ├── hotel.ts
│   │   │   │   ├── booking.ts
│   │   │   │   ├── chat.ts
│   │   │   │   └── api.ts
│   │   │   └── utils/
│   │   │       ├── constants.ts
│   │   │       └── validation.ts
│   │   └── package.json
│   │
│   └── mcp-server/             # Claude MCP server
│       ├── src/
│       │   ├── index.ts        # MCP server entry point
│       │   ├── types.ts        # Tool input/output schemas
│       │   ├── lib/
│       │   │   └── api-client.ts
│       │   └── tools/          # MCP tool implementations
│       │       ├── search-hotels.ts
│       │       ├── get-hotel-details.ts
│       │       ├── check-availability.ts
│       │       ├── get-user-bookings.ts
│       │       └── create-booking-link.ts
│       └── package.json
│
├── turbo.json                  # Turbo monorepo config
├── tsconfig.json               # Root TypeScript config
├── package.json                # Root package.json
└── .env                        # Environment variables (create locally)

可用脚本

命令描述
pnpm dev以开发模式启动所有服务
pnpm build构建所有软件包和应用程序
pnpm lint在monorepo上运行ESLint
pnpm test对所有包运行测试
pnpm typecheck类型检查TypeScript文件
pnpm clean清理构建工件和node_modules
pnpm format使用Prettier格式化代码
pnpm db:generate生成Prisma客户端
pnpm db:push将架构推送到数据库
pnpm db:migrate运行数据库迁移
pnpm db:seed包含样本数据的种子数据库
pnpm db:studio打开Prisma Studio(可视化数据库编辑器)

环境变量引用

数据库

  • DATABASE_URL:PostgreSQL连接字符串(必需)

API

  • NEXT_PUBLIC_API_URL:前端的公共API基础URL(默认值:http://localhost:3000/api)
  • API_BASE_URL:后端API基本URL(默认值:http://localhost:3000/api)

认证

  • NEXTAUTH_URL:NextAuth.js站点URL(默认值:http://localhost:3000)
  • NEXTAUTH_SECRET:JWT签名密钥(使用生成 openssl rand -base64 32)
  • JWT_SECRET:访问令牌的密码(可以与NEXTAUTH_Secret相同)
  • JWT_REFRESH_SECRET:刷新令牌的秘密

克劳德AI&MCP

  • ANTHROPIC_API_KEY:用于MCP集成的Claude API密钥(AI功能所需)
  • MCP_SERVER_PATH:编译的MCP服务器的路径(默认:./packages/MCP-server/dist/index.js)
  • API_KEY:用于MCP服务器身份验证的可选API密钥

支付

  • STRIPE_SECRET_KEY:条纹API密钥(预订时需要)
  • STRIPE_PUBLISHABLE_KEY:条纹可发布密钥(用于前端)

缓存和速率限制

  • REDIS_URL:Redis连接字符串(可选,如果未设置,则使用内存存储)
  • NODE_ENV:环境(开发|生产)

MCP集成指南

TravelAI门户包括一个完整的MCP(模型上下文协议)服务器,用于Claude AI集成。这使克劳德可以直接搜索酒店、查看空房情况和管理预订。

Claude桌面配置

要将MCP服务器与Claude Desktop一起使用,请将其添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "travel-booking": {
      "command": "node",
      "args": ["/absolute/path/to/packages/mcp-server/dist/index.js"],
      "env": {
        "API_BASE_URL": "http://localhost:3000/api",
        "API_KEY": "your-optional-api-key"
      }
    }
  }
}

构建MCP服务器

# Navigate to MCP package
cd packages/mcp-server

# Build the TypeScript
pnpm build

# Start the server
pnpm start

可用工具

MCP服务器为Claude提供以下工具:

  1. 搜索酒店 -按地点、日期和偏好搜索酒店
  2. 获取hotel_详细信息 -检索特定酒店的全面详细信息
  3. check_可用性 -查看房间可用性和价格
  4. get_user_bookings -检索用户的预订历史记录
  5. create_booking_link -生成预先填写的预订URL

有关详细的工具文档,请参阅 软件包/mcp服务器/README.md.

API文档

REST API是用Hono构建的,为酒店搜索、预订管理和用户身份验证提供端点。

基本URL

http://localhost:3000/api

关键终点

方法端点描述
得到/hotels/search使用筛选条件搜索酒店
得到/hotels/:id获取酒店详细信息
职位/bookings/check-availability查看房间可用性
得到/bookings/me获取用户的预订
职位/bookings创建预订
职位/auth/register注册新用户
职位/auth/login登录用户

有关API的完整文档,请参阅 apps/api/README.md.

发展

运行测试

# Run all tests
pnpm test

# Run tests for specific package
cd packages/shared && pnpm test

数据库工作室

直观地探索和管理您的数据库:

pnpm db:studio

Prisma工作室正式开业 http://localhost:5555.

代码风格

该项目使用:

  • 更漂亮 用于代码格式化
  • ESLint 对于linting
  • TypeScript 用于类型安全
# Format all code
pnpm format

# Run linting
pnpm lint

# Type check
pnpm typecheck

部署

前端(Next.js)

一键或手动设置即可部署到Vercel:

# Build
pnpm build

# Start production server
pnpm start

有关Vercel部署的详细说明,请参阅 文档/部署.md.

后端API(Hono)

部署到Railway、Render或任何Node.js宿主:

# Build
cd apps/api && pnpm build

# Start
pnpm start

必须在托管平台的仪表板中设置环境变量。

有关详细的部署说明,请参阅 文档/部署.md.

贡献

我们欢迎捐款!请按照以下步骤操作:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 运行测试和梳理(pnpm test && pnpm lint)
  5. 提交您的更改(git commit -m 'Add amazing feature')
  6. 推到分支(git push origin feature/amazing-feature)
  7. 打开拉取请求

请阅读 docs/DEVELOPMENT.md 详细的开发指南。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

支持

对于问题、疑问或建议:

路线图

  • \[\]带地图视图的高级酒店过滤
  • \[\]用户评论和评分系统
  • \[\]多语言支持
  • \[\]移动应用程序(React Native)
  • \[\]忠诚度计划集成
  • \[\]航班预订集成
  • \[\]旅行保险选项

目录标签

目录标签

TypeScriptClaudeAI代理AI旅行本地部署酒店预订智能搜索Claude集成实时预订

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP