Skip to main content

MCP server for Mattermost integration

Project description

mcp-server-mattermost

Let AI assistants read, search, and post in your Mattermost workspace

Channels · Messages · Reactions · Threads · Files · Users

MCP Server PyPI version Tests Python 3.10+ License: MIT Docs

Features

Channels — list, create, join, manage channels and DMs
Messages — send, search, edit, delete with rich attachments
Reactions & Threads — emoji reactions, pins, full thread history
Users & Teams — lookup, search, status
Files — upload, metadata, download links
Bookmarks — save links and files in channels (Entry+ edition)

Example Queries

Once configured, you can ask your AI assistant:

  • "List all channels and find where the deployment discussion is happening"
  • "Send a build status alert to #engineering with a red attachment"
  • "Search for messages about the outage last week and summarize"
  • "Summarize this thread and post the key decisions"
  • "Find who worked on the authentication bug last week"
  • "Upload the report.pdf to #general and share the link"

Available Tools

Channels (9 tools)
Tool Description Key Parameters
list_channels List channels in a team team_id
get_channel Get channel details by ID channel_id
get_channel_by_name Get channel by name team_id, channel_name
create_channel Create a new channel team_id, name, display_name
join_channel Join a public channel channel_id
leave_channel Leave a channel channel_id
get_channel_members List channel members channel_id
add_user_to_channel Add user to channel channel_id, user_id
create_direct_channel Create DM channel user_id_1, user_id_2
Messages (5 tools)
Tool Description Key Parameters
post_message Send a message to a channel channel_id, message ✓, attachments
get_channel_messages Get recent messages channel_id
search_messages Search messages by term team_id, terms
update_message Edit a message post_id, message ✓, attachments
delete_message Delete a message post_id
Reactions & Threads (6 tools)
Tool Description Key Parameters
add_reaction Add emoji reaction post_id, emoji_name
remove_reaction Remove emoji reaction post_id, emoji_name
get_reactions Get all reactions on a post post_id
pin_message Pin a message post_id
unpin_message Unpin a message post_id
get_thread Get thread messages post_id
Users (5 tools)
Tool Description Key Parameters
get_me Get current user info
get_user Get user by ID user_id
get_user_by_username Get user by username username
search_users Search users term
get_user_status Get online status user_id
Teams (3 tools)
Tool Description Key Parameters
list_teams List your teams
get_team Get team details team_id
get_team_members List team members team_id
Files (3 tools)
Tool Description Key Parameters
upload_file Upload a file channel_id, file_path
get_file_info Get file metadata file_id
get_file_link Get download link file_id
Bookmarks (5 tools) — Requires Entry+ edition

Note: Requires Entry, Professional, Enterprise, or Enterprise Advanced edition (not available in Team Edition). Minimum version: v10.1.

Tool Description Key Parameters
list_bookmarks List channel bookmarks channel_id
create_bookmark Create link or file bookmark channel_id, display_name, bookmark_type
update_bookmark Update bookmark properties channel_id, bookmark_id
delete_bookmark Delete a bookmark channel_id, bookmark_id
update_bookmark_sort_order Reorder bookmark channel_id, bookmark_id, new_sort_order

Quick Start

  1. Get a Mattermost bot token
  2. Add to your MCP client config:
{
  "mcpServers": {
    "mattermost": {
      "command": "uvx",
      "args": ["mcp-server-mattermost"],
      "env": {
        "MATTERMOST_URL": "https://your-server.com",
        "MATTERMOST_TOKEN": "your-token"
      }
    }
  }
}
  1. Restart your client

Full setup guide — Claude Desktop, Cursor, Claude Code, Opencode, Docker, pip

Configuration

Variable Required Default Description
MATTERMOST_URL Yes Mattermost server URL
MATTERMOST_TOKEN Yes Bot or personal access token
MATTERMOST_TIMEOUT No 30 Request timeout in seconds
MATTERMOST_MAX_RETRIES No 3 Max retry attempts
MATTERMOST_VERIFY_SSL No true Verify SSL certificates
MATTERMOST_LOG_LEVEL No INFO Logging level
MATTERMOST_LOG_FORMAT No json Log output format: json or text

Docker

Stdio mode (default)

docker run -i --rm \
  -e MATTERMOST_URL=https://your-mattermost.com \
  -e MATTERMOST_TOKEN=your-token \
  legard/mcp-server-mattermost
Claude Desktop config
{
  "mcpServers": {
    "mattermost": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "MATTERMOST_URL=https://your-mattermost.com",
        "-e", "MATTERMOST_TOKEN=your-token",
        "legard/mcp-server-mattermost"
      ]
    }
  }
}

HTTP mode (production)

docker run -d -p 8000:8000 \
  -e MCP_TRANSPORT=http \
  -e MCP_HOST=0.0.0.0 \
  -e MATTERMOST_URL=https://your-mattermost.com \
  -e MATTERMOST_TOKEN=your-token \
  legard/mcp-server-mattermost

Health check: curl http://localhost:8000/health

Environment Variables (Docker)

Variable Default Description
MCP_TRANSPORT stdio Transport: stdio or http
MCP_HOST 127.0.0.1 HTTP bind host (use 0.0.0.0 in Docker)
MCP_PORT 8000 HTTP port

Documentation

📖 cloud-ru-tech.github.io/mcp-server-mattermost

Development

# Clone and install
git clone https://github.com/cloud-ru-tech/mcp-server-mattermost
cd mcp-server-mattermost
uv sync --dev

# Run unit tests
uv run pytest

# Run integration tests (requires Docker or external Mattermost)
uv run pytest tests/integration -v

# Type checking
uv run mypy src/

# Linting
uv run ruff check src/ tests/

# Run locally
MATTERMOST_URL=https://... MATTERMOST_TOKEN=... uv run mcp-server-mattermost

Integration Tests

Integration tests run against a real Mattermost server via Docker (Testcontainers) or external server.

# With Docker (Testcontainers) — automatic setup
uv run pytest tests/integration -v

# Against external Mattermost server
export MATTERMOST_URL=https://your-server.com
export MATTERMOST_TOKEN=your-bot-token
uv run pytest tests/integration -v

# Run specific test module
uv run pytest tests/integration/test_channels.py -v

Integration tests are excluded from the default pytest run. Unit tests run with:

uv run pytest  # Unit tests only

Debugging

Use the MCP Inspector to debug:

npx @modelcontextprotocol/inspector uvx mcp-server-mattermost

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

License

MIT — see LICENSE for details.


Built with FastMCP · Mattermost API v4

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_mattermost-0.1.3.tar.gz (240.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_mattermost-0.1.3-py3-none-any.whl (39.4 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_mattermost-0.1.3.tar.gz.

File metadata

  • Download URL: mcp_server_mattermost-0.1.3.tar.gz
  • Upload date:
  • Size: 240.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_server_mattermost-0.1.3.tar.gz
Algorithm Hash digest
SHA256 36d4f427501315c1f193f726c6ca4005b8652a8abd37f8748db3be92a87a903d
MD5 f16cf4a8663e3c36966994c69e348a4d
BLAKE2b-256 c680a0e1d73efe86430192bfc93f4853496e54c5505ce7863cfe90c70c1bcbec

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_mattermost-0.1.3.tar.gz:

Publisher: publish.yml on cloud-ru-tech/mcp-server-mattermost

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_server_mattermost-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_mattermost-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1a70b11306acb7d94ec5d2bdca7623e6002ec9e21267343265e951eaf7d7c71a
MD5 c4b24b7f72815141d983f9d827e2e2db
BLAKE2b-256 e3925174cd0403bcf77e15df0c99daa702d25a12cdee4f53b8aee1c7da00bca2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_server_mattermost-0.1.3-py3-none-any.whl:

Publisher: publish.yml on cloud-ru-tech/mcp-server-mattermost

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page