Skip to main content
Glama
syyuan14

Shanghai Disney MCP Server

by syyuan14

项目介绍

sh-disney-mcp 是一个基于 Model Context Protocol (MCP) 的mcp server,旨在通过标准化的接口,帮助大模型快速获取上海迪士尼乐园的门票价格和售卖状态信息。

NPM 包地址sh-disney-mcp

Related MCP server: 12306 MCP Server

功能特性

功能描述

说明

状态栏标记

查询一日门票价格信息

获取上海迪士尼乐园一日门票的最新价格数据

✅ 支持

查询一日门票售卖情况

检查一日门票是否售罄,支持未来日期查询

✅ 支持

查询两日门票价格信息

获取上海迪士尼乐园两日门票的最新价格数据

✅ 支持

查询两日门票售卖情况

检查两日门票是否售罄,支持未来日期查询

✅ 支持

安装指南

前提条件

  • Node.js 16.x 或更高版本

  • npm 或 pnpm 包管理器

安装步骤

  1. 克隆项目仓库

git clone [仓库地址]
cd sh-disney-mcp
  1. 安装依赖

pnpm install
  1. 构建项目

pnpm run build
  1. 本地调试

pnpm run inspect

使用说明

集成MCP host

{
  "mcpServers": {
    "sh-disney-mcp": {
      "command": "npx",
      "args": ["-y", "sh-disney-mcp"]
    }
  }
}

工具函数说明

getOneDayTicketSaleInfo

功能:检查一日门票的售卖情况,可以用来查看从今天开始未来30天的门票是否售罄。

参数:无

返回值:包含日期和门票状态的文本信息

getOneDayTicketPrice

功能:获取一日门票的不同类型门票的价格信息。

参数

  • date: string - 要查询的日期,格式为"yyyy-MM-dd",例如"2023-12-25"

返回值:包含不同类型门票价格的文本信息

getTwoDayTicketSaleInfo

功能:检查两日门票的售卖情况,可以用来查看从今天开始未来30天的门票是否售罄。

参数:无

返回值:包含日期和门票状态的文本信息

getTwoDayTicketPrice

功能:获取两日门票的不同类型门票的价格信息。

参数

  • date: string - 要查询的日期,格式为"yyyy-MM-dd",例如"2023-12-25"

返回值:包含不同类型门票价格的文本信息

许可证

本项目采用 MIT 许可证 - 详情请查看 LICENSE 文件

贡献指南

欢迎提交 Issues 和 Pull Requests 来帮助改进这个项目。在提交代码前,请确保运行代码质量检查工具以保持代码风格的一致性。

Available Tools

4 tools
getOneDayTicketPriceB

获取一日门票的不同类型门票的价格信息

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes要查询的日期,比如"2023-12-25"。

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description does not disclose any behavioral traits such as rate limits, authentication needs, or return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words, immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple tool with one parameter, but lacks explanation of 'different types of tickets' or response structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter described), so baseline is 3. The description adds minimal extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (获取/get) and resource (一日门票的不同类型门票的价格信息), distinguishing it from siblings like getOneDayTicketSaleInfo (sale info) and two-day variants.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no exclusions or context about prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getOneDayTicketSaleInfoA

检查一日门票的售卖情况,可以用来查看从今天开始未来30天的门票是否售罄

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses that the tool checks sale status for a fixed future period, implying a read-only operation. No contradictory or missing behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the key information. It is efficient with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description covers the tool's purpose and scope adequately. However, it does not explicitly describe the return format or behavior (e.g., whether it returns a boolean or structured data). This leaves minor ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema provides no descriptional burden. Baseline of 4 applies as there is nothing to add beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool checks one-day ticket sale status for the next 30 days. It specifies the resource (一日门票, one-day tickets) and the action (检查售卖情况, check sale status), and distinguishes itself from siblings like getTwoDayTicketSaleInfo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly guides when to use: to check if tickets are sold out for the next 30 days from today. It does not include exclusions, but the context is clear, and siblings provide alternatives for two-day tickets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTwoDayTicketPriceB

获取二日门票的不同类型门票的价格信息

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYes要查询的日期,比如"2023-12-25"。

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden for behavioral disclosure but provides no details on side effects, authentication, rate limits, or response format beyond 'price information'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, efficiently conveying the tool's purpose without unnecessary words, though it could benefit from slight expansion.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple schema and no output schema, the description minimally explains the return type ('price information for different types') but omits details on the structure or what 'types' refer to.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter, but the description adds no additional meaning beyond what the schema already provides for the date parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves price information for different types of two-day tickets, distinguishing it from one-day ticket tools. However, it could more explicitly link to the date parameter.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for two-day ticket pricing via its name and content, but lacks explicit guidance on when to choose this tool over siblings like getOneDayTicketPrice or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getTwoDayTicketSaleInfoA

检查二日门票的售卖情况,可以用来查看从今天开始未来30天的门票是否售罄

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses a key behavior: checking availability for the next 30 days. However, it does not describe whether the operation is read-only, any authentication needs, or side effects, leaving some transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and front-loaded with the purpose. It wastes no words, though it could be more structured (e.g., bullet points) for clarity. The length is appropriate for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and zero parameters, the description provides the core behavior but lacks details on return format or data structure. Given the tool's simplicity, it is adequate but could improve by specifying what the output looks like (e.g., boolean or list of dates).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, and schema coverage is 100% by default. According to guidelines, baseline is 4. The description adds meaning beyond the empty schema by explaining what the tool does (checking sale status for a specific time range).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks the sale status of two-day tickets, specifically for sold-out status over the next 30 days. It uses a specific verb ('检查') and resource ('二日门票'), and the sibling tools (e.g., getOneDayTicketSaleInfo, getTwoDayTicketPrice) are clearly distinct in scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives, nor does it mention any conditions or exclusions. The phrase '可以用来查看' only indicates general applicability, lacking explicit when-to-use or when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.2
    • First observedgetOneDayTicketPrice
    • First observedgetOneDayTicketSaleInfo
    • First observedgetTwoDayTicketPrice
    • First observedgetTwoDayTicketSaleInfo

TDQS

A3.8/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct combination of ticket duration (one-day/two-day) and info type (price/availability), with no overlap.

Naming Consistency5/5

All tools follow a consistent get{Type}Ticket{Info} camelCase pattern, making them predictable.

Tool Count5/5

With 4 tools covering price and availability for two ticket durations, the count is well-scoped for this domain.

Completeness4/5

Covers core ticket pricing and availability inquiries but lacks tools for other ticket types (e.g., annual passes) or booking operations, a minor gap.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that allows large language models to search for and analyze Chinese railway (12306) tickets through a simple API interface.
    8
    2,633
    18
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A high-performance FastAPI backend for train ticket queries in China, supporting real-time ticket availability, station information, transfers, and train schedules through the Model Context Protocol for AI assistants and automation.
    7
    380
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    12306 ticket purchase search server based on Model Context Protocol (MCP). It provides a simple API interface, allowing large models to search for 12306 ticket purchasing information through the interface.
    8
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    RollingGo MCP is a high-performance hotel search and recommendation service built on the MCP (Model Context Protocol) standard. It connects large language models with a massive database of domestic and international hotel data, providing real-time structured hotel search capabilities for AI assistants, agents, travel planning tools, or IDE plugins like Cursor/Windsurf.
    2
    MIT