Mural integration
Mural is a visual collaboration whiteboard. An agent can list workspaces, rooms and murals, search them, create, duplicate, update and delete murals and rooms, read and add widgets (sticky notes, text boxes, titles, shapes, arrows, areas, comments, tables), manage tags, templates and members, run timers, private mode and voting sessions, and export a mural to a file. Uploading images and files (a presigned upload to Mural's storage) and the anonymous visitor access check are not exposed. Authentication is OAuth 2.0 (authorization code) against the user's Mural account, with read and write scopes per resource.
Say what should happen.
The workflow builds itself.
What you can do with Mural
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Mural, 8 operations
create_muralCreate muralPOSTCreate a mural in a room owned by the authenticated user. Authorization scope: `murals:write`create_mural_from_templateCreate mural from templatePOSTCreate a mural in a room based on a template. Authorization scope: `murals:write`delete_muralDelete muralDELETEDeletes a mural that the authenticated user owns. Authorization scope: `murals:write`get_muralGet muralGETReturns info for a mural that the authenticated user has read access to. Authorization scope: `murals:read`list_room_muralsList room muralsGETReturns all murals for a room that the authenticated user has read access to. Authorization scope: `murals:read`list_workspace_muralsList workspace muralsGETReturns all murals that the authenticated user owns or is a member of for a workspace. Authorization scope: `murals:read`search_muralsSearch muralsGETSearches, by text (q), the murals the authenticated user owns or is a member of in a workspace, optionally only in one room (roomId). Paginated: pass next to get the following page.update_muralUpdate muralPATCHUpdate a mural the authenticated user owns or is a member of. Authorization scope: `murals:write`
Room, 6 operations
create_roomCreate roomPOSTCreate a room in a workspace that the authenticated user has write access to. Authorization scope: `rooms:write`delete_roomDelete roomDELETEDeletes a room that the authenticated user owns. Authorization scope: `rooms:write`get_roomGet roomGETReturns information about a room that the authenticated user has read access to. Authorization scope: `rooms:read`list_workspace_roomsList workspace roomsGETReturns all rooms in a workspace that the authenticated user has read access to. The user must have access to both the workspace and the rooms. Authorization scope: `rooms:read`search_roomsSearch roomsGETSearches, by text (q), the rooms the authenticated user owns or is a member of in a workspace. Paginated: pass next to get the following page.update_roomUpdate roomPATCHUpdates a room owned by the authenticated user. Authorization scope: `rooms:write`
Tag, 5 operations
create_tagCreate tagPOSTCreate a tag in a mural. Tag text is limited to 25 characters. Authorization scope: `murals:write`delete_tagDelete tagDELETEDelete a tag from a mural. Authorization scope: `murals:write`get_tagGet tagGETGet a tag on a mural Authorization scope: `murals:read`list_mural_tagsList mural tagsGETReturns the tags in a mural. Authorization scope: `murals:read`update_tagUpdate tagPATCHUpdate a tag on a mural. Tag text is limited to 25 characters. Authorization scope: `murals:write`
Template, 5 operations
create_custom_templateCreate custom templatePOSTCreates a custom template based on a mural to use in a workspace. Authorization scope: `templates:write`delete_templateDelete templateDELETEDeletes a template that the authenticated user owns. Authorization scope: `templates:write`list_default_templatesList default templatesGETReturns all default templates. Authorization scope: `templates:read`list_workspace_templatesList workspace templatesGETReturns default templates and custom templates for a workspace the authenticated user has access to. Authorization scope: `templates:read`search_templatesSearch templatesGETSearches, by text (q), the custom templates the authenticated user owns or has access to in a workspace. Paginated: pass next to get the following page.
End, 3 operations
end_mural_voting_sessionEnd mural voting sessionPOSTEnds a voting session for the specified mural. Required authorization scope: `murals:write`stop_mural_timerStop mural timerPOSTStops the timer for the specified mural. Authorization scope: `murals:write`stop_private_modeStop private modePOSTEnd a private mode session for the specified mural. Authorization scope: `murals:write`
Folder, 3 operations
create_room_folderCreate room folderPOSTCreates a new folder in a room that the authenticated user has write access to. Authorization scope: `rooms:write`delete_folderDelete folderDELETEDelete a folder (and all its sub-folders and murals) from a room. Authorization scope: `rooms:write`list_room_foldersList room foldersGETReturns all folders for a room that the authenticated user has access to. Authorization scope: `rooms:read`
Invite, 3 operations
invite_users_to_muralInvite users to muralPOSTAllows an authenticated user of a mural to invite members and/or guests. You can invite users by specifying either their email address or their username. In both cases the user is notified by email.invite_users_to_roomInvite users to roomPOSTAllows an authenticated user of a room to invite members and/or guests. You can invite users by specifying either their email address or their username. In both cases the user is notified by email.invite_users_to_workspaceInvite users to workspacePOSTAllows an authenticated admin of a workspace to invite members and/or guests. Specify a user's email address to send them an invitation by email. Authorization scope: `workspaces:write`
Start, 3 operations
start_mural_timerStart mural timerPOSTInitiates the timer for the specified mural. Required authorization scope: `murals:write`start_mural_voting_sessionStart mural voting sessionPOSTInitiates a voting session for the specified mural. Required authorization scope: `murals:write`start_private_modeStart private modePOSTInitiates a private mode session for the specified mural. Required authorization scope: `murals:write`
Voting session, 3 operations
delete_voting_sessionDelete voting sessionDELETEDeletes a single voting session in a mural. Authorization scope: `murals:write`get_voting_sessionGet voting sessionGETReturns a single voting session in a mural. Authorization scope: `murals:read`list_voting_sessionsList voting sessionsGETReturns the voting sessions in a mural. Authorization scope: `murals:read`
Widget, 3 operations
delete_widgetDelete widgetDELETEDelete a widget and its content from a Mural. Authorization scope: `murals:write`get_widgetGet widgetGETReturns information about a widget specified by its id. Authorization scope: `murals:read`list_widgetsList widgetsGETReturns all of the widgets for a mural. Does not currently include drawings. Authorization scope: `murals:read`
Area, 2 operations
create_areaCreate areaPOSTCreate an area widget on a mural. Authorization scope: `murals:write`update_areaUpdate areaPATCHUpdate an area widget on a mural. Authorization scope: `murals:write`
Arrow, 2 operations
create_arrowCreate arrowPOSTCreate an arrow widget on a mural. Authorization scope: `murals:write`update_arrowUpdate arrowPATCHUpdate an arrow widget on a mural. Authorization scope: `murals:write`
Comment, 2 operations
create_commentCreate commentPOSTCreate a comment widget on a mural. Authorization scope: `murals:write`update_commentUpdate commentPATCHUpdate a comment widget on a mural. Authorization scope: `murals:write`
Export, 2 operations
export_muralExport muralPOSTStarts an export of the mural to a file (for example pdf) and returns an exportId; the file is ready once processing completes and stays available for 7 days. Fetch its download URL with get_mural_export.get_mural_exportGet mural exportGETReturns the download URL of an export started with export_mural, and the time (expireOn) after which that URL stops working.
File, 2 operations
list_file_widgetsList file widgetsGETReturns all files for a mural. Authorization scope: `murals:read`update_fileUpdate filePATCHUpdate a file widget on a mural. Authorization scope: `murals:write`
Permission, 2 operations
update_mural_member_permissionsUpdate mural member permissionsPATCHUpdate mural member permissions, by an authenticated owner of the mural. Authorization scope: `murals:write`update_room_member_permissionsUpdate room member permissionsPATCHUpdates the permissions of one or more members of the specified room. Authorization scope: `rooms:write`
Recent, 2 operations
list_recent_muralsList recent muralsGETReturns the authenticated user's recently opened active murals in a workspace. Authorization scope: `murals:read`list_recent_templatesList recent templatesGETReturns the recent templates used by a user for a workspace the authenticated user has access to. By default, default and custom templates are returned.
Remove, 2 operations
remove_mural_usersRemove mural usersPOSTRemoves members and/or guests from a specified mural that the authenticated user has write access to. Authorization scope: `murals:write`remove_room_usersRemove room usersPOSTRemoves members and/or guests from a specified room that the authenticated user has write access to. Authorization scope: `rooms:write`
Shape, 2 operations
create_shapesCreate shapesPOSTCreate one or more shape widgets on a mural. Limit 1000. Authorization scope: `murals:write`update_shapeUpdate shapePATCHUpdate a shape widget on a mural. Authorization scope: `murals:write`
Sticky note, 2 operations
create_sticky_notesCreate sticky notesPOSTCreate one or more sticky note widgets on a mural. Limit 1000. Authorization scope: `murals:write`update_sticky_noteUpdate sticky notePATCHUpdate a sticky note widget on a mural. Authorization scope: `murals:write`
Textbox, 2 operations
create_textboxesCreate textboxesPOSTCreate one or more text box widgets on a mural. Limit 1000. Authorization scope: `murals:write`update_textboxUpdate textboxPATCHUpdate a textbox widget on a mural. Authorization scope: `murals:write`
Timer, 2 operations
get_mural_timerGet mural timerGETRetrieves the timer details for a specified mural. Required authorization scope: `murals:read`update_mural_timerUpdate mural timerPATCHPauses/resumes the mural timer and/or adds extra time to the running timer. Required authorization scope: `murals:write`
Title, 2 operations
create_titlesCreate titlesPOSTCreate one or more title widgets on a mural. Limit 1000. Authorization scope: `murals:write`update_titleUpdate titlePATCHUpdate a title widget on a mural. Authorization scope: `murals:write`
User, 2 operations
list_mural_usersList mural usersGETReturns all users of a mural. Users include members and guests. Authorization scope: `users:read`list_room_usersList room usersGETReturns all members (including partial) and guests for a room the authenticated user has read access to. Authorization scope: `users:read`
Workspace, 2 operations
get_workspaceGet workspaceGETReturns information for a workspace that the authenticated user has read access to. Authorization scope: `workspaces:read`list_workspacesList workspacesGETReturns all workspaces the authenticated user is a member of, whether the workspace or user is active or inactive. Authorization scope: `workspaces:read`
Duplicate, 1 operation
duplicate_muralDuplicate muralPOSTDuplicate an existing mural. Authorization scope: `murals:write`
Image, 1 operation
update_imageUpdate imagePATCHUpdate an image widget in a mural. Authorization scope: `murals:write`
Me, 1 operation
get_current_userGet current userGETReturns information for the currently authenticated user. Authorization scope: `identity:read`
Open, 1 operation
list_open_roomsList open roomsGETReturns all the discoverable open rooms in a workspace. Authorization scope: `rooms:read`
Private mode, 1 operation
get_private_modeGet private modeGETRetrieves the current private mode session for the specified mural. Required authorization scope: `murals:read`
Reset link, 1 operation
reset_visitor_linkReset visitor linkPOSTResets the mural visitor URL so the previous visitor URL will no longer work. Authorization scope: `murals:write`
Result, 1 operation
get_voting_session_resultsGet voting session resultsGETReturns the results of a voting session in a mural. Authorization scope: `murals:read`
Send request access, 1 operation
request_mural_accessRequest mural accessPOSTSends a request-access notification to the mural owner. Authorization scope: `murals:read`
Table, 1 operation
create_tableCreate tablePOSTCreate a table widget on a mural. Authorization scope: `murals:write`
Visitor setting, 1 operation
update_mural_visitor_settingsUpdate mural visitor settingsPATCHUpdate visitor settings of a mural, by an authenticated owner of the mural. Authorization scope: `murals:write`
Vote, 1 operation
vote_for_widgetVote for widgetPOSTSubmit a vote for a widget in the active voting session of a mural. Required authorization scope: `murals:write`
Use Mural from Claude Code, Cursor or Codex
Connect Mural in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Mural operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Mural
- Create your workspace
Sign up free. Nothing to install.
- Connect Mural once
Add your Mural connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Mural integration FAQ
What can you do with the Mural integration?
LiveContext exposes 83 operations on Mural, covering mural, room, tag and template.
