sixflags-mcp
This server provides live and static data for Six Flags and Cedar Fair theme parks to help plan visits, with no API key required. All tools are read-only and most default to a configurable home park (default: Carowinds) when no park is specified. Parks can be identified by name, slug, or id.
List parks: Browse all parks (e.g., Cedar Point, Magic Mountain), with optional name filtering, and see your home park.
Get park schedule: Retrieve operating hours for a park from today forward (default 10 days, up to 60 days ahead).
Get wait times: Fetch real-time standby and single-rider wait times, ride status, sorted longest wait first, with a crowd level summary. Optionally filter to only operating rides.
Suggest next ride: Get ranked recommendations based on the shortest current wait, with options to exclude specific rides, cap the maximum wait, and limit suggestions.
List attractions: Access the static directory of rides, shows, or restaurants with map coordinates. Filter by type: ATTRACTION, SHOW, or RESTAURANT.
Get show schedule: View today's live entertainment schedule, including parades, stunt shows, and character meets.
Healthcheck: Verify the upstream data source is reachable and see how many parks were discovered.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sixflags-mcpwhat are the wait times today at Six Flags Magic Mountain?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
sixflags-mcp
MCP server for Six Flags theme parks — live ride wait times, park hours, show schedules, and day planning. Your home park (default Carowinds) is the default for every tool, so "what are the wait times?" just works. Covers the whole combined Six Flags / Cedar Fair chain: Cedar Point, Kings Island, Canada's Wonderland, Magic Mountain, the Hurricane Harbor water parks, and more.
Data comes from the public themeparks.wiki API — no account, no API key, no login.
Built and maintained by AI. This codebase is developed and maintained by Claude (Claude Code). Use at your own discretion.
Tools
Tool | What it does |
| Every ride's current standby + single-rider wait and status, sorted longest-first, with a crowd summary. |
| Ranks currently-open rides by shortest wait — the "what should we ride next?" planner. Supports |
| Operating hours from today forward. |
| Today's live show schedule (parades, stunt shows, character meets) with showtimes. |
| The full directory of a park's rides / shows / restaurants, with map coordinates. |
| Every Six Flags park and its id; |
| Confirm the upstream data source is reachable. |
Every data tool takes an optional park argument (name, slug, unique substring, or id). Omit it for your home park.
Related MCP server: Pokemon Go MCP Server
Install
Via npx (published to npm):
{
"mcpServers": {
"sixflags": {
"command": "npx",
"args": ["-y", "sixflags-mcp"],
"env": { "SIXFLAGS_HOME_PARK": "Carowinds" }
}
}
}Or as a Claude Code plugin from the chrischall marketplace, or install the .mcpb bundle from a release.
Configuration
All optional — the upstream is keyless.
Env var | Default | Purpose |
|
| Default park for tools that don't name one. A park name, themeparks.wiki slug, or park id. |
|
| Per-request timeout. |
|
| User-Agent sent to themeparks.wiki. |
Development
npm install
npm run build # tsc → dist/, then esbuild bundle → dist/bundle.js
npm test # vitest run
npm run test:coverage # 100% coverage gate (CI)
npm run dev # node --env-file=.env dist/index.js (requires a build)Data source & accuracy
Wait times, show times, and hours are provided by themeparks.wiki, which aggregates the parks' own apps. They populate only during operating hours — off-hours every ride reads CLOSED. Treat waits as best-effort estimates, not guarantees.
Available Tools
7 toolssixflags_get_park_scheduleARead-only
Get operating hours (open/close times) for a Six Flags park, from today forward. Defaults to your home park. Use this to plan what time to arrive and how long you have.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | How many days ahead to include (default 10) | |
| park | No | Park name, slug, or id. Defaults to your home park (Carowinds). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the tool is a safe read. The description adds behavioral context: 'from today forward' indicates temporal scope, and the usage advice gives practical context. No destructive behavior is disclosed or contradicted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first states what the tool does, second states its purpose. No filler or redundancy. Information is front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple two-parameter tool with no output schema, but it does not specify the return format (e.g., list of dates with times). While the purpose is clear, a more complete description could benefit agent planning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover both parameters fully (100% coverage), including defaults. The tool description repeats the default home park but adds no further meaning beyond what's in the schema. Thus, it meets baseline but adds no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves operating hours for a Six Flags park, which is distinct from sibling tools like wait times, attractions, shows, etc. It specifies the resource (park schedule) and action (get), making it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: 'plan what time to arrive and how long you have.' It implies when to use this tool, but does not explicitly exclude alternatives or mention when not to use it. However, given sibling tools, the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sixflags_get_showsARead-only
Get today’s live show schedule (showtimes) for a Six Flags park — parades, stunt shows, character meets. Defaults to your home park (Carowinds). Showtimes are only populated on operating days.
| Name | Required | Description | Default |
|---|---|---|---|
| park | No | Park name, slug, or id. Defaults to your home park (Carowinds). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds valuable behavioral context: 'Showtimes are only populated on operating days' and the default park behavior. No contradictory or hidden traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no fluff. Every sentence adds value: purpose, types, default, and constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one parameter and no output schema, the description covers purpose, usage caveat, and default. Minor gap: no expectation of response format, but acceptable given low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, with schema description already explaining park name/slug/id and default. The tool description simply reiterates the default without adding new semantics, meeting baseline expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'today’s live show schedule', specifying show types (parades, stunt shows, character meets). It implicitly distinguishes from siblings by focusing solely on shows, not full park schedule or attractions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: defaults to home park (Carowinds) and only populated on operating days. While it doesn't explicitly name alternatives, the scope (shows only) and sibling names guide appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sixflags_get_wait_timesARead-only
Get current ride wait times for a Six Flags park (defaults to your home park, Carowinds). Returns every attraction with its status (operating/closed/down) and standby + single-rider waits, sorted longest-wait first, plus a summary of the park’s crowd level.
| Name | Required | Description | Default |
|---|---|---|---|
| park | No | Park name, slug, or id. Defaults to your home park (Carowinds). | |
| openOnly | No | Only return currently-operating rides (default false: include closed/down) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows it's safe. The description adds richer behavioral details: returns every attraction with status (operating/closed/down), standby and single-rider waits, sorted longest-wait first, and a park crowd-level summary. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs all key information (purpose, default, output format, sorting, crowd summary) without unnecessary words. It's front-loaded and efficient, though splitting into two sentences could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully explains the return structure (attractions, status, waits, sorted, crowd level). Both optional parameters are covered. No output schema makes this level of detail appropriate and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds context beyond the schema: it clarifies the default park (Carowinds) and the default for openOnly (false means include closed/down). This helps the agent understand defaults without calling the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (Get), resource (ride wait times), and scope (Six Flags park, defaults to Carowinds). It distinguishes from siblings like sixflags_list_parks (lists parks) and sixflags_get_park_schedule (gets schedule), making its purpose unique.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this vs. alternatives. The context implies it's for retrieving real-time wait data, but it doesn't specify when to prefer it over sixflags_list_attractions or sixflags_suggest_next, nor does it mention 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.
sixflags_healthcheckARead-only
Check that the upstream data source (themeparks.wiki) is reachable and returning Six Flags park data. Returns ok/degraded plus the number of parks discovered.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description confirms a read-only health check. It adds specific return information (status and park count). No behavioral contradictions or missing critical details beyond what annotations cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. It efficiently conveys the tool's purpose and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description fully covers its behavior. It explains the inputs (none) and outputs (status and park count), making it complete for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so the description does not need to elaborate. With zero parameters, the baseline is 4, and the description provides no additional parameter information, which is acceptable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a health check for the upstream data source, specifying the action (check reachability and data return) and what it returns (ok/degraded, number of parks). It is distinct from sibling tools that retrieve specific park data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to verify connectivity before other operations, but it does not explicitly state when to use it versus alternatives or provide exclusions. Usage is implied rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sixflags_list_attractionsARead-only
List the attractions (or shows / restaurants) at a Six Flags park — the full directory of what’s there, with map coordinates. Static metadata, not live status; use sixflags_get_wait_times for current waits. Defaults to your home park (Carowinds).
| Name | Required | Description | Default |
|---|---|---|---|
| park | No | Park name, slug, or id. Defaults to your home park (Carowinds). | |
| type | No | Which kind of entity to list (default ATTRACTION) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description correctly reinforces that it returns static, not live data. It adds context about including map coordinates and that it is a full directory, but does not go beyond the read-only nature already indicated by annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, and every sentence adds value. No superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description fully covers its purpose, parameters, default behavior, and relationship to sibling tools. No output schema is needed, as the description implies the expected items (attractions with map coordinates).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already described. The description adds the default value for 'park' (home park Carowinds), providing extra context beyond the schema, but does not elaborate on the enum values or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states that it lists attractions, shows, or restaurants at a Six Flags park, including map coordinates. Distinguishes from siblings by specifying it provides static metadata and not live wait times, with an explicit reference to sixflags_get_wait_times for current status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: use sixflags_get_wait_times for current wait times, defaults to home park (Carowinds), and clarifies that it lists static metadata. Also implies the type parameter can be set to different entity kinds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sixflags_list_parksARead-only
List Six Flags parks (the combined Six Flags / Cedar Fair chain, including Carowinds, Cedar Point, Canada’s Wonderland, Magic Mountain, and the Hurricane Harbor water parks). Optionally filter by a name substring. Returns each park’s id, name, and owning destination, and flags your configured home park.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Case-insensitive substring to filter park or destination names |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, description adds specific return fields (id, name, destination, home park flag). No contradictions. Provides useful behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with core purpose. Every word adds value; no wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, description sufficiently covers what is returned. Could mention lack of pagination but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter 'search' is fully described in schema (100% coverage). Description repeats filter functionality but adds no additional meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'List Six Flags parks' with specific chain details and optional filtering. Distinguishes from sibling tools by focusing on parks vs. schedules, wait times, attractions, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes optional name substring filtering. While it doesn't explicitly contrast with other list tools, the context of listing parks vs. attractions is clear. Slight room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sixflags_suggest_nextARead-only
Recommend which attraction to ride next: ranks currently-operating rides by shortest standby wait. Optionally exclude rides you’ve already done and cap the wait. Use this repeatedly through the day to keep hopping to the lowest-wait ride. Defaults to your home park (Carowinds).
| Name | Required | Description | Default |
|---|---|---|---|
| park | No | Park name, slug, or id. Defaults to your home park (Carowinds). | |
| limit | No | How many suggestions to return (default 5) | |
| exclude | No | Ride names (case-insensitive, substring match) to skip — e.g. ones already ridden | |
| maxWaitMinutes | No | Only suggest rides with a standby wait at or below this many minutes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's main behavioral disclosure is that it filters to 'currently-operating rides'. This adds value beyond annotations but does not cover additional behaviors like rate limits or data freshness. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three well-structured sentences, front-loading the core purpose and usage pattern. Every sentence serves a purpose, with no redundant or fluff content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the ranking logic, filtering, and use case adequately for a relatively simple tool. It could mention that the return is a list of suggested attractions with wait times, but the purpose is clear enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds little beyond what the schema already provides for each parameter. It reiterates the default park (Carowinds) and the purpose of 'exclude' (rides already done), but these are already in the schema descriptions. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Recommend which attraction to ride next: ranks currently-operating rides by shortest standby wait.' This verb+resource combination is specific and distinguishes it from sibling tools like sixflags_get_wait_times or sixflags_list_attractions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using the tool repeatedly throughout the day to hop to the lowest-wait ride, providing clear context. It also notes optional exclusions and wait caps, but does not explicitly mention when not to use it or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: listing parks, getting schedule, wait times, ride suggestions, attractions, shows, and health check. No overlap exists, making it easy for an agent to select the correct tool.
All tools share the 'sixflags_' prefix and follow a predictable verb_noun pattern (e.g., list_parks, get_wait_times, suggest_next). The one exception ('healthcheck') is still intuitive and does not disrupt the overall consistency.
With 7 tools, the server is well-scoped for its domain of theme park information. Each tool earns its place, covering core operations without being overly numerous or sparse.
The tool surface covers essential park operations: listing, schedules, live waits, attractions, shows, and ride recommendations. A healthcheck tool adds reliability. There are no obvious gaps for a visitor-focused use case.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server registry — validated by live handshake, scored on reliability, monitored continuously.
Amtrak MCP — live Amtrak train tracking via the community Amtraker API
The official MCP Server for the Mux API
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceA unified MCP server for US transit systems, supporting Washington DC Metro and NYC Subway with real-time predictions, station info, and service alerts.5924MIT
- AlicenseBqualityDmaintenanceA comprehensive MCP server providing real-time Pokemon Go data including events, raids, research tasks, egg hatches, and Team Rocket lineups.30437MIT
- AlicenseAqualityAmaintenanceMCP server for MaxPreps that reads US high school team schedules, scores, records, rosters, stat leaders, and athlete careers without needing an account or API key.1570MIT
- AlicenseNot gradedqualityBmaintenanceMCP server that turns real NFL & fantasy data into a decisive edge, offering 70+ tools for draft assistance, start/sit recommendations, trade analysis, playoff odds, and more, with live league integration.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/sixflags-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server