Skip to main content
Glama
klogins-hash

Mattermost MCP Server

by klogins-hash
README.md
# Mattermost MCP Server

MCP server for comprehensive Mattermost administration and operations, with priority focus on admin console functionality.

## Features

### Admin Console Operations
- **System Configuration**: Get and update all system settings
- **System Status**: Monitor system health and status
- **Analytics**: Access system analytics and metrics
- **Logs**: View server logs

### User Management
- List, create, and manage users
- Update user roles (make admins)
- Deactivate user accounts
- Filter users by team and role

### Team Management
- List and create teams
- Add users to teams
- Manage team settings

### Channel Management
- List and create channels (public/private)
- Add users to channels
- Manage channel settings

### Messaging
- Send messages to channels
- Retrieve channel posts

### Plugin Management
- List installed plugins
- Enable/disable plugins
- Upload new plugins

## Installation

```bash
cd /Users/franksimpson/CascadeProjects/mattermost-mcp-server
npm install
```

## Configuration

Add to your MCP settings file (`~/.codeium/windsurf/mcp_config.json`):

```json
{
  "mcpServers": {
    "mattermost": {
      "command": "node",
      "args": ["/Users/franksimpson/CascadeProjects/mattermost-mcp-server/index.js"],
      "env": {
        "MATTERMOST_URL": "https://docker-production-a32b.up.railway.app",
        "MATTERMOST_TOKEN": "tfszhco5sfy1jbfif9cfyz4gyy"
      }
    }
  }
}
```

## Available Tools

### Admin Console
- `get_system_config` - Get entire system configuration
- `update_system_config` - Update system settings
- `get_system_status` - Get system health status
- `get_analytics` - Get system analytics
- `get_logs` - View server logs

### Users
- `list_users` - List all users with filtering
- `get_user` - Get specific user details
- `create_user` - Create new user
- `update_user_roles` - Update user roles (admin access)
- `deactivate_user` - Deactivate user account

### Teams
- `list_teams` - List all teams
- `create_team` - Create new team
- `add_user_to_team` - Add user to team

### Channels
- `list_channels` - List channels
- `create_channel` - Create new channel
- `add_user_to_channel` - Add user to channel

### Messages
- `send_message` - Send message to channel
- `get_channel_posts` - Get posts from channel

### Plugins
- `list_plugins` - List installed plugins
- `enable_plugin` - Enable a plugin
- `disable_plugin` - Disable a plugin

## Usage Examples

After configuration, you can use these tools through the MCP interface:

```javascript
// Get system configuration
mcp_mattermost_get_system_config()

// List all users
mcp_mattermost_list_users({ page: 0, per_page: 100 })

// Create a new user
mcp_mattermost_create_user({
  email: "user@example.com",
  username: "newuser",
  password: "securepassword123"
})

// Make a user admin
mcp_mattermost_update_user_roles({
  user_id: "user_id_here",
  roles: "system_admin system_user"
})

// Send a message
mcp_mattermost_send_message({
  channel_id: "channel_id_here",
  message: "Hello from MCP!"
})
```

## Requirements

- Node.js 18+
- Mattermost server with API access
- Valid Mattermost API token with admin permissions