pterodactyl-mcp

pterodactyl-mcp

MCP server for Pterodactyl and Pelican game server panels. 73 tools for server management, power control, file operations, backups, schedules, databases, users, nodes, and eggs.

Category
Visit Server

README

pterodactyl-mcp

npm version License: MIT Node.js

The first MCP server for Pterodactyl Panel. Manage your game servers with AI.

An MCP (Model Context Protocol) server that exposes the Pterodactyl Panel API to LLMs. Connect Claude, Cursor, or any MCP-compatible client to your game server infrastructure and manage it through natural language.

Features

  • 42 MCP tools covering server management, power control, file management, backups, users, nodes, and more
  • Dual API key support - Application API (admin) + Client API (power, files, console)
  • Read-only and destructive actions properly annotated so your AI client can warn before dangerous operations
  • Rate limiting and retry logic built-in with exponential backoff
  • TypeScript, fully typed with strict mode enabled
  • Zod validation on all inputs for robust parameter checking
  • Structured JSON responses optimized for LLM consumption
  • Health check on startup to verify panel connectivity

Quick Start

npx @zefarie/pterodactyl-mcp

Configuration

Set these environment variables:

Variable Required Description
PTERODACTYL_URL Yes Your Pterodactyl Panel URL
PTERODACTYL_APP_KEY Yes Application API key (starts with ptla_)
PTERODACTYL_CLIENT_KEY No Client API key (starts with ptlc_) for power/files/console tools

Usage with Claude Desktop / Claude Code / Cursor

Add to your MCP configuration:

{
  "mcpServers": {
    "pterodactyl": {
      "command": "npx",
      "args": ["-y", "@zefarie/pterodactyl-mcp"],
      "env": {
        "PTERODACTYL_URL": "https://panel.example.com",
        "PTERODACTYL_APP_KEY": "ptla_xxxxxxxxxxxxx",
        "PTERODACTYL_CLIENT_KEY": "ptlc_xxxxxxxxxxxxx"
      }
    }
  }
}

See docs/SETUP.md for platform-specific config file locations and troubleshooting.

Hosted Mode (Cloudflare Worker)

You can also deploy pterodactyl-mcp as a Cloudflare Worker, giving each user a unique MCP endpoint URL without running anything locally. See the Cloudflare Worker Deployment section in the setup guide.

Available Tools (42)

Server Management (Application API)

Tool Description Type
list_servers List all servers with ID, identifier, name, status, and limits Read-only
get_server Get detailed server config (limits, egg, container, allocations) Read-only
create_server Create a new server with egg, resources, and allocation Destructive
delete_server Permanently delete a server and all its data Destructive
update_server_details Update server name, description, owner, or external ID Destructive
update_server_build Update resource limits (memory, CPU, disk, swap) Destructive
update_server_startup Update startup command, Docker image, or egg Destructive
suspend_server Suspend a server (prevents users from starting it) Destructive
unsuspend_server Unsuspend a previously suspended server Destructive
reinstall_server Reinstall server egg (wipes all files) Destructive
list_server_databases List databases attached to a server (admin view) Read-only

Power Control (Client API)

Tool Description Type
start_server Start a stopped server Destructive
stop_server Stop a running server gracefully Destructive
restart_server Restart a server (works running or stopped) Destructive
kill_server Forcefully kill a server process (data loss risk) Destructive
get_server_resources Get real-time CPU, memory, disk, network usage and power state Read-only

Console (Client API)

Tool Description Type
send_command Send a console command to a running server Destructive

File Management (Client API)

Tool Description Type
list_files List files and directories in a server's filesystem Read-only
read_file Read the contents of a text file Read-only
write_file Write content to a file (create or overwrite) Destructive
create_folder Create a new directory Destructive
delete_files Delete one or more files or folders Destructive
rename_file Rename or move a file/folder Destructive
compress_files Compress files into a .tar.gz archive Destructive
decompress_file Extract an archive file Destructive

Backups (Client API)

Tool Description Type
list_backups List all backups for a server Read-only
create_backup Create a new server backup Destructive

Startup & Config (Client API)

Tool Description Type
get_startup_variables Get startup command, env variables, and Docker images Read-only

Schedules (Client API)

Tool Description Type
list_schedules List all scheduled tasks (cron jobs) for a server Read-only

Databases (Client API)

Tool Description Type
list_client_databases List databases for a server (client view) Read-only

Sub-users (Client API)

Tool Description Type
list_subusers List sub-users with permissions for a server Read-only

Account (Client API)

Tool Description Type
get_account Get the current authenticated user's account info Read-only

Users (Application API)

Tool Description Type
list_users List all user accounts on the panel Read-only
get_user Get detailed info for a specific user Read-only
create_user Create a new user account Destructive
update_user Update a user's details Destructive

Nodes (Application API)

Tool Description Type
list_nodes List all infrastructure nodes Read-only
get_node Get detailed info for a specific node Read-only
get_node_config Get Wings daemon configuration for a node Read-only

Panel Config (Application API)

Tool Description Type
list_eggs List all available server templates (eggs) Read-only
list_mounts List all mount points Read-only
list_roles List all admin roles Read-only

See docs/TOOLS.md for detailed documentation on each tool, including parameters and example responses.

Important: Server ID vs Identifier

Pterodactyl uses two different identifiers for servers:

  • server_id (number) - Used by Application API (admin) tools. Example: 7
  • server_identifier (string) - Used by Client API tools (power, files, console). Example: "a1b2c3d4"

Call list_servers first to get both values. The response includes both id (numeric) and identifier (string) for each server.

Getting API Keys

Application API Key (required, ptla_): Admin Panel > Application API > Create New

Client API Key (optional, ptlc_): Account > API Credentials > Create

See docs/SETUP.md for detailed instructions.

Development

pnpm install      # Install dependencies
pnpm build        # Build the project
pnpm test         # Run unit tests
pnpm lint         # Run linter and formatter
pnpm typecheck    # Type checking

Contributing

Contributions are welcome! Please make sure pnpm lint, pnpm typecheck, and pnpm test all pass before submitting.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured