Mattermost Fetch

by kakehashi-inc

2 stars
379 downloads
Not rated
GitHub

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

- 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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Mattermost Fetch
    Command (node, npx, python, etc.) npx
    Arguments
    • 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.

  4. 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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.