PlugLayer MCP server — deploy and manage infrastructure via AI
Project description
PlugLayer MCP Server
Deploy and manage your infrastructure through natural language with any MCP-compatible AI assistant.
Installation
Option 1: uvx (recommended — no install needed)
PLUGLAYER_API_KEY=your-pluglayer-api-token uvx pluglayer-mcp
Optional:
PLUGLAYER_API_BASE_URL=https://api.pluglayer.com
Option 2: pip
pip install pluglayer-mcp
PLUGLAYER_API_KEY=your-pluglayer-api-token pluglayer-mcp
Configuration
Claude Desktop
Add to ~/.config/Claude/claude_desktop_config.json:
{
"mcpServers": {
"pluglayer": {
"command": "uvx",
"args": ["pluglayer-mcp"],
"env": {
"PLUGLAYER_API_KEY": "your-pluglayer-api-token",
"PLUGLAYER_API_BASE_URL": "https://api.pluglayer.com"
}
}
}
}
Cursor
Add to ~/.cursor/mcp.json:
{
"pluglayer": {
"command": "uvx",
"args": ["pluglayer-mcp"],
"env": {
"PLUGLAYER_API_KEY": "your-pluglayer-api-token",
"PLUGLAYER_API_BASE_URL": "https://api.pluglayer.com"
}
}
}
Remote HTTP (hosted)
The remote MCP server runs at mcp.pluglayer.com. Pass your token as:
Authorization: Bearer your-pluglayer-api-token
API base URL behavior
PLUGLAYER_API_BASE_URLis the preferred environment variable for the backend API origin.- If it is unset or empty, the MCP defaults to
https://api.pluglayer.com. PLUGLAYER_API_URLis still accepted as a legacy fallback during migration.
Available Tools
The MCP calls the PlugLayer FastAPI backend instead of re-implementing backend business logic. Auth, roles, ownership, compute guards, k3s orchestration, and admin checks remain in the backend. MCP and editor plugins should authenticate with a PlugLayer API token created in the PlugLayer Settings page, not the browser/session auth token.
Managed registries are configured by PlugLayer admins in the platform UI/API. When deploy_image uses mirroring, the backend picks a registry the current user is allowed to use and keeps Kubernetes pull secrets in sync automatically.
| Tool | Description |
|---|---|
get_current_user |
Show the Authentik-backed user and roles |
list_projects |
List authenticated user's projects |
create_project |
Create a new project namespace |
get_project |
Get project details |
get_compute_summary |
Show account-level personal + shared compute capacity |
list_nodes |
List accessible compute nodes |
add_node_ssh |
Add a personal SSH node usable by all of the user's projects |
list_registries |
List the registries currently available to the user |
deploy_image |
Mirror a Docker image into PlugLayer's managed Docker Hub namespace, then deploy it after backend compute checks |
deploy_compose |
Deploy from docker-compose.yml after backend compute checks |
list_deployments |
List running apps/deployments |
get_deployment_status |
Check app status and URL |
get_logs |
Get app logs |
redeploy |
Redeploy an app |
rollback |
Roll back to previous version |
delete_deployment |
Delete an app |
list_project_domains |
List custom domains for a project |
add_custom_domain |
Add a single or wildcard custom domain and return DNS records |
verify_custom_domain |
Verify TXT/CNAME DNS and activate if attached |
attach_custom_domain |
Attach a verified custom domain to an app |
detach_custom_domain |
Detach a domain while keeping verification |
remove_custom_domain |
Remove a domain and its route |
get_task_status |
Poll async operation progress |
admin_get_overview |
Admin-only platform summary |
admin_set_compute_defaults |
Admin-only default compute quota metadata |
admin_set_node_shared |
Admin-only mark node shared/private |
admin_add_shared_ssh_node |
Admin-only add shared PlugLayer SSH compute |
generate_github_actions |
Get CI/CD pipeline YAML |
get_cluster_health |
Check cluster status |
Example Conversations
Deploy your first app:
"I have a FastAPI app at
ghcr.io/myorg/api:latestthat runs on port 8000. Deploy it to myproductionproject."
Convert docker-compose:
"Here's my docker-compose.yml: [paste]. Deploy this to PlugLayer."
Add a node:
"Add my server at 192.168.1.100 as personal compute. Here's my SSH key: [paste]"
CI/CD setup:
"Generate a GitHub Actions workflow for my
apideployment so it auto-deploys on push to main."
Add a custom domain:
"Add
api.example.comto my production project, show me the DNS records, then verify it and attach it to my API app."
Getting Your API Key
- Go to PlugLayer Settings
- Create a PlugLayer API token
- Copy it once and store it safely
- Use it as
PLUGLAYER_API_KEYfor MCP, editor plugins, and CI/CD webhook deploys
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pluglayer_mcp-0.1.0.tar.gz.
File metadata
- Download URL: pluglayer_mcp-0.1.0.tar.gz
- Upload date:
- Size: 74.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ae8d7105e48902beffc27f4f54fa252f1f2bfdb14b8d8935bcdbcb2d7a9630f
|
|
| MD5 |
3d6ea7335e3893b83d4c7de286f6ca0e
|
|
| BLAKE2b-256 |
68580c48ed75f9d863bcdb2fa56a9f044b8b4ee4cafbcb4b296c188f3e7c3826
|
File details
Details for the file pluglayer_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pluglayer_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f78ed8588dba0a6315aaebc99c297731087582b039aea5ce1bd0c8063f3a21c
|
|
| MD5 |
8eaf4801c47528d7433dade464b67bcc
|
|
| BLAKE2b-256 |
bb8218e422579bcbaee12ae1afdd7349de238fc99d4a3a8fcebdc28f3d60cb65
|