MCP Hub
Back to servers

PlugLayer MCP Server

Enables deploying and managing infrastructure via natural language, including project/domain management, compute nodes, image deployment, and CI/CD integration.

glama
Updated
May 2, 2026

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

This local command mode uses the MCP stdio transport by default, which is the right mode for Cursor, Claude Code, and other editor-launched command servers. The pluglayer-mcp command now always uses stdio so editor clients cannot accidentally switch it into HTTP mode.

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",
      "type": "stdio",
      "args": ["pluglayer-mcp"],
      "env": {
        "PLUGLAYER_API_KEY": "your-pluglayer-api-token"
      }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json:

{
  "pluglayer": {
    "command": "uvx",
    "type": "stdio",
    "args": ["pluglayer-mcp"],
    "env": {
      "PLUGLAYER_API_KEY": "your-pluglayer-api-token"
    }
  }
}

Remote HTTP (hosted)

The remote MCP server runs at mcp.pluglayer.com. Pass your token as:

Authorization: Bearer your-pluglayer-api-token

If you intentionally want to run the package itself as an HTTP MCP server, use:

pluglayer-mcp-http

Release Checklist

Before publishing a new pluglayer-mcp build:

  1. Confirm local command mode still uses stdio by default.
  2. Confirm PLUGLAYER_API_URL override works when pointed at a dev API.
  3. Confirm package version will be unique for the publish run.
  4. Publish from the public repo main branch after reviewing the dev -> main PR.

After publishing:

  1. Restart Cursor, Claude Code, or the MCP client you are testing.
  2. If the editor still behaves like an older MCP build, remove and re-add the MCP server entry, then restart the editor.
  3. Re-test with a simple command such as:
    • get_current_user
    • list_projects
    • get_compute_summary

Cursor Notes

  • For command-based MCP setup, use uvx pluglayer-mcp.
  • Do not force HTTP transport for local editor usage.
  • pluglayer-mcp always uses stdio, which is the correct transport for Cursor-launched command servers.
  • Only use pluglayer-mcp-http when you intentionally want to run the package itself as an HTTP MCP server.

Available Tools

The MCP calls the PlugLayer FastAPI backend instead of re-implementing backend business logic. Auth, roles, ownership, compute guards, and k3s orchestration 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.

ToolDescription
get_current_userShow the Authentik-backed user and roles
list_projectsList authenticated user's projects
get_my_projectsAlias for listing the current user's projects
create_projectCreate a new project namespace
get_projectGet project details
get_compute_summaryShow account-level personal + shared compute capacity; estimate first when sizing is still unclear
get_my_available_computeShow the current user's available compute capacity; pair with estimate first for planning
get_my_available_computesAlias for available compute capacity
estimate_computeEstimate required compute, monthly price, and a tailored offer link; preferred before purchase/allocation decisions
list_nodesList accessible compute nodes
add_node_sshAdd a personal SSH node usable by all of the user's projects
list_registriesList the registries currently available to the user
deploy_imageMirror a Docker image into PlugLayer's managed Docker Hub namespace, then deploy it after backend compute checks
deploy_composeDeploy from docker-compose.yml after backend compute checks
list_deploymentsList running apps/deployments
get_apps_by_projectList apps inside a specific project
get_deployment_statusCheck app status and URL
get_logsGet app logs
get_app_logsAlias for getting app logs
redeployRedeploy an app
restart_appAlias for restarting an app by redeploying it
rollbackRoll back to previous version
delete_deploymentDelete an app
list_project_domainsList custom domains for a project
add_custom_domainAdd a single or wildcard custom domain and return DNS records
verify_custom_domainVerify TXT/CNAME DNS and activate if attached
attach_custom_domainAttach a verified custom domain to an app
detach_custom_domainDetach a domain while keeping verification
remove_custom_domainRemove a domain and its route
get_task_statusPoll async operation progress
generate_github_actionsGet CI/CD pipeline YAML
get_cluster_healthCheck cluster status

Example Conversations

Deploy your first app:

"I have a FastAPI app at ghcr.io/myorg/api:latest that runs on port 8000. Deploy it to my production project."

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 api deployment so it auto-deploys on push to main."

Add a custom domain:

"Add api.example.com to my production project, show me the DNS records, then verify it and attach it to my API app."

Getting Your API Key

  1. Go to PlugLayer Settings
  2. Create a PlugLayer API token
  3. Copy it once and store it safely
  4. Use it as PLUGLAYER_API_KEY for MCP, editor plugins, and CI/CD webhook deploys

Reviews

No reviews yet

Sign in to write a review