Skip to main content
Glama
kakehashi-inc

Mattermost MCP Server

mcp-server-mattermost

This project implements a Model Context Protocol (MCP) server for Mattermost integration. It connects to Mattermost API endpoints to retrieve and process various information, making it available through standard MCP transports.

Features

  • Secure, token-based connection to Mattermost API endpoints

  • Supports multiple transport modes:

    • stdio

    • http-stream

    • sse

  • Search for messages across multiple Mattermost channels

  • Customizable default channels and message fetch limits

Related MCP server: MCP Boilerplate

Requirements

  • Node.js >= 22

  • npm >= 10

Setup

  1. Clone this repository:

git clone https://github.com/kakehashi-inc/mcp-server-mattermost.git
cd mcp-server-mattermost
  1. Install dependencies:

npm install
  1. Set up your environment variables:

Required Environment Variables

  • MATTERMOST_ENDPOINT: Your Mattermost server URL

  • MATTERMOST_TOKEN: Your Mattermost authentication token

  • MATTERMOST_TEAM: The name of the team to monitor

  • MATTERMOST_CHANNELS: Comma-separated list of channel names to monitor

Environment Variable Setup Options

Option 1: Direct Environment Variables

export MATTERMOST_ENDPOINT="https://your-mattermost-server.com"
export MATTERMOST_TOKEN="your-token-here"
export MATTERMOST_TEAM="your-team-name"
export MATTERMOST_CHANNELS="general,random,dev"

Option 2: Using .env file (with dotenvx)

# Install dotenvx (optional)
npm install -g @dotenvx/dotenvx

# Create .env file
cp .env.example .env
# Edit .env file with your values

# Encrypt your .env file (recommended for production)
dotenvx encrypt
  1. Build the server:

npm run build

Usage

The server supports three transport modes: stdio (default), sse, and http-stream.

Standard I/O Transport Mode

# Using npm scripts (with dotenvx)
npm run start:stdio

# Direct execution
node dist/main.js --transport stdio

# Using npx
npx mcp-server-mattermost --transport stdio

SSE Transport Mode

# Using npm scripts (with dotenvx)
npm run start:sse

# Direct execution
node dist/main.js --transport sse

HTTP Transport Mode

# Using npm scripts (with dotenvx)
npm run start:http

# Direct execution
node dist/main.js --transport http-stream

Claude Desktop Integration

To use this MCP server with Claude Desktop, add the following configuration to your Claude Desktop settings:

Sample Configuration

{
  "mcpServers": {
    "mattermost": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-server-mattermost@latest",
        "--transport", "stdio",
        "--endpoint", "https://your-mattermost-server/api/v4",
        "--token", "your_personal_access_token",
        "--team", "your_team_name",
        "--channels", "town-square,general,your_channel_name"
      ]
    }
  }
}

Development

  • npm run dev: Start the server in development mode with hot reload

  • npm run lint: Run ESLint

  • npm run format: Format code using Prettier

  • npm test: Run tests

  • npm run inspect: Run MCP inspector

References

License

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access 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/kakehashi-inc/mattermost-mcp-server'

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