Portainer MCP Server
Allows interaction with a Portainer instance to manage Docker containers, images, networks, and services via Portainer's API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Portainer MCP Serverlist all running containers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Portainer MCP Server
A Model Context Protocol (MCP) server implementation for Portainer, enabling AI assistants to interact with Docker containers and services through Portainer's API.
Features
Docker container management (create, start, delete, fetch logs)
Docker image management (fetch, delete unused, clear build cache)
Docker network operations (inspect, fetch)
Docker service management (fetch, logs)
Resource limit management for containers
Project Structure
portainer-ce-mcp/
├── src/
│ ├── api/
│ │ └── portainer.ts # Portainer API integration
│ ├── constants/
│ │ └── index.ts # Tool names and other constants
│ ├── types/
│ │ └── index.ts # TypeScript type definitions
│ └── main.ts # Main server implementation
├── package.json # Project dependencies
├── package-lock.json # Dependency lock file
├── deno.json # Deno configuration
└── README.md # Project documentationPrerequisites
Deno
Portainer instance with API access
Docker installed and running
Installation
Clone the repository:
git https://github.com/BirajMainali/poratiner-ce-mcp-server.git
cd portainer-ce-mcpConfiguration
The server requires the following environment variables:
PORTAINER_URL: The URL of your Portainer instancePORTAINER_API_KEY: Your Portainer API keyPORTAINER_ENV_ID: Your Poratiner Environment Id
API Tools
The server provides the following tools for AI assistants:
Container Management
FETCH_DOCKER_CONTAINERS: List all containersCREATE_DOCKER_CONTAINER: Create a new containerSTART_DOCKER_CONTAINER: Start a containerDELETE_DOCKER_CONTAINER: Remove a containerFETCH_CONTAINER_LOGS: Get container logsUPDATE_CONTAINER_RESOURCE_LIMITS: Update container resourcesDELETE_STOPPED_CONTAINERS: Clean up stopped containers
Image Management
FETCH_IMAGES: List all imagesDELETE_IMAGE_BUILD_CACHE: Clear build cacheDELETE_UNUSED_IMAGES: Remove unused images
Network Operations
FETCH_NETWORKS: List all networksINSPECT_NETWORK: Get network details
Service Management
FETCH_SERVICES: List all servicesFETCH_SERVICE_LOG: Get service logs
Development
Building
deno compile --allow-env --allow-read --allow-net --env-file=.env src/main.tsInspect MCP Server
npx @modelcontextprotocol/inspector deno run --allow-env --allow-read --allow-net --env-file=.env src/main.tsMCP Config
{
"mcpServers": {
"poratiner": {
"command": "C:\\MCP\\portainer-ce-mcp\\src.exe", // use executable path
"args": [
"y"
]
}
}
}License
MIT
Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add some amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BirajMainali/poratiner-ce-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server