Skip to main content
Glama

Mattermost MCP Server

README.md3.29 kB
# 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: ```bash git clone https://github.com/kakehashi-inc/mcp-server-mattermost.git cd mcp-server-mattermost ``` 2. Install dependencies: ```bash 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 ```bash 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) ```bash # 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: ```bash npm run build ``` ## Usage The server supports three transport modes: stdio (default), sse, and http-stream. ### Standard I/O Transport Mode ```bash # 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 ```bash # Using npm scripts (with dotenvx) npm run start:sse # Direct execution node dist/main.js --transport sse ``` ### HTTP Transport Mode ```bash # 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 ```json { "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](https://github.com/modelcontextprotocol/typescript-sdk) - [MCP inspector](https://github.com/modelcontextprotocol/inspector) ## License MIT

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