ThemeParks.wiki

by habuma

3 stars
Not rated
GitHub

About

Exposes data from the ThemeParks.wiki API as tools.

Details

Author
habuma
Repository
habuma/tpapi-mcp-server
GitHub stars
3
Categories
AI, Knowledge Base, API, Infrastructure

- Get theme park operating hours
- Get attraction wait times
- Get show times

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 ThemeParks.wiki
    Command (node, npx, python, etc.) /path/to/java
    Arguments
    • Argument 1 -jar
    • Argument 2 /path/to/project/build/libs/tpapi-mcp-server-0.0.1-SNAPSHOT.jar

    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

You can use the ThemeParks.wiki API MCP Server in Claude Desktop by adding
configuration to claude_desktop_config.json. Change the paths below to
correctly reference the Java command line and the location of the executable
JAR file:

{
  "mcpServers": {
    "tpapi": {
      "command": "/path/to/java",
      "args": [
        "-jar",
        "/path/to/project/build/libs/tpapi-mcp-server-0.0.1-SNAPSHOT.jar"
      ]
    }
  }
}

getEntityChildren

Get a list of attractions and shows in a park given the park's entity ID. Input: entityId (string)

getEntityScheduleForDate

Get a park's operating hours given the park's entity ID and a specific date (in yyyy-MM-dd format). Input: entityId (string), date (string; yyyy-MM-dd)

getAllParks

Get a list of all parks (including their name and entity ID)

getParksByName

Get a list of parks (including their name and entity ID) given a park name or resort name. Input: entityId (string)

getEntity

Get an entity given its entity ID. Input: entityId (string)

getEntityLive

Get an attraction's wait times or a show's show times given the attraction or show entity ID. Input: entityId (string)

- getEntityChildren
- Get a list of attractions and shows in a park given the park's entity ID
- input: entityId (string)
- getEntityScheduleForDate
- Get a park's operating hours given the park's entity ID and a specific date (in yyyy-MM-dd format).
- input:
- entityId (string)
- date (string; yyyy-MM-dd)
- getAllParks
- Get a list of all parks (including their name and entity ID)
- getParksByName
- Get a list of parks (including their name and entity ID) given a park name or resort name
- input: entityId (string)
- getEntity
- Get an entity given its entity ID
- input: entityId (string)
- getEntityLive
- Get an attraction's wait times or a show's show times given the attraction or show entity ID
- input: entityId (string)

Claude Desktop / Cursor

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

{
    "mcpServers": {
        "themeparks.wiki": {
            "env": {},
            "args": [
                "-jar",
                "/path/to/project/build/libs/tpapi-mcp-server-0.0.1-SNAPSHOT.jar"
            ],
            "shell": false,
            "command": "/path/to/java"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-jar",
        "/path/to/project/build/libs/tpapi-mcp-server-0.0.1-SNAPSHOT.jar"
    ],
    "shell": false,
    "command": "/path/to/java"
}

Macos

{
    "env": [],
    "args": [
        "-jar",
        "/path/to/project/build/libs/tpapi-mcp-server-0.0.1-SNAPSHOT.jar"
    ],
    "shell": false,
    "command": "/path/to/java"
}

Windows

{
    "env": [],
    "args": [
        "-jar",
        "/path/to/project/build/libs/tpapi-mcp-server-0.0.1-SNAPSHOT.jar"
    ],
    "shell": false,
    "command": "/path/to/java"
}

ThemeParks.wiki API MCP Server

This is an MCP Server that exposes data from the ThemeParks.wiki API
as tools.

Features

- Get theme park operating hours
- Get attraction wait times
- Get show times

API

Tools

- getEntityChildren
- Get a list of attractions and shows in a park given the park's entity ID
- input: entityId (string)
- getEntityScheduleForDate
- Get a park's operating hours given the park's entity ID and a specific date (in yyyy-MM-dd format).
- input:
- entityId (string)
- date (string; yyyy-MM-dd)
- getAllParks
- Get a list of all parks (including their name and entity ID)
- getParksByName
- Get a list of parks (including their name and entity ID) given a park name or resort name
- input: entityId (string)
- getEntity
- Get an entity given its entity ID
- input: entityId (string)
- getEntityLive
- Get an attraction's wait times or a show's show times given the attraction or show entity ID
- input: entityId (string)

Building the server

To build the server as an executable JAR file, run the following command:

./gradlew build

This will require Java 21 (or higher) to be installed. I recommend using SDKMAN!
to install and manage Java versions.

The JAR file will be placed in build/libs/kt-mcp-server-0.0.1-SNAPSHOT.jar.
Do not try to run this executable JAR file yourself. The MCP Client (such as
Claude Desktop) will run the server for you.

Optionally, to build the server as a Docker image, run the following command:

./gradlew bootBuildImage --imageName=habuma/tpapi-mcp-server

Do not attempt to run this Docker image yourself. The MCP Client (such as
Claude Desktop) will run the server for you.

Usage with Claude Desktop

You can use the ThemeParks.wiki API MCP Server in Claude Desktop by adding
configuration to claude_desktop_config.json. Change the paths below to
correctly reference the Java command line and the location of the executable
JAR file:

{
  "mcpServers": {
    "tpapi": {
      "command": "/path/to/java",
      "args": [
        "-jar",
        "/path/to/project/build/libs/tpapi-mcp-server-0.0.1-SNAPSHOT.jar"
      ]
    }
  }
}
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.