1Panel-mcp
The 1Panel MCP Server is a Model Context Protocol server designed to automate the deployment of websites to 1Panel servers. It features automatic website creation, static file uploads, and full compatibility with the MCP standard protocol.
1Panel MCP Server
A Model Context Protocol (MCP) server for automated website deployment to 1Panel.
[!IMPORTANT] Currently, this project is an experimental project and does not mean that it can be used directly.
Video demo
https://www.bilibili.com/video/BV1SjQRY3EmM/
Features
- Automates website deployment to 1Panel servers
- Creates websites if they don't already exist
- Uploads static website files to 1Panel
- Fully compatible with the MCP standard protocol
Usage
Configure MCP in Cursor IDE
To use this server with Cursor IDE, add the following MCP configuration:
- Open Cursor
- Create
.cursor/mcp.json
{
"mcpServers": {
"1panel-mcp": {
"command": "npx",
"args": [
"-y",
"1panel-mcp"
],
"env": {
"ONEPANEL_BASE_URL": "<your 1Panel base URL>",
"ONEPANEL_API_KEY": "<your 1Panel API key>"
}
}
}
}
Use MCP to Deploy Websites
In Cursor, you can deploy websites using the following command in the AI chat:
Deploy to 1Panel with domain=yourdomain.com
Or you can use the following format:
Deploy website to 1Panel server, domain: yourdomain.com
API Reference
MCP Tool: deploy_website
Deploys a website to 1Panel.
Parameters:
domain
(required): Website domainbuildDir
(optional): Build directory path
Response:
Successfully deployed to 1Panel!
Domain: yourdomain.com
URL: http://yourdomain.com
Upload statistics:
- Total files: 25
- Successfully uploaded: 25
- Failed to upload: 0
Implementation Details
Deployment Process
- Check Build Directory: Verifies if the specified build directory exists
- Website Creation: Creates a new static website through 1Panel API if it doesn't exist
- File Upload: Uploads all files from the build directory to the website
- Statistics: Returns detailed statistics about the upload process
Troubleshooting
If you encounter deployment issues, check the following:
- Ensure your API Key is valid and has sufficient permissions
- Verify that the website directory exists and has write permissions
- Check the 1Panel server logs for more detailed error information
- If file uploads fail, it may be due to file permission or format issues