Skip to main content
Glama

Portainer MCP

Official
by portainer
zlib License
67
  • Linux
  • Apple
user.go1.28 kB
package client import ( "fmt" "github.com/portainer/portainer-mcp/pkg/portainer/models" ) // GetUsers retrieves all users from the Portainer server. // // Returns: // - A slice of User objects containing user information // - An error if the operation fails func (c *PortainerClient) GetUsers() ([]models.User, error) { portainerUsers, err := c.cli.ListUsers() if err != nil { return nil, fmt.Errorf("failed to list users: %w", err) } users := make([]models.User, len(portainerUsers)) for i, user := range portainerUsers { users[i] = models.ConvertToUser(user) } return users, nil } // UpdateUserRole updates the role of a user. // // Parameters: // - id: The ID of the user to update // - role: The new role for the user. Must be one of: admin, user, edge_admin // // Returns: // - An error if the operation fails func (c *PortainerClient) UpdateUserRole(id int, role string) error { roleInt := convertRole(role) if roleInt == 0 { return fmt.Errorf("invalid role: must be admin, user or edge_admin") } return c.cli.UpdateUserRole(id, roleInt) } func convertRole(role string) int64 { switch role { case models.UserRoleAdmin: return 1 case models.UserRoleUser: return 2 case models.UserRoleEdgeAdmin: return 3 default: return 0 } }

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/portainer/portainer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server