Mcp Server For Themeparks.wiki

by MasonMao-dev

189 downloads
Not rated
GitHub

About

This project provides a Model-Context-Protocol (MCP) server that interfaces with the ThemeParks.wiki API. It allows users to access real-time and static data for theme parks, including destinations, attractions, wait times, and schedules.

Details

Author
MasonMao-dev
Downloads
189
Categories
Knowledge Base

- List all top-level theme park destinations (e.g., Walt Disney World, Universal Orlando)
- Fetch detailed static information for any entity by its UUID
- Retrieve all direct child entities for a given parent entity
- Get live data including attraction wait times and park hours
- Access operating schedules for specific entities by year and month
- Built-in help prompt summarizing all available tools

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Mcp Server For Themeparks.wiki
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the package via npm (npm install mcp-server-theme-parks) and configure your MCP client to run it with npx -y mcp-server-theme-parks and set the environment variable THEMEPARKS_API_BASE_URL to https://api.themeparks.wiki/v1. Alternatively, clone the repository, build it, and run with node dist/index.js. Tools are invoked by the MCP client.

list_destinations

Retrieves a list of all available top-level theme park destinations (e.g., Walt Disney World Resort, Universal Orlando Resort).

get_entity_details

Fetches detailed static information for a specific entity (like a park, attraction, or restaurant) using its unique ID.

get_entity_children

Retrieves all direct child entities for a given parent entity ID (e.g., all parks within a destination, or all attractions within a park).

get_entity_live_data

Fetches live data for a specific entity and its children. This can include attraction wait times, park operating hours, and show times.

get_entity_schedule

Retrieves the operating schedule or calendar data for a specific entity. Can specify a year and month, or get general schedule data.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp server for themeparks.wiki": {
            "mcp-server-theme-parks": {
                "command": "npx",
                "args": [
                    "-y",
                    "mcp-server-theme-parks"
                ],
                "env": {
                    "THEMEPARKS_API_BASE_URL": "https://api.themeparks.wiki/v1"
                }
            }
        }
    }
}

McpServers

{
    "mcp-server-theme-parks": {
        "command": "npx",
        "args": [
            "-y",
            "mcp-server-theme-parks"
        ],
        "env": {
            "THEMEPARKS_API_BASE_URL": "https://api.themeparks.wiki/v1"
        }
    }
}

MCP Server for ThemeParks.wiki (mcp-server-theme-parks)

This project provides a Model-Context-Protocol (MCP) server that interfaces with the ThemeParks.wiki API. It allows users to access real-time and static data for theme parks, including destinations, attractions, wait times, and schedules.

Prerequisites

Node.js >= 18

Setup & Installation

1. Clone the repository (if applicable):

    git clone https://github.com/MasonMao-dev/mcp-server-theme-parks.git
cd mcp-server-theme-parks

2. Install dependencies:

    npm install

Running the Server

MCP Server Configuration (for MCP clients)

To use this server with an MCP-compatible client, you would typically configure the client as follows:

{
  "mcpServers": {
    "mcp-server-theme-parks": {
      "command": "npx",
      "args": ["-y", "mcp-server-theme-parks"],
      "env": {
        "THEMEPARKS_API_BASE_URL": "https://api.themeparks.wiki/v1"
      }
    }
  }
}
If running locally from source (after npm install and npm run build):
{
  "mcpServers": {
    "mcp-server-theme-parks": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/your/cloned/mcp-server-theme-parks", // Update this path
      "env": {
        "THEMEPARKS_API_BASE_URL": "https://api.themeparks.wiki/v1"
      }
    }
  }
}

Debugging with MCP Inspector

You can debug the server using the MCP Inspector:

npx @modelcontextprotocol/inspector -e THEMEPARKS_API_BASE_URL=https://api.themeparks.wiki/v1 node dist/index.js

Ensure you have built the project first (npm run build).

Available Tools

The server exposes the following tools that can be invoked by an MCP client:

1. list_destinations
Description: Retrieves a list of all available top-level theme park destinations (e.g., Walt Disney World Resort, Universal Orlando Resort).
Parameters: None

2. get_entity_details
Description: Fetches detailed static information for a specific entity (like a park, attraction, or restaurant) using its unique ID.
Parameters:
entity_id (string, UUID, required): The unique GUID identifier for the entity.

3. get_entity_children
Description: Retrieves all direct child entities for a given parent entity ID (e.g., all parks within a destination, or all attractions within a park).
Parameters:
entity_id (string, UUID, required): The unique GUID identifier for the parent entity.

4. get_entity_live_data
Description: Fetches live data for a specific entity and its children. This can include attraction wait times, park operating hours, and show times.
Parameters:
entity_id (string, UUID, required): The unique GUID identifier for the entity.

5. get_entity_schedule
Description: Retrieves the operating schedule or calendar data for a specific entity. Can specify a year and month, or get general schedule data.
Parameters:
entity_id (string, UUID, required): The unique GUID identifier for the entity.
year (integer, optional): The year for the schedule (e.g., 2025). If omitted with month, fetches general schedule.
month (integer, optional): The month for the schedule (1-12). If omitted with year, fetches general schedule. Requires year if specified. (Both year and month must be provided if one is.)

Help Prompt

The server also provides a help prompt:

help
Description: Provides a summary of all available tools and their usage.
Parameters: None
* Output: A user-friendly message listing all tools, their descriptions, and parameters.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.