迪士尼乐园数据服务

一个提供迪士尼乐园景点、餐饮和其他实体结构化数据的MCP服务器。

  • by cameronsjo
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 cameronsjo/mouse-mcp

使用说明

迪士尼乐园MCP服务器

向Claude Code提供迪士尼乐园数据的MCP(模型上下文协议)服务器。返回景点、餐饮和其他公园实体的结构化数据。

特性

  • 景点数据:身高要求、闪电车道状态、刺激程度、单人可用性
  • 餐饮数据:服务类型、用餐时间、烹饪、预订、移动订购
  • 模糊搜索:通过智能匹配按名称查找实体
  • 自动缓存:具有SQLite持久性的24小时缓存
  • 双重数据源:Disney Finder API(主要),带主题公园.wiki回退

安装

npm install
npm run build

用法

使用克劳德代码

添加到您的Claude Code MCP配置中:

{
  "mcpServers": {
    "disney": {
      "command": "node",
      "args": ["/path/to/mouse-mcp/dist/index.js"]
    }
  }
}

发展

# Run in development mode with auto-reload
npm run dev

# Type check without building
npm run check

# Test with MCP inspector
npm run inspector

工具

disney_destinations

列出所有支持的迪士尼目的地及其公园。

No parameters required

disney_attractions

获取目的地或公园的景点。

参数 类型 必填 说明
destination string 是 wdw 或 dlr
parkId string 否 筛选到特定公园
filters.hasLightningLane boolean 否 仅闪电巷景点
filters.maxHeightRequirement number No 最大高度(英寸)
filters.thrillLevel string 否 family, moderate,或 thrill
filters.hasSingleRider boolean 否 只有单人游乐设施

disney_dining

获取目的地或公园的用餐地点。

参数 类型 必填 说明
destination string 是 wdw 或 dlr
parkId string 否 筛选到特定公园
filters.serviceType string 否 table-service, quick-service等等。
filters.mealPeriod string 否 breakfast, lunch, dinner, snacks
filters.reservationsAccepted boolean 否 仅限预订餐厅
filters.characterDining boolean 否 仅限角色用餐

disney_entity

通过ID或模糊名称搜索查找特定实体。

参数 类型 必填 说明
id string 否* 用于精确查找的实体ID
name string 否* 模糊搜索的实体名称
destination string 否 将搜索限制为 wdw 或 dlr
entityType string 否 ATTRACTION 或 RESTAURANT

*要么 id 或 name 是必需的。

disney_status

获取服务器运行状况和缓存统计信息。

参数 类型 必填 说明
includeDetails boolean 否 包括实体细分

配置

环境变量(均以前缀 MOUSE_MCP_):

变量 默认值 描述
MOUSE_MCP_LOG_LEVEL INFO 日志级别: DEBUG, INFO, WARN, ERROR
MOUSE_MCP_DB_PATH ~/.cache/mouse-mcp/disney.db SQLite数据库路径
MOUSE_MCP_TIMEOUT 30000 请求超时(毫秒)
MOUSE_MCP_HEADLESS true 在无头模式下运行Playwright

建筑

┌─────────────────────────────────────────────────────────────┐
│                     MCP Server                               │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                    Tools                             │   │
│  │  destinations | attractions | dining | entity | status │
│  └─────────────────────────────────────────────────────┘   │
│                           │                                  │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                  API Clients                         │   │
│  │  ┌─────────────────┐    ┌─────────────────┐        │   │
│  │  │ Disney Finder   │───▶│ ThemeParks.wiki │        │   │
│  │  │    (primary)    │    │   (fallback)    │        │   │
│  │  └─────────────────┘    └─────────────────┘        │   │
│  │           │                                          │   │
│  │  ┌─────────────────┐                                │   │
│  │  │ Session Manager │ (Playwright auth)              │   │
│  │  └─────────────────┘                                │   │
│  └─────────────────────────────────────────────────────┘   │
│                           │                                  │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                   SQLite Database                    │   │
│  │  sessions | cache | entities (with FTS5)            │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

支持的目的地

华特迪士尼世界度假区(wdw)

  • 魔法王国公园
  • 明日世界
  • 迪士尼好莱坞影城
  • 迪士尼动物王国

迪士尼乐园度假区(dlr)

  • 迪斯尼乐园
  • 迪士尼加州冒险乐园

许可证

麻省理工学院