About mattermost-mcp-server
mattermost-mcp-server connects Mattermost to MCP clients, making channel messages searchable. It is for teams exposing Mattermost information through MCP, with configurable channels and transport modes.
Key features
- 01Token-based Mattermost API access
- 02Search across Mattermost channels
- 03Configurable channels and fetch limits
- 04stdio, SSE, and HTTP-stream transports
Use cases
- 01Search messages across team channels
- 02Expose selected Mattermost channels to an MCP client
MCP support
It exposes Mattermost information to MCP clients through stdio, SSE, or HTTP-stream transports.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEmcp-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:
stdiohttp-streamsse
- Search for messages across multiple Mattermost channels
- Customizable default channels and message fetch limits
Requirements
- Node.js >= 22
- npm >= 10
Setup
- Clone this repository:
git clone https://github.com/kakehashi-inc/mcp-server-mattermost.git
cd mcp-server-mattermost
- Install dependencies:
npm install
- Set up your environment variables:
Required Environment Variables
MATTERMOST_ENDPOINT: Your Mattermost server URLMATTERMOST_TOKEN: Your Mattermost authentication tokenMATTERMOST_TEAM: The name of the team to monitorMATTERMOST_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
- 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 reloadnpm run lint: Run ESLintnpm run format: Format code using Prettiernpm test: Run testsnpm run inspect: Run MCP inspector
References
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.