/add-mattermost
Add a self-hosted or cloud Mattermost bot channel through the Chat SDK bridge, reusing a healthy server when available and linking to official server setup guidance when needed.
Claude Code
$ npx -y skills add nanocoai/nanoclaw --skill add-mattermost --agent claude-code
Codex
$ npx skills add nanocoai/nanoclaw --skill add-mattermost -a codex -y
Cursor
$ npx skills add nanocoai/nanoclaw --skill add-mattermost -a cursor -y
Gemini CLI
$ npx skills add nanocoai/nanoclaw --skill add-mattermost -a gemini-cli -y
GitHub Copilot
$ npx skills add nanocoai/nanoclaw --skill add-mattermost -a github-copilot -y
OpenCode
$ npx skills add nanocoai/nanoclaw --skill add-mattermost -a opencode -y
Windsurf
$ npx skills add nanocoai/nanoclaw --skill add-mattermost -a windsurf -y
SKILL.md
add-mattermost.SKILL.mdname: add-mattermost
description: Add a self-hosted or cloud Mattermost bot channel through the Chat SDK bridge, reusing a healthy server when available and linking to official server setup guidance when needed.
Add Mattermost Channel
Adds Mattermost DMs, channels, threads, files, reactions, and interactive approval cards. Messages arrive over Mattermost's WebSocket; card clicks return to NanoClaw over an authenticated HTTP callback. Every step is safe to re-run.
Discover the server first
Do this before installing the adapter or asking for a URL. The goal is to reuse a healthy Mattermost the user already has and establish one canonical base URL.
1. Check an existing `MATTERMOST_BASE_URL` in the current environment and NanoClaw env/config files. Do not print tokens or dump whole env files. 2. Probe likely local URLs, at least `http://localhost:8065` and `http://127.0.0.1:8065`, using `GET /api/v4/system/ping`. A listening port alone is not evidence that the service is Mattermost. 3. Inspect Docker/Compose for Mattermost containers. If a matching container exists but is stopped, offer to start it with its original mechanism; do not start or recreate it without the user's approval. 4. If you find a healthy server, show its URL and ask the user to use it or enter a different URL. Do not select a server automatically. Treat the localhost and 127.0.0.1 endpoints for the same container as one server. 5. If nothing healthy is found, offer Mattermost's maintained evaluation and deployment guidance from [SERVER_SETUP.md](SERVER_SETUP.md), then ask for the server URL after the operator has one running.
Set `MATTERMOST_BASE_URL` to the chosen canonical URL (scheme included, no trailing slash), then use that exact hostname in browser/Desktop setup. NanoClaw connects to Mattermost; it does not install or manage the server.
Apply
1. Detect or select the server
Test the configured URL and the standard local URLs. A detected server is only a suggestion. The user must select it.
node .claude/skills/add-mattermost/scripts/discover-server.mjs
NanoClaw found a healthy Mattermost server at {{detected_url}}. You can use this server or enter a different Mattermost URL.Enter `use` to use {{detected_url}}. Enter `enter` to specify a different Mattermost URL.node .claude/skills/add-mattermost/scripts/select-server.mjs use "{{detected_url}}" "{{detected_config_access}}" "{{detected_container}}"Enter the Mattermost base URL. Include the scheme, for example `https://mattermost.example.com`.
node .claude/skills/add-mattermost/scripts/select-server.mjs enter "{{entered_url}}"NanoClaw did not find a healthy Mattermost server. NanoClaw connects to a server but does not install or operate one. For a temporary local trial, follow Mattermost's official Quick Start Evaluation: https://docs.mattermost.com/deployment-guide/quick-start-evaluation. For a persistent or production installation, choose a supported path in Mattermost's deployment guide: https://docs.mattermost.com/deployment-guide/server/deploy-server. Return here when the server is running.
Mattermost base URL. Include the scheme, for example `https://mattermost.example.com`.
node .claude/skills/add-mattermost/scripts/select-server.mjs enter "{{entered_url_new}}"2. Set the server SiteURL
Mattermost Desktop sends its configured server URL as the WebSocket Origin. Before you install the adapter, set `ServiceSettings.SiteURL` to the same URL: `{{base_url}}`. Keep `ServiceSettings.WebsocketURL` blank. Do not change `ServiceSettings.AllowCorsFrom` to correct an Origin error.
When discovery found host-local `mmctl`, ask before changing the server:
Enter `set` to set SiteURL to {{base_url}} and clear WebsocketURL. Enter `already` if these values are already correct.mmctl config set ServiceSettings.SiteURL "{{base_url}}" --local
mmctl config set ServiceSettings.WebsocketURL "" --localWhen discovery found `mmctl` inside a local Mattermost container, ask before changing it there:
Enter `set` to set SiteURL to {{base_url}} in {{mattermost_container}} and clear WebsocketURL. Enter `already` if these values are already correct.docker exec "{{mattermost_container}}" mmctl config set ServiceSettings.SiteURL "{{base_url}}" --local
docker exec "{{mattermost_container}}" mmctl config set ServiceSettings.WebsocketURL "" --localIf local configuration access is unavailable, tell the operator:
Read more
name: add-mattermost description: Add a self-hosted or cloud Mattermost bot channel through the Chat SDK bridge, reusing a healthy server when available and linking to official server setup guidance when needed.
Add Mattermost Channel
Adds Mattermost DMs, channels, threads, files, reactions, and interactive approval cards. Messages arrive over Mattermost's WebSocket; card clicks return to NanoClaw over an authenticated HTTP callback. Every step is safe to re-run.
Discover the server first
Do this before installing the adapter or asking for a URL. The goal is to reuse a healthy Mattermost the user already has and establish one canonical base URL.
1. Check an existing `MATTERMOST_BASE_URL` in the current environment and NanoClaw env/config files. Do not print tokens or dump whole env files. 2. Probe likely local URLs, at least `http://localhost:8065` and `http://127.0.0.1:8065`, using `GET /api/v4/system/ping`. A listening port alone is not evidence that the service is Mattermost. 3. Inspect Docker/Compose for Mattermost containers. If a matching container exists but is stopped, offer to start it with its original mechanism; do not start or recreate it without the user's approval. 4. If you find a healthy server, show its URL and ask the user to use it or enter a different URL. Do not select a server automatically. Treat the localhost and 127.0.0.1 endpoints for the same container as one server. 5. If nothing healthy is found, offer Mattermost's maintained evaluation and deployment guidance from [SERVER_SETUP.md](SERVER_SETUP.md), then ask for the server URL after the operator has one running.
Set `MATTERMOST_BASE_URL` to the chosen canonical URL (scheme included, no trailing slash), then use that exact hostname in browser/Desktop setup. NanoClaw connects to Mattermost; it does not install or manage the server.
Apply
1. Detect or select the server
Test the configured URL and the standard local URLs. A detected server is only a suggestion. The user must select it.
node .claude/skills/add-mattermost/scripts/discover-server.mjs
NanoClaw found a healthy Mattermost server at {{detected_url}}. You can use this server or enter a different Mattermost URL.Enter `use` to use {{detected_url}}. Enter `enter` to specify a different Mattermost URL.node .claude/skills/add-mattermost/scripts/select-server.mjs use "{{detected_url}}" "{{detected_config_access}}" "{{detected_container}}"Enter the Mattermost base URL. Include the scheme, for example `https://mattermost.example.com`.
node .claude/skills/add-mattermost/scripts/select-server.mjs enter "{{entered_url}}"NanoClaw did not find a healthy Mattermost server. NanoClaw connects to a server but does not install or operate one. For a temporary local trial, follow Mattermost's official Quick Start Evaluation: https://docs.mattermost.com/deployment-guide/quick-start-evaluation. For a persistent or production installation, choose a supported path in Mattermost's deployment guide: https://docs.mattermost.com/deployment-guide/server/deploy-server. Return here when the server is running.
Mattermost base URL. Include the scheme, for example `https://mattermost.example.com`.
node .claude/skills/add-mattermost/scripts/select-server.mjs enter "{{entered_url_new}}"2. Set the server SiteURL
Mattermost Desktop sends its configured server URL as the WebSocket Origin. Before you install the adapter, set `ServiceSettings.SiteURL` to the same URL: `{{base_url}}`. Keep `ServiceSettings.WebsocketURL` blank. Do not change `ServiceSettings.AllowCorsFrom` to correct an Origin error.
When discovery found host-local `mmctl`, ask before changing the server:
Enter `set` to set SiteURL to {{base_url}} and clear WebsocketURL. Enter `already` if these values are already correct.mmctl config set ServiceSettings.SiteURL "{{base_url}}" --local
mmctl config set ServiceSettings.WebsocketURL "" --localWhen discovery found `mmctl` inside a local Mattermost container, ask before changing it there:
Enter `set` to set SiteURL to {{base_url}} in {{mattermost_container}} and clear WebsocketURL. Enter `already` if these values are already correct.docker exec "{{mattermost_container}}" mmctl config set ServiceSettings.SiteURL "{{base_url}}" --local
docker exec "{{mattermost_container}}" mmctl config set ServiceSettings.WebsocketURL "" --localIf local configuration access is unavailable, tell the operator:
A lightweight alternative to OpenClaw that runs in containers for security. Connects to WhatsApp, Telegram, Slack, Discord, Gmail and other messaging apps,, has memory, scheduled jobs, and runs directly on Anthropic's Agents SDK
Other skills on nanoclaw.
More skills from other plugins.
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
opencli-adapter-author
Build or improve an OpenCLI JS adapter using observed site behavior, existing adapters and browser API evidence. For ad-hoc…
Questions about add-mattermost.
- Which coding agents can use add-mattermost?
- add-mattermost installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

