内容
# pterodactyl-mcp
用于管理 [Pterodactyl 面板](https://pterodactyl.io) 服务器的 MCP 服务器。支持 HTTP(可流式 HTTP)和 stdio 传输协议。
## 功能
- **管理员工具**(应用 API)— 管理用户、服务器、节点、位置、巢、蛋、数据库和分配
- **客户端工具**(客户端 API)— 控制服务器、管理文件、备份、计划、子用户、数据库、启动变量和网络分配
- **WebSocket 控制台** — 通过 Pterodactyl 的 WebSocket API 实现实时服务器控制台流式传输
## 设置
### 1. 安装依赖
```bash
npm install
```
### 2. 配置环境
复制示例环境文件并填写您的面板凭证:
```bash
cp .env.example .env
```
| 变量 | 描述 |
|---|---|
| `PTERODACTYL_URL` | 您的面板 URL(例如 `https://panel.example.com`) |
| `PTERODACTYL_APP_KEY` | 管理操作的应用 API 密钥(`ptla_*`)(可选) |
| `PTERODACTYL_CLIENT_KEY` | 客户端操作的客户端 API 密钥(`ptlc_*`)(可选) |
| `PORT` | HTTP 服务器端口(默认:`3000`) |
至少需要一个 API 密钥。您可以使用两者来启用所有工具。
### 3. 运行
**开发:**
```bash
npm run dev
```
**生产:**
```bash
npm run build
npm start
```
## 传输模式
### HTTP(默认)
在配置的端口上启动 Express 服务器:
```bash
npm start
# 或
npx @duruma/pterodactyl-mcp
```
MCP 端点可在 `http://localhost:3000/mcp` 访问。健康检查在 `/health`。
### Stdio
用于与通过 stdin/stdout 通信的 MCP 客户端:
```bash
npx @duruma/pterodactyl-mcp --stdio
```
## MCP 客户端配置
添加到您的 MCP 客户端配置(例如 `.mcp.json`、Claude Desktop 等):
```json
{
"mcpServers": {
"pterodactyl": {
"command": "npx",
"args": ["@duruma/pterodactyl-mcp", "--stdio"],
"env": {
"PTERODACTYL_URL": "https://panel.example.com",
"PTERODACTYL_APP_KEY": "ptla_您的应用密钥",
"PTERODACTYL_CLIENT_KEY": "ptlc_您的客户端密钥"
}
}
}
}
```
## 许可证
[MIT](LICENSE)