UX Spec: MCP and User Generated Agents Support
Important links
Overview
As teams adopt AI in their workflows, it’s essential to strike a balance between accessibility and governance. MCP Support and User-Level AI Agents enable Mattermost users to create their own role-specific agents that connect securely to internal and external tools (e.g., Jira, GitHub, Figma, Mattermost).
This feature is particularly useful for:
Reducing dependency on admins for AI agent setup
Automating repetitive tasks across multiple systems directly in-channel
Empowering teams to build role-specific virtual teammates (DevOps, Security, PMs, etc.)
Providing controls so admins approve tools, while users self-serve safely
Creating an AI Agent
Users can create and manage their own AI Agents via:
Main Menu → Agents: Opens a modal listing all available agents, with an option to + Add Agent.
Channel Context: When invoking
/agentin-channel, users can select an existing agent or create a new one.
Configuration options
When creating an agent, users can configure:
Display name: Human-readable name (e.g., “DevOps Agent”).
Username: System handle used to mention the agent in-channel.
Avatar: Customizable icon for the agent.
Service: Select the underlying AI service (e.g., ChatGPT, Anthropic, Azure).
Custom instructions: Field to tailor how the agent behaves (e.g., “Summarize daily standups”).
Access tab
This allows users to select which channel would be able to call this and which users will be able to see it.
The users that are not given access to this or are blocked will not be able to use this agent, neither will it be on this list.
The users that can use it, can only see the agent and its settings, not edit them.
Only the user given admin access to the agent will be able to modify the agent.
The creator cannot remove himself as an admin unless they assign someone else as an admin first.
MCPs
The user should be able to see all MCPs configured on the system by the system admin.
When the user clicks connect, the user is taken to the sign in/authentication flow for that app.
And once its done, the connect button turns into a Toggle that’s on.
The toggle can be turned off or on.
The user can also see the tools and parameters if they expand the MCP.
This allows the people to configure which tools within the MCP service are available and which tools are not.
Accessing Agents
Users can interact with agents that they have access to by mentioning them, or just going to the AI sidebar and choosing them from the list.
If there are a lot of agents, we can add a search bar to allow users to search through the list.
How the agent responds
Example below, while the agent is processing actions/tasks to do what the user asked, that message would up as the second message below, with the tasks its performing with a spinner, and when its done, it shows a check, if its not done, we can show a cross.
In a thread, the message where the agent is performing tasks, would only be visible to the person asked the question, and a success/failure of the command would be added by the agent as a normal message.
System console
The system admin would be able to configure the AI services and MCP connectors below.
MCP Connections
Clicking on the settings opens the MCP connector settings modal that’s shown below this section.
Adding an MCP Connector
The admin would be able to add an MCP by using the add button and linking it.
They can also go ahead and select the tools within each MCP to enable on the server.
Only the MCPs configured by the admin + toggled on would be shown on the user facing side.
Additionally, only the tools within the MCPs would only be visible on the user below.