{"_id":"@duruma/pterodactyl-mcp","_rev":"3-3810dbcd4cbe345e7c8e87798726ea35","name":"@duruma/pterodactyl-mcp","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@duruma/pterodactyl-mcp","version":"0.1.0","license":"MIT","_id":"@duruma/pterodactyl-mcp@0.1.0","maintainers":[{"name":"duruma","email":"finnllex222@gmail.com"}],"bin":{"pterodactyl-mcp":"dist/index.js"},"dist":{"shasum":"34333e447f4e2657499168189ec824591218ab51","tarball":"https://registry.npmjs.org/@duruma/pterodactyl-mcp/-/pterodactyl-mcp-0.1.0.tgz","fileCount":23,"integrity":"sha512-cXoDoX7R2jTBVD5nqJg1tCVLw8IJFqyZMgDtar7DruM+BvmcwjjqCC8LNzSjnkv8wfDRDkCzI76yQ13jPgv3vg==","signatures":[{"sig":"MEUCIQDVAA2fIMmBKKRZYyTxxJ+x2qv7GcvIE4y2vkl1pg6l1AIgEwFJmvbYBWmoJS25N8kaMt+gRaY/kmfKjhGoTlJhISY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112294},"type":"module","engines":{"node":">=18"},"gitHead":"8dc7643b7edf4a829321b931fa98bfac0c6e56f5","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"duruma","email":"finnllex222@gmail.com"},"_npmVersion":"11.9.0","description":"Pterodactyl MCP server over HTTP","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.20.0","zod":"^3.24.0","dotenv":"^17.4.2","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.18.1","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-mcp_0.1.0_1776110048773_0.053232233807880114","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@duruma/pterodactyl-mcp","version":"0.1.1","license":"MIT","_id":"@duruma/pterodactyl-mcp@0.1.1","maintainers":[{"name":"duruma","email":"finnllex222@gmail.com"}],"bin":{"pterodactyl-mcp":"dist/index.js"},"dist":{"shasum":"07737f682d1fd6fd1f5c55cfdf9a00f466769947","tarball":"https://registry.npmjs.org/@duruma/pterodactyl-mcp/-/pterodactyl-mcp-0.1.1.tgz","fileCount":23,"integrity":"sha512-DxflbTleO1cYaieysl6R6/eSd50HSZXSy2n0yoM4cPHzddpgKd1F3LVtddnFLeM7OtnHW2pygaJgrPOch1G+Mw==","signatures":[{"sig":"MEUCIQDoQjJFpy5eR7seqrDAzP98NAgRLsbFQyoIxZCkFT4q2gIgFHazXH5ODtm5JfVO1K2+J9cFMaduHTdaevzzEJNafBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":112294},"type":"module","engines":{"node":">=18"},"gitHead":"8dc7643b7edf4a829321b931fa98bfac0c6e56f5","scripts":{"dev":"tsx src/index.ts","build":"tsc","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"duruma","email":"finnllex222@gmail.com"},"_npmVersion":"11.9.0","description":"Pterodactyl MCP server over HTTP","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ws":"^8.20.0","zod":"^3.24.0","dotenv":"^17.4.2","express":"^4.21.0","@modelcontextprotocol/sdk":"^1.12.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","@types/ws":"^8.18.1","typescript":"^5.7.0","@types/node":"^22.0.0","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/pterodactyl-mcp_0.1.1_1776110415983_0.16467763812433378","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@duruma/pterodactyl-mcp","version":"0.1.2","description":"Pterodactyl MCP server over HTTP","license":"MIT","type":"module","bin":{"pterodactyl-mcp":"dist/index.js"},"scripts":{"build":"tsc","dev":"tsx src/index.ts","start":"node dist/index.js","prepublishOnly":"npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","dotenv":"^17.4.2","express":"^4.21.0","ws":"^8.20.0","zod":"^3.24.0"},"devDependencies":{"@types/express":"^5.0.0","@types/node":"^22.0.0","@types/ws":"^8.18.1","tsx":"^4.19.0","typescript":"^5.7.0"},"engines":{"node":">=18"},"gitHead":"8dc7643b7edf4a829321b931fa98bfac0c6e56f5","_id":"@duruma/pterodactyl-mcp@0.1.2","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-jhK9AtVi60VaOaBoel7llofPT4uWpRXVvObbE57gt8QIZ0cbHzyLXBwtOmukafAQA0rIvzNw8nK4amTH8c+Cdg==","shasum":"73fe87592d8e4b749905a70918c9146b33c85f58","tarball":"https://registry.npmjs.org/@duruma/pterodactyl-mcp/-/pterodactyl-mcp-0.1.2.tgz","fileCount":23,"unpackedSize":112289,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBwGg6afZVxrwe1Ew3bR7f7Ge3LjMayF5CdlqnMD9d1uAiArCHZl1L43dMo8Ey6aGyJoP6pj6heUy62EFHlnfHdKOA=="}]},"_npmUser":{"name":"duruma","email":"finnllex222@gmail.com"},"directories":{},"maintainers":[{"name":"duruma","email":"finnllex222@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pterodactyl-mcp_0.1.2_1776111197609_0.8707115094293671"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-13T19:54:08.664Z","modified":"2026-04-13T20:13:17.868Z","0.1.0":"2026-04-13T19:54:08.929Z","0.1.1":"2026-04-13T20:00:16.150Z","0.1.2":"2026-04-13T20:13:17.751Z"},"license":"MIT","description":"Pterodactyl MCP server over HTTP","maintainers":[{"name":"duruma","email":"finnllex222@gmail.com"}],"readme":"# pterodactyl-mcp\n\nMCP server for managing [Pterodactyl Panel](https://pterodactyl.io) servers. Supports both HTTP (Streamable HTTP) and stdio transports.\n\n## Features\n\n- **Admin tools** (application API) — manage users, servers, nodes, locations, nests, eggs, databases, and allocations\n- **Client tools** (client API) — control servers, manage files, backups, schedules, subusers, databases, startup variables, and network allocations\n- **WebSocket console** — real-time server console streaming via Pterodactyl's websocket API\n\n## Setup\n\n### 1. Install dependencies\n\n```bash\nnpm install\n```\n\n### 2. Configure environment\n\nCopy the example env file and fill in your panel credentials:\n\n```bash\ncp .env.example .env\n```\n\n| Variable | Description |\n|---|---|\n| `PTERODACTYL_URL` | Your panel URL (e.g. `https://panel.example.com`) |\n| `PTERODACTYL_APP_KEY` | Application API key (`ptla_*`) for admin operations (optional) |\n| `PTERODACTYL_CLIENT_KEY` | Client API key (`ptlc_*`) for client operations (optional) |\n| `PORT` | HTTP server port (default: `3000`) |\n\nAt least one API key is required. You can use both to enable all tools.\n\n### 3. Run\n\n**Development:**\n\n```bash\nnpm run dev\n```\n\n**Production:**\n\n```bash\nnpm run build\nnpm start\n```\n\n## Transport modes\n\n### HTTP (default)\n\nStarts an Express server on the configured port:\n\n```bash\nnpm start\n# or\nnpx @duruma/pterodactyl-mcp\n```\n\nThe MCP endpoint is available at `http://localhost:3000/mcp`. A health check is at `/health`.\n\n### Stdio\n\nFor use with MCP clients that communicate over stdin/stdout:\n\n```bash\nnpx @duruma/pterodactyl-mcp --stdio\n```\n\n## MCP client configuration\n\nAdd to your MCP client config (e.g. `.mcp.json`, Claude Desktop, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"pterodactyl\": {\n      \"command\": \"npx\",\n      \"args\": [\"@duruma/pterodactyl-mcp\", \"--stdio\"],\n      \"env\": {\n        \"PTERODACTYL_URL\": \"https://panel.example.com\",\n        \"PTERODACTYL_APP_KEY\": \"ptla_your_application_key_here\",\n        \"PTERODACTYL_CLIENT_KEY\": \"ptlc_your_client_key_here\"\n      }\n    }\n  }\n}\n```\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}