MCP Servers

A collection of Model Context Protocol servers, templates, tools and more.

MCP server by Aurora100729

Created 4/29/2026
Updated about 5 hours ago
Repository documentation and setup instructions
api?type=waving&color=0:1a1a2e,50:16213e,100:0f3460&height=280&section=header&text=mcp-1panel-full&fontSize=78&fontColor=ffffff&animation=fadeIn&fontAlignY=38&desc=AI-Native%20Server%20Management%20%E2%80%A2%2090%2B%20Tools%20%E2%80%A2%20Built%20with%20Go&descAlignY=58&descSize=18 - MCP 1panel Full by Aurora100729 readme-typing-svg - MCP 1panel Full by Aurora100729

Go-1 - MCP 1panel Full by Aurora100729 MCP-1 - MCP 1panel Full by Aurora100729 License-GPL%20v3-3DA639?style=for-the-badge&logo=gnu&logoColor=white&labelColor=0D1117 - MCP 1panel Full by Aurora100729 Tools-90%2B-FF6B6B?style=for-the-badge&logo=toolbox&logoColor=white&labelColor=0D1117 - MCP 1panel Full by Aurora100729 1Panel-v2 - MCP 1panel Full by Aurora100729

mcp-1panel-full?style=flat-square&color=FFD700&labelColor=0D1117&label=%E2%9C%A6%20stars - MCP 1panel Full by Aurora100729 mcp-1panel-full?style=flat-square&color=58A6FF&labelColor=0D1117&label=%E2%88%9E%20forks - MCP 1panel Full by Aurora100729 mcp-1panel-full?style=flat-square&color=FF6B6B&labelColor=0D1117&label=%E2%9C%97%20issues - MCP 1panel Full by Aurora100729 mcp-1panel-full?style=flat-square&color=00C896&labelColor=0D1117&label=%E2%9C%93%20last%20commit - MCP 1panel Full by Aurora100729 mcp-1panel-full?style=flat-square&color=B57EDC&labelColor=0D1117&label=%E2%80%BB%20size - MCP 1panel Full by Aurora100729

Released under GPL-3.0 · Forged in Go · Born for the AI age

212284100-561aa473-3905-4a80-b561-0d28506553ee - MCP 1panel Full by Aurora100729
212750147-854a394f-fee9-4080-9770-78a4b7ece53f - MCP 1panel Full by Aurora100729
+ "Don't click. Don't type commands. Just describe what you want."
- A new paradigm for server administration — conversational, intentional, magical.
readme-typing-svg - MCP 1panel Full by Aurora100729

212284100-561aa473-3905-4a80-b561-0d28506553ee - MCP 1panel Full by Aurora100729

💡 Why this exists

Traditional server management means juggling SSH terminals, browser tabs, doc pages, and command-line cheat sheets — every single day.

mcp-1panel-full unfolds the entire 1Panel API surface into a vocabulary your AI assistant can speak natively. From spinning up containers to renewing SSL certificates to chasing down errant processes, you describe; the AI executes.

Make infrastructure feel like a conversation.

🌟 What's inside

  • 📦 90+ tools — full 1Panel v2 surface
  • 🔧 panel_request — escape hatch for any future endpoint
  • 🔒 Native SSH — password / key / passphrase / kbd-interactive
  • ⚙️ Sticky defaults — set once via CLI flags, call with command only
  • 🌊 Three transportsstdio / sse / streamable-http
  • 🐳 Docker-friendly — one-line container deploy
  • 🛡️ Structured output — JSON for AI second-pass reasoning
  • 🩹 v2.0.15 compatibility patches — applied upstream-first

216655822-0c750cf3-21f9-4ac5-869b-ec3e6b1a72d6 - MCP 1panel Full by Aurora100729   Built With

icons?i=go,docker,linux,nginx,redis,mysql,postgres,bash&perline=8 - MCP 1panel Full by Aurora100729



readme-typing-svg - MCP 1panel Full by Aurora100729

212284100-561aa473-3905-4a80-b561-0d28506553ee - MCP 1panel Full by Aurora100729

🏗️   How It Works

一句话:MCP Go SDK 把每个工具暴露给 AI,工具内部用 HTTP 客户端调用 1Panel REST API

🧬 Architecture in 30 seconds

  ┌──────────────────────┐
  │   AI 助手 (Claude /   │
  │   Windsurf / Cursor)  │
  └──────────┬────────────┘
             │ MCP 协议 (JSON-RPC)
             │ stdio / sse / streamable-http
  ┌──────────▼────────────┐
  │   mcp-1panel-full     │  ← 你正在看的项目
  │  (Go binary, 90+ 工具) │
  └──┬─────────────┬──────┘
     │             │
     │ HTTP API    │ SSH / Shell / FS
     │             │
  ┌──▼──────┐  ┌──▼──────────┐
  │ 1Panel  │  │ 远程主机 /   │
  │ Server  │  │ 本地系统     │
  └─────────┘  └─────────────┘

🛠️ Tech Foundation

| 组件 | 技术 | |---|---| | 语言 | Go 1.25 — 静态编译、零依赖部署 | | MCP 实现 | modelcontextprotocol/go-sdk | | HTTP 客户端 | net/http + 自研 utils.PanelClient | | SSH | golang.org/x/crypto/ssh — 支持密码 / 私钥 / passphrase / kbd-interactive | | 类型系统 | jsonschema tag 自动生成工具 schema | | 传输层 | stdio · SSE · streamable-http 三模式可切 | | 容器化 | 多阶段 Dockerfile,最终镜像 < 20 MB |

🧪 单个工具的内部结构(以 stop_process 为例)

// 1. 定义输入类型 — jsonschema tag 自动生成 AI 可读的 schema
type StopProcessInput struct {
    PID int `json:"PID" jsonschema:"process ID to stop/kill"`
}

// 2. 注册为 MCP 工具
var StopProcessTool = mcp.NewServerTool[StopProcessInput, any](
    "stop_process",
    "[DANGEROUS] Kill/stop a running process by PID",
    func(ctx context.Context, _ *mcp.ServerSession, params *mcp.CallToolParamsFor[StopProcessInput]) (*mcp.CallToolResultFor[any], error) {
        // 3. 调用 1Panel REST API
        client := utils.NewPanelClient("POST", "/process/stop",
            utils.WithPayload(map[string]interface{}{"PID": params.Arguments.PID}))
        var result interface{}
        return client.Request(&result)
    },
)

每个工具都遵循三段式:Input 类型MCP 注册HTTP 调用,结构清晰可复用。

🌐 三种传输模式适用场景

| 模式 | 适用场景 | 性能 | |---|---|---| | stdio | 本地 MCP 客户端(Claude Desktop / Windsurf / Cursor) | ⚡⚡⚡ 最快,零网络开销 | | sse | 浏览器或老式 HTTP 客户端 | ⚡⚡ 单向流推送 | | streamable-http | 现代远程客户端(推荐) | ⚡⚡⚡ 双向 HTTP 流 |


212284100-561aa473-3905-4a80-b561-0d28506553ee - MCP 1panel Full by Aurora100729

216122041-518ac897-8d92-4c6b-9b3f-ca01dcaf38ee - MCP 1panel Full by Aurora100729   Tool Catalog

📊 Click to expand the full toolset (24 categories · 90+ tools)

| Domain | Count | Signature Tools | |---|:-:|---| | 🌐 Generic Passthrough | 1 | panel_request — call any 1Panel endpoint directly | | 📊 System & Dashboard | 2 | get_system_info · get_dashboard_info | | 🌍 Websites | 10 | list_websites · create_website · update_website_https | | 🔐 SSL Certificates | 2 | list_ssls · create_ssl | | 🛍️ App Store | 9 | app_store_list · install_mysql · install_openresty · app_operate | | 💾 Databases | 7 | list_databases · create_database · database_backup · redis_status | | 🐳 Docker Containers | 8 | list_containers · container_create · container_exec · container_logs | | 🖼️ Docker Images | 5 | list_images · image_pull · image_build · image_prune | | 🌐 Networks & Volumes | 7 | list_networks · create_volume · delete_network | | 📜 Docker Compose | 6 | list_compose · compose_up · compose_operate | | 📁 Files | 11 | panel_file_list · panel_file_read · panel_file_compress · panel_file_wget | | 🛡️ Firewall | 8 | firewall_status · list_firewall_rules · create_firewall_ip_rule | | ⏰ Cron Jobs | 5 | list_crons · create_cron · handle_cron | | 🔧 Processes | 2 | list_processes · stop_process | | 🔑 SSH Service | 5 | ssh_info · ssh_operate · ssh_logs · ssh_generate_key | | ⚡ Remote SSH Exec ⭐ | 2 | ssh_remote_exec · ssh_port_check | | 📝 Logs | 3 | operation_logs · login_logs · system_logs | | 📈 Monitoring | 2 | monitor_search · monitor_clean | | 💼 Backups | 4 | list_backup_accounts · backup_operate · database_backup | | 📷 Snapshots | 4 | list_snapshots · create_snapshot · recover_snapshot | | ⚙️ System Settings | 5 | get_settings · update_password · update_panel_port · panel_upgrade | | 🧪 Toolbox | 10 | toolbox_dns · toolbox_hosts · toolbox_swap · toolbox_fail2ban_status | | 🌱 Runtimes | 3 | list_runtimes · create_runtime · runtime_operate | | 💻 Local Shell | 1 | shell_exec — local cmd / bash / pwsh | | 📂 Local Filesystem | 6 | local_file_read · local_file_write · local_file_search |

Full registration code: main.go::addTools().


⚡   Quick Start

readme-typing-svg - MCP 1panel Full by Aurora100729

1️⃣ Build from source

git clone https://github.com/Aurora100729/mcp-1panel-full.git
cd mcp-1panel-full
go build -o mcp-1panel-full .

Requires Go 1.25+.

2️⃣ Get a 1Panel API key

1Panel  →  Profile (top-right)  →  API Interface  →  Enable
        →  Copy Key  →  Add your client IP to whitelist ⚠️

3️⃣ Run

# stdio (default — for MCP clients)
./mcp-1panel-full --token YOUR_API_KEY --host http://127.0.0.1:9999

# Streamable HTTP (recommended for HTTP)
./mcp-1panel-full --transport streamable-http --addr 0.0.0.0:8000 \
  --token YOUR_API_KEY --host http://127.0.0.1:9999

# SSE (legacy HTTP)
./mcp-1panel-full --transport sse --addr 0.0.0.0:8000 \
  --token YOUR_API_KEY --host http://127.0.0.1:9999

4️⃣ Or run with Docker

docker build -t mcp-1panel-full .

docker run -d --name mcp-1panel \
  -p 8000:8000 \
  mcp-1panel-full \
  --transport streamable-http --addr 0.0.0.0:8000 \
  --token YOUR_API_KEY \
  --host http://host.docker.internal:9999

🎛️ CLI Flags

1Panel ConnectionDefaultDescription
--tokenrequired1Panel API Key
--hostrequired1Panel address, e.g. http://127.0.0.1:9999
TransportDefaultDescription
--transportstdiostdio · sse · streamable-http
--addrhttp://localhost:8000HTTP listening address (HTTP transports only)
SSH Defaults (optional)DefaultDescription
--ssh-hostemptyDefault SSH host (IP or domain)
--ssh-useremptyDefault SSH username
--ssh-keyemptyDefault private key path
--ssh-passwordemptyDefault password (plaintext — discouraged)
--ssh-port22Default SSH port

💡 Pre-fill SSH defaults so AI calls only need command.


🔌 MCP Client Config

Windsurf / Claude Desktop / Cursor  (click to toggle)
{
  "mcpServers": {
    "mcp-1panel-full": {
      "command": "C:\\path\\to\\mcp-1panel-full.exe",
      "args": [
        "--token", "YOUR_API_KEY",
        "--host", "http://127.0.0.1:9999",
        "--ssh-host", "your.server.ip",
        "--ssh-user", "ubuntu",
        "--ssh-key", "C:\\Users\\You\\.ssh\\id_rsa",
        "--ssh-port", "22"
      ]
    }
  }
}
Linux / macOS  (click to toggle)
{
  "mcpServers": {
    "mcp-1panel-full": {
      "command": "/usr/local/bin/mcp-1panel-full",
      "args": [
        "--token", "YOUR_API_KEY",
        "--host", "http://127.0.0.1:9999"
      ]
    }
  }
}

216122069-5b8169d7-1d8e-4a13-b245-a8e4176c99f8 - MCP 1panel Full by Aurora100729   SSH Remote Execution

The crown jewel of this server — a single tool that lets your AI run anything on remote hosts.

readme-typing-svg - MCP 1panel Full by Aurora100729

📞 Two ways to call

Option A — Pass everything per call:

{
  "host": "1.2.3.4",
  "user": "ubuntu",
  "keyPath": "/path/to/id_rsa",
  "command": "df -h"
}

Option B — Use CLI defaults:

{ "command": "df -h" }

🔐 Auth methods supported

| Field | Purpose | |---|---| | password | Plain password | | keyPath | Path to private key file | | keyContent | PEM key content directly | | keyPassphrase | Decrypt encrypted private key |

Auto-fallback to keyboard-interactive for servers with PasswordAuthentication no.

📤 Output format

exit=0
--- stdout ---
ubuntu
VM-0-5-ubuntu

--- stderr ---

Plus structured JSON: { host, user, port, command, stdout, stderr, exitCode }.


💬   Real-World Conversations

Watch how natural language unfolds into precise tool calls.

readme-typing-svg - MCP 1panel Full by Aurora100729

🩺 "How is my server doing?"

AI ➜ get_dashboard_info()
↳ CPU 5%, Mem 6%, Disk 12%, Uptime 2:03

📦 "Install Redis on port 6380."

AI ➜ app_store_list("redis")
AI ➜ panel_request POST /apps/install
       { name: "redis", port: 6380, ... }

🗄️ "Backup all my MySQL databases."

AI ➜ list_databases() → 5 dbs
AI ➜ database_backup × 5 in parallel

🔥 "Block IP 1.2.3.4 in firewall."

AI ➜ create_firewall_ip_rule(
       address: "1.2.3.4",
       strategy: "drop"
     )

🐛 "Why is nginx failing?"

AI ➜ list_installed_apps() → openresty
AI ➜ app_installed_detail(id)
AI ➜ container_logs(id, tail=100)

"Free up /tmp on remote server."

AI ➜ ssh_remote_exec(
       command: "find /tmp -size +100M -delete"
     )

🗂️ Project Layout

mcp-1panel-full/
│
├── 🚪 main.go                       # Entry · CLI flags · tool registration
├── 📦 utils/                        # HTTP client · helpers
│
├── 🛠️  operations/                  # 1Panel API tools — domain-grouped
│   ├── 🌐 generic/                  #   panel_request passthrough
│   ├── 📊 system/                   #   System / Dashboard
│   ├── 🌍 website/                  #   Sites
│   ├── 🔐 ssl/                      #   SSL certificates
│   ├── 🛍️  app/                     #   App store
│   ├── 💾 database/                 #   MySQL · PostgreSQL · Redis
│   ├── 🐳 container/                #   Docker · Compose
│   ├── 📁 file/                     #   File management
│   ├── 🛡️  firewall/                #   Firewall rules
│   ├── ⏰ cron/                     #   Scheduled jobs
│   ├── 🔧 process/                  #   Process management
│   ├── 🔑 sshmanage/                #   SSH service + remote exec ⭐
│   ├── 📝 panellog/                 #   Audit logs
│   ├── 📈 monitor/                  #   Performance monitoring
│   ├── 💼 backup/                   #   Backup / restore
│   ├── 📷 snapshot/                 #   System snapshots
│   ├── ⚙️  setting/                 #   System settings
│   ├── 🧪 toolbox/                  #   DNS · Hosts · Swap · Fail2Ban
│   ├── 🌱 runtime/                  #   PHP / Node / Python runtimes
│   └── 📐 types/                    #   Shared types
│
├── 🧰 tools/                        # Local capability tools
│   ├── 💻 shell/                    #   Local shell exec
│   └── 📂 localfs/                  #   Local filesystem
│
├── 📋 logs/                         # Runtime logs (auto-created)
├── 🐳 Dockerfile
├── 📦 go.mod
└── 📖 README.md                     # ← you are here

🩺 Troubleshooting

dial tcp :22: SSH error

CLI default --ssh-host is not active. Check:

  1. mcp_config.json includes --ssh-host
  2. Restart the MCP client itself (not just refresh tools)
  3. Inspect logs/mcp-1panel-full.log for [ssh] defaults set: ...
请求参数错误 / 1Panel API 400 errors

Some 1Panel endpoints validate required fields strictly. This project pre-fills sensible defaults for hot endpoints (list_databases, list_backup_records, firewall_status, monitor_search). If something still fails, fall back to panel_request with an explicit payload.

Not Found (code: 404) from 1Panel API

API paths differ between 1Panel versions. This project targets v2.0.15. For newer or custom routes, use the universal panel_request tool.

Token authentication failed
  1. Confirm 1Panel API interface is enabled
  2. Confirm the client IP is in the whitelist
  3. Tokens are case-sensitive — copy the entire string
transport error: transport closed

The MCP client lost the stdio process. Force a restart:

| Client | Action | |---|---| | Windsurf | Ctrl+Shift+PReload Window | | Claude Desktop | Quit completely, then relaunch | | Cursor | Restart Cursor |


🛡️ Security

⚠️ This tool grants total control — full 1Panel admin + remote SSH exec + local shell. Treat it like root credentials.

Must do

  • 🚫 Never run in untrusted or public environments
  • 🚫 Never commit tokens / private keys (already gitignored: *.pem *.key)
  • 🚫 Avoid --ssh-password in plain config files — use keys
  • ⚠️ Confirm [DANGEROUS] tagged tools before executing

Should do

  • 🔐 Store private keys at ~/.ssh/ with chmod 600
  • 🔐 Use a dedicated 1Panel API key with IP allow-listing
  • 🔄 Rotate API keys + SSH keys regularly
  • 📜 Use read-only credentials for production where possible

📜 Changelog

v1.0.0  2026-04  (click to toggle)

New

  • ssh_remote_exec & ssh_port_check — password / key / encrypted-key auth
  • CLI flags --ssh-host --ssh-user --ssh-key --ssh-password --ssh-port for sticky defaults
  • 90+ tool registry · structured output everywhere

🩹 Fixes (1Panel v2.0.15)

  • firewall_status — adds required name field
  • monitor_search — auto-fills time window
  • list_databases — corrects orderBy validation
  • list_backup_records — defaults type
  • list_processes — switches to /process/:pid (/process/listening removed upstream)

🛠️ Internal

  • Logs path now resolves next to executable — survives any working directory
  • Removed duplicate tool registrations (tools/localssh)

💎 Acknowledgements

119326914?s=200&v=4 - MCP 1panel Full by Aurora100729
1Panel

Modern Linux panel
119326914?s=200&v=4 - MCP 1panel Full by Aurora100729
mcp-1panel

Original MCP server
182288589?s=200&v=4 - MCP 1panel Full by Aurora100729
MCP

The protocol
go-logo-blue - MCP 1panel Full by Aurora100729
x/crypto/ssh

SSH client for Go

📄 License

Released under GNU General Public License v3.0 — see LICENSE.

Any modification, redistribution or derivative work must remain open under the same license and preserve copyright.


212284100-561aa473-3905-4a80-b561-0d28506553ee - MCP 1panel Full by Aurora100729

⭐   Star History

readme-typing-svg - MCP 1panel Full by Aurora100729



mcp-1panel-full&type=Date - MCP 1panel Full by Aurora100729



If this project saved you a click — give it a ⭐


212284100-561aa473-3905-4a80-b561-0d28506553ee - MCP 1panel Full by Aurora100729
@@  Conversations > Commands.  Intent > Syntax.  AI > Toil.  @@
+ Built with care · Open to all · Made for the curious
readme-typing-svg - MCP 1panel Full by Aurora100729 api?type=waving&color=0:1a1a2e,50:16213e,100:0f3460&height=140&section=footer - MCP 1panel Full by Aurora100729
Quick Setup
Installation guide for this server

Installation Command (package not published)

git clone https://github.com/Aurora100729/mcp-1panel-full
Manual Installation: Please check the README for detailed setup instructions and any additional dependencies required.

Cursor configuration (mcp.json)

{ "mcpServers": { "aurora100729-mcp-1panel-full": { "command": "git", "args": [ "clone", "https://github.com/Aurora100729/mcp-1panel-full" ] } } }