Skip to content

Installation

mm-mcp is a single binary for Linux, macOS and Windows, published with every release.

Get a token

mm-mcp needs the address of your Mattermost server and one of:

  • A personal access token. In Mattermost, open Profile → Security → Personal Access Tokens. If the section is missing, your administrator has not enabled them for you.
  • A bot token, if your administrator gives you a bot account.
  • A session token, from logging in yourself. A login command that does this through your browser, single sign-on included, is planned.

See Configuration for every setting.

Claude Desktop

Download the .mcpb bundle for your machine from the latest release, such as mm-mcp_<version>_darwin_arm64.mcpb for an Apple silicon Mac, and open it. Claude Desktop asks for the address and the token, whether to allow posting, whether to mark posts as written with AI, and where to save files.

With a package manager

On macOS or Linux, with Homebrew:

brew install vriesdemichael/tap/mm-mcp

On Windows, with WinGet:

winget install vriesdemichael.mm-mcp

or with Scoop:

scoop bucket add vriesdemichael https://github.com/vriesdemichael/scoop
scoop install vriesdemichael/mm-mcp

Each puts mm-mcp on your PATH, and brew upgrade, winget upgrade and scoop update bring it to the newest release. WinGet takes a day or two to review each new version, so it can lag the release by that long.

Any MCP client

Install mm-mcp with a package manager, or download the archive for your machine from the latest release and put mm-mcp somewhere on your PATH. Then add a server that runs mm-mcp serve with the settings in its env block. For a client configured with JSON:

{
  "mcpServers": {
    "mattermost": {
      "command": "mm-mcp",
      "args": ["serve"],
      "env": {
        "MM_URL": "https://chat.example.com",
        "MM_TOKEN": "your-token"
      }
    }
  }
}

For Claude Code:

claude mcp add mattermost --env MM_URL=https://chat.example.com --env MM_TOKEN=your-token -- mm-mcp serve

Ask the agent who it is connected as. It calls get_me and answers with your Mattermost user.

On Debian or Ubuntu, and on RHEL or Fedora, the release has packages that put mm-mcp in /usr/bin:

curl -LO "https://github.com/vriesdemichael/mm-mcp/releases/latest/download/mm-mcp_<version>_linux_amd64.deb"
sudo dpkg -i mm-mcp_<version>_linux_amd64.deb

With Go installed, go install github.com/vriesdemichael/mm-mcp/cmd/mm-mcp@latest builds it from source instead; such a build reports its version as dev.

Over HTTP

mm-mcp serve --transport http

The server listens on http://127.0.0.1:8765/mcp. It authenticates no client yet, so it refuses to listen anywhere but a loopback address (ADR-020).

Verifying a download

Every archive and bundle is signed, and every archive's SBOM is attested. With the GitHub CLI:

gh attestation verify mm-mcp_<version>_linux_amd64.tar.gz --repo vriesdemichael/mm-mcp