Mattermost Fetch
About
Web scraping server that fetches and processes web content with robust features like robots.txt compliance, LRU caching, and markdown conversion, supporting both autonomous and manual content retrieval modes.
Details
- Author
- kakehashi-inc
- Repository
- kakehashi-inc/mcp-server-mattermost
- GitHub stars
- 2
- Downloads
- 379
- License
- MIT License
- Categories
- Design, Developer Tools, Frontend, Infrastructure, Communication
- Tags
- #web
Jump to
- 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
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Mattermost FetchCommand (node, npx, python, etc.)npxArguments-
Argument 1
-y -
Argument 2
mcp-server-mattermost@latest -
Argument 3
--transport -
Argument 4
stdio -
Argument 5
--endpoint -
Argument 6
https://your-mattermost-server/api/v4 -
Argument 7
--token -
Argument 8
your_personal_access_token -
Argument 9
--team -
Argument 10
your_team_name -
Argument 11
--channels -
Argument 12
town-square,general,your_channel_name
Environment-
MATTERMOST_TEAM
your-team-name -
MATTERMOST_TOKEN
your-token-here -
MATTERMOST_CHANNELS
general,random,dev -
MATTERMOST_ENDPOINT
https://your-mattermost-server.com
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
The server supports three transport modes: stdio (default), sse, and http-stream.
- 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
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"
npm install -g @dotenvx/dotenvx
{
"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"
]
}
}
}
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mattermost fetch": {
"env": {
"MATTERMOST_TEAM": "your-team-name",
"MATTERMOST_TOKEN": "your-token-here",
"MATTERMOST_CHANNELS": "general,random,dev",
"MATTERMOST_ENDPOINT": "https://your-mattermost-server.com"
},
"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"
],
"command": "npx"
}
}
}
Linux
{
"env": {
"MATTERMOST_TEAM": "your-team-name",
"MATTERMOST_TOKEN": "your-token-here",
"MATTERMOST_CHANNELS": "general,random,dev",
"MATTERMOST_ENDPOINT": "https://your-mattermost-server.com"
},
"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"
],
"command": "npx"
}
Macos
{
"env": {
"MATTERMOST_TEAM": "your-team-name",
"MATTERMOST_TOKEN": "your-token-here",
"MATTERMOST_CHANNELS": "general,random,dev",
"MATTERMOST_ENDPOINT": "https://your-mattermost-server.com"
},
"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"
],
"command": "npx"
}
Windows
{
"env": {
"MATTERMOST_TEAM": "your-team-name",
"MATTERMOST_TOKEN": "your-token-here",
"MATTERMOST_CHANNELS": "general,random,dev",
"MATTERMOST_ENDPOINT": "https://your-mattermost-server.com"
},
"args": [
"/c",
"npx",
"-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"
],
"command": "cmd"
}
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
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
2. Install dependencies:
npm install
3. 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
4. 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
- Model Context Protocol TypeScript SDK
- MCP inspector
License
MIT
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.