Mural MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MURAL_CLIENT_ID | Yes | Your Mural Client ID from app registration | |
| MURAL_CLIENT_SECRET | Yes | Your Mural Client Secret from app registration | |
| MURAL_ALLOWED_WORKSPACES | No | Optional comma-separated workspace IDs for access restriction |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_workspacesA | List Mural workspaces (stripped to id+name) |
| list_roomsA | List rooms in a workspace (stripped to id+name+type). Default limit 50. |
| list_muralsA | List murals in a room or workspace (stripped to id+title+roomId). Default limit 50. |
| get_muralA | Get metadata for a specific mural (stripped to key fields) |
| get_widgetsA | List widgets on a mural (stripped to key fields). Default limit 50. Use 'next' cursor to paginate. |
| get_widgetA | Get a single widget by ID (stripped to key fields). |
| create_sticky_notesB | Create sticky notes on a mural (batch, up to 1000). Returns IDs. |
| update_sticky_noteB | Update a sticky note (text, position, color, size) |
| create_text_boxesA | Create text boxes on a mural (batch, up to 1000). Returns IDs. |
| update_text_boxC | Update a text box on a mural |
| create_shapesA | Create shapes on a mural (batch, up to 1000). Common shapes: rectangle, circle, diamond, triangle, star, hexagon. Full list validated server-side. |
| update_shapeC | Update a shape on a mural |
| create_areaB | Create an area (grouping section) on a mural. |
| update_areaD | Update an area on a mural |
| create_imageA | Add an image to a mural from a public URL. Auto-detects dimensions. Max 10MB. |
| connect_widgetsC | Draw a connected arrow between two widgets. Provide source/target IDs and positions. |
| connect_widgets_batchA | Connect multiple widget pairs with arrows in one call. Returns all arrow IDs. |
| create_arrowA | Draw a freeform arrow (not snapped to widgets). For connected arrows, use connect_widgets. |
| delete_widgetA | Delete any widget from a mural by ID |
| create_muralA | Create a new mural in a room. Returns mural ID + title. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/janschmiedgen/mural-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server