MCP低风险未认领

Mattermost

Read, search and post in Mattermost as yourself or a bot.

vriesdemichaelvriesdemichael/mm-mcp更新于 2026年10月9日

server.json

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "io.github.vriesdemichael/mm-mcp",
  "description": "Read, search and post in Mattermost as yourself or a bot.",
  "title": "Mattermost",
  "repository": {
    "url": "https://github.com/vriesdemichael/mm-mcp",
    "source": "github"
  },
  "version": "0.3.0",
  "packages": [
    {
      "registryType": "mcpb",
      "identifier": "https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_darwin_amd64.mcpb",
      "version": "0.3.0",
      "fileSha256": "c50ad9fd09aae9799dab3abfba622d1a8a692d8fa38a54c5873a2322ff4455e2",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Offer the tools that post and change things. Each change others see asks you before it acts, which needs a client that shows MCP elicitation questions; following a thread, saving a post or a draft, reminders and typing do not ask.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_ALLOW_WRITES"
        },
        {
          "description": "mm-mcp asks you before each change others see. Turn it off only where your client does not show mm-mcp's question, and its own approval of each tool call is to be the check instead: a client that approves tools by itself then posts as you with nobody seeing it first.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_ASK_BEFORE_WRITES"
        },
        {
          "description": "A PEM file of certificate authorities to trust beside your system's, for a Mattermost whose certificate your organisation signed itself. Leave it empty otherwise.",
          "format": "filepath",
          "name": "MM_MCP_CA_FILE"
        },
        {
          "description": "Where save_file writes attachments. Leave it empty for your Downloads directory.",
          "format": "filepath",
          "name": "MM_MCP_DOWNLOAD_DIR"
        },
        {
          "description": "Only with Ask before posting off: marks each tool that changes what others see so that Claude Code asks a person on every call, whatever its permission mode or rules allow. An agent cannot post on its own while it is on.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_FORCE_HUMAN_IN_THE_LOOP_IN_CLAUDE_CODE"
        },
        {
          "description": "Mark every post and edit the model writes with Mattermost's own marker for text written with AI.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_MARK_AI_GENERATED"
        },
        {
          "description": "A personal access token or a bot token. Where those are switched off, leave it empty after logging in once with mm-mcp login --url <address> in a terminal, which keeps your session in the system's credential store.",
          "format": "string",
          "isSecret": true,
          "name": "MM_TOKEN"
        },
        {
          "description": "The address you open Mattermost at, such as https://chat.example.com.",
          "isRequired": true,
          "format": "string",
          "name": "MM_URL"
        }
      ]
    },
    {
      "registryType": "mcpb",
      "identifier": "https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_darwin_arm64.mcpb",
      "version": "0.3.0",
      "fileSha256": "eb448614e737b9a615ed254509859e3e91096ba58c772a0f6cbace545dc4cbae",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Offer the tools that post and change things. Each change others see asks you before it acts, which needs a client that shows MCP elicitation questions; following a thread, saving a post or a draft, reminders and typing do not ask.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_ALLOW_WRITES"
        },
        {
          "description": "mm-mcp asks you before each change others see. Turn it off only where your client does not show mm-mcp's question, and its own approval of each tool call is to be the check instead: a client that approves tools by itself then posts as you with nobody seeing it first.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_ASK_BEFORE_WRITES"
        },
        {
          "description": "A PEM file of certificate authorities to trust beside your system's, for a Mattermost whose certificate your organisation signed itself. Leave it empty otherwise.",
          "format": "filepath",
          "name": "MM_MCP_CA_FILE"
        },
        {
          "description": "Where save_file writes attachments. Leave it empty for your Downloads directory.",
          "format": "filepath",
          "name": "MM_MCP_DOWNLOAD_DIR"
        },
        {
          "description": "Only with Ask before posting off: marks each tool that changes what others see so that Claude Code asks a person on every call, whatever its permission mode or rules allow. An agent cannot post on its own while it is on.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_FORCE_HUMAN_IN_THE_LOOP_IN_CLAUDE_CODE"
        },
        {
          "description": "Mark every post and edit the model writes with Mattermost's own marker for text written with AI.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_MARK_AI_GENERATED"
        },
        {
          "description": "A personal access token or a bot token. Where those are switched off, leave it empty after logging in once with mm-mcp login --url <address> in a terminal, which keeps your session in the system's credential store.",
          "format": "string",
          "isSecret": true,
          "name": "MM_TOKEN"
        },
        {
          "description": "The address you open Mattermost at, such as https://chat.example.com.",
          "isRequired": true,
          "format": "string",
          "name": "MM_URL"
        }
      ]
    },
    {
      "registryType": "mcpb",
      "identifier": "https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_linux_amd64.mcpb",
      "version": "0.3.0",
      "fileSha256": "daff2f0a53a81fd901319ac43ab4c1f13275fa69e7bf26355eb3460d641a0be3",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Offer the tools that post and change things. Each change others see asks you before it acts, which needs a client that shows MCP elicitation questions; following a thread, saving a post or a draft, reminders and typing do not ask.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_ALLOW_WRITES"
        },
        {
          "description": "mm-mcp asks you before each change others see. Turn it off only where your client does not show mm-mcp's question, and its own approval of each tool call is to be the check instead: a client that approves tools by itself then posts as you with nobody seeing it first.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_ASK_BEFORE_WRITES"
        },
        {
          "description": "A PEM file of certificate authorities to trust beside your system's, for a Mattermost whose certificate your organisation signed itself. Leave it empty otherwise.",
          "format": "filepath",
          "name": "MM_MCP_CA_FILE"
        },
        {
          "description": "Where save_file writes attachments. Leave it empty for your Downloads directory.",
          "format": "filepath",
          "name": "MM_MCP_DOWNLOAD_DIR"
        },
        {
          "description": "Only with Ask before posting off: marks each tool that changes what others see so that Claude Code asks a person on every call, whatever its permission mode or rules allow. An agent cannot post on its own while it is on.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_FORCE_HUMAN_IN_THE_LOOP_IN_CLAUDE_CODE"
        },
        {
          "description": "Mark every post and edit the model writes with Mattermost's own marker for text written with AI.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_MARK_AI_GENERATED"
        },
        {
          "description": "A personal access token or a bot token. Where those are switched off, leave it empty after logging in once with mm-mcp login --url <address> in a terminal, which keeps your session in the system's credential store.",
          "format": "string",
          "isSecret": true,
          "name": "MM_TOKEN"
        },
        {
          "description": "The address you open Mattermost at, such as https://chat.example.com.",
          "isRequired": true,
          "format": "string",
          "name": "MM_URL"
        }
      ]
    },
    {
      "registryType": "mcpb",
      "identifier": "https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_linux_arm64.mcpb",
      "version": "0.3.0",
      "fileSha256": "39b29c773bbe4b20ec600c530296a84c9e04f34dffbba50c909a170904556d2d",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Offer the tools that post and change things. Each change others see asks you before it acts, which needs a client that shows MCP elicitation questions; following a thread, saving a post or a draft, reminders and typing do not ask.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_ALLOW_WRITES"
        },
        {
          "description": "mm-mcp asks you before each change others see. Turn it off only where your client does not show mm-mcp's question, and its own approval of each tool call is to be the check instead: a client that approves tools by itself then posts as you with nobody seeing it first.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_ASK_BEFORE_WRITES"
        },
        {
          "description": "A PEM file of certificate authorities to trust beside your system's, for a Mattermost whose certificate your organisation signed itself. Leave it empty otherwise.",
          "format": "filepath",
          "name": "MM_MCP_CA_FILE"
        },
        {
          "description": "Where save_file writes attachments. Leave it empty for your Downloads directory.",
          "format": "filepath",
          "name": "MM_MCP_DOWNLOAD_DIR"
        },
        {
          "description": "Only with Ask before posting off: marks each tool that changes what others see so that Claude Code asks a person on every call, whatever its permission mode or rules allow. An agent cannot post on its own while it is on.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_FORCE_HUMAN_IN_THE_LOOP_IN_CLAUDE_CODE"
        },
        {
          "description": "Mark every post and edit the model writes with Mattermost's own marker for text written with AI.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_MARK_AI_GENERATED"
        },
        {
          "description": "A personal access token or a bot token. Where those are switched off, leave it empty after logging in once with mm-mcp login --url <address> in a terminal, which keeps your session in the system's credential store.",
          "format": "string",
          "isSecret": true,
          "name": "MM_TOKEN"
        },
        {
          "description": "The address you open Mattermost at, such as https://chat.example.com.",
          "isRequired": true,
          "format": "string",
          "name": "MM_URL"
        }
      ]
    },
    {
      "registryType": "mcpb",
      "identifier": "https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_windows_amd64.mcpb",
      "version": "0.3.0",
      "fileSha256": "6e25fafb57402473c1ebb4467dfc63949c6b89ae5015d4dc9f4bb4c8b412dc62",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Offer the tools that post and change things. Each change others see asks you before it acts, which needs a client that shows MCP elicitation questions; following a thread, saving a post or a draft, reminders and typing do not ask.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_ALLOW_WRITES"
        },
        {
          "description": "mm-mcp asks you before each change others see. Turn it off only where your client does not show mm-mcp's question, and its own approval of each tool call is to be the check instead: a client that approves tools by itself then posts as you with nobody seeing it first.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_ASK_BEFORE_WRITES"
        },
        {
          "description": "A PEM file of certificate authorities to trust beside your system's, for a Mattermost whose certificate your organisation signed itself. Leave it empty otherwise.",
          "format": "filepath",
          "name": "MM_MCP_CA_FILE"
        },
        {
          "description": "Where save_file writes attachments. Leave it empty for your Downloads directory.",
          "format": "filepath",
          "name": "MM_MCP_DOWNLOAD_DIR"
        },
        {
          "description": "Only with Ask before posting off: marks each tool that changes what others see so that Claude Code asks a person on every call, whatever its permission mode or rules allow. An agent cannot post on its own while it is on.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_FORCE_HUMAN_IN_THE_LOOP_IN_CLAUDE_CODE"
        },
        {
          "description": "Mark every post and edit the model writes with Mattermost's own marker for text written with AI.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_MARK_AI_GENERATED"
        },
        {
          "description": "A personal access token or a bot token. Where those are switched off, leave it empty after logging in once with mm-mcp login --url <address> in a terminal, which keeps your session in the system's credential store.",
          "format": "string",
          "isSecret": true,
          "name": "MM_TOKEN"
        },
        {
          "description": "The address you open Mattermost at, such as https://chat.example.com.",
          "isRequired": true,
          "format": "string",
          "name": "MM_URL"
        }
      ]
    },
    {
      "registryType": "mcpb",
      "identifier": "https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_windows_arm64.mcpb",
      "version": "0.3.0",
      "fileSha256": "65d1ff930935ce1ba171f649dc5e19491f4bebdbb1c018bed6f001ad7ed77afa",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Offer the tools that post and change things. Each change others see asks you before it acts, which needs a client that shows MCP elicitation questions; following a thread, saving a post or a draft, reminders and typing do not ask.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_ALLOW_WRITES"
        },
        {
          "description": "mm-mcp asks you before each change others see. Turn it off only where your client does not show mm-mcp's question, and its own approval of each tool call is to be the check instead: a client that approves tools by itself then posts as you with nobody seeing it first.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_ASK_BEFORE_WRITES"
        },
        {
          "description": "A PEM file of certificate authorities to trust beside your system's, for a Mattermost whose certificate your organisation signed itself. Leave it empty otherwise.",
          "format": "filepath",
          "name": "MM_MCP_CA_FILE"
        },
        {
          "description": "Where save_file writes attachments. Leave it empty for your Downloads directory.",
          "format": "filepath",
          "name": "MM_MCP_DOWNLOAD_DIR"
        },
        {
          "description": "Only with Ask before posting off: marks each tool that changes what others see so that Claude Code asks a person on every call, whatever its permission mode or rules allow. An agent cannot post on its own while it is on.",
          "format": "boolean",
          "default": "false",
          "name": "MM_MCP_FORCE_HUMAN_IN_THE_LOOP_IN_CLAUDE_CODE"
        },
        {
          "description": "Mark every post and edit the model writes with Mattermost's own marker for text written with AI.",
          "format": "boolean",
          "default": "true",
          "name": "MM_MCP_MARK_AI_GENERATED"
        },
        {
          "description": "A personal access token or a bot token. Where those are switched off, leave it empty after logging in once with mm-mcp login --url <address> in a terminal, which keeps your session in the system's credential store.",
          "format": "string",
          "isSecret": true,
          "name": "MM_TOKEN"
        },
        {
          "description": "The address you open Mattermost at, such as https://chat.example.com.",
          "isRequired": true,
          "format": "string",
          "name": "MM_URL"
        }
      ]
    }
  ]
}

权限

声明检测
运行代码—bundle
安装—mcpb:https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_darwin_amd64.mcpb@0.3.0mcpb:https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_darwin_arm64.mcpb@0.3.0mcpb:https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_linux_amd64.mcpb@0.3.0mcpb:https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_linux_arm64.mcpb@0.3.0mcpb:https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_windows_amd64.mcpb@0.3.0mcpb:https://github.com/vriesdemichael/mm-mcp/releases/download/v0.3.0/mm-mcp_0.3.0_windows_arm64.mcpb@0.3.0
安装时运行脚本—无
网络无无
需要的凭据MM_TOKENMM_TOKEN
工作区外的路径—无
智能体工具—无

检查

低风险 · 没有发现需要提醒的地方。

未经人工审核 · 已做规则检查;模型审核尚未开启。

版本

  1. #30.3.0最新2026年10月9日
  2. #20.2.02026年10月8日
  3. #10.1.02026年10月7日