structuredContent and a text content field.
Scopes and tool annotations
Call
get_info after connecting. When write access is granted, capabilities includes both read_only and write.
Read tools use MCP annotations readOnlyHint: true and destructiveHint: false.
Write tools use readOnlyHint: false and destructiveHint: false. They create or queue side effects in your organization (comments, notifications, background jobs). Each write tool also checks your room role — the same permissions as in the Noux app.
Organization members who can view a room but are not room members (OrganizationMemberViewer) can read conversations but cannot post comments via MCP.
Pagination conventions
Several tools paginate results. Common patterns:
Default
pageSize is 50 where not specified. Minimum and maximum limits vary per tool.
get_info
Returns connection metadata for the authenticated token. Inputs: none Output highlights:
Use this tool first to verify authentication.
get_organization_members
Lists users in your organization. Inputs: none Output:members — array of { id, email, firstName, lastName }
get_light_rooms
Paginated list of sales rooms with owner, editors, visitors, pending invitees, and linked notetaker meeting ids. Sorted newest first. Inputs:
Output:
rooms, hasMore, pageSize
Each room includes roomId, roomName, owner, editors, visitors, pendingInvitees, notetakerMeetingIds, and timestamps.
Each pendingInvitee includes invitationId, inviteeEmail, inviteeFirstName, inviteeLastName, and status — use inviteeEmail with send_room_update_notifications when recipients have not joined yet.
get_light_notetaker_meetings
Paginated list of notetaker meetings with creator, light participants, key coaching scores, and playbook summary. Excludes transcript and media. Inputs:
Output:
meetings, hasMore, pageSize
get_notetaker_meeting
Full notetaker meeting detail including speaker-attributed transcript, AI summary, and coach analysis. Excludes playbook analysis (useget_notetaker_playbook_analysis).
Inputs:
Output highlights:
transcript (turns with speaker, timing, text), summary (short/long summary, action items, next topics), coaching (customer and salesperson evaluations)
get_notetaker_playbook_analysis
Playbook analysis for a notetaker meeting, ornull when not available yet.
Inputs:
get_room_comments
List room comments across your organization with optional filters. Newest first. Inputs:At least one of
authorId, authorEmail, authorFirstName, authorLastName, or roomId is required.comments, hasMore, pageSize, nextCursor
get_room_conversation
Paginated room conversation: pinned comments on the first page only, then unpinned top-level comments (oldest first) with nested replies, authors, timestamps, pinned/AI flags, and reaction summaries. Inputs:
Output:
pinnedComments, comments, totalNumComments, hasMore, nextFromCommentId, pageSize
get_room_invitations
Room invitations filtered by room and/or invitor. Newest first. Inputs:At least one of
roomId, invitorId, or invitorEmail is required.Invitation message and email subject are only included for invitations you sent. Your personal token acts as you.
hasMore, nextCursor, pageSize
get_room_invitation_defaults
Preview the resolved invitation defaults for a room before callingsend_room_invitations. This is a read tool (no mcp:write scope required) but still checks ShareRoom permission on the target room.
Inputs:
Output:
get_mutual_action_plans
Paginated mutual action plans (MAPs) for your organization. Each plan includes nested items with title,bodyPlainText (preferred for reading descriptions), stored HTML body, status, due dates, assignee, and follower participants. Sorted by most recently updated first.
Inputs:
Item-level filters return only matching items inside each plan.
progress and itemCounts.totalInPlan always reflect the full plan. itemCounts.returned is the number of items in the response after filtering.plans, hasMore, pageSize, nextFromPlanId
Each plan includes id, roomId, roomName, title, sectionDescription, sectionOrder, createdAt, updatedAt, progress, itemCounts, and items.
Progress fields: doneCount, openCount, totalCount, percentDone, overdueOpenCount
Item fields: id, order, title, bodyParagraphs (preferred for edits; "" = blank line), bodyPlainText, body (stored HTML), hasBody, status (open | done), doneAt, dueDateAt, dueDateUrgency, assignee, participants
Assignees and participants include id, email, firstName, lastName, and roomParticipantRole (Owner, Editor, Visitor, or Pending for invitees not yet in the room).
Due date urgency (on items and for the dueDateUrgency filter on open items with a due date):
get_mutual_action_plan
Returns one mutual action plan by id with all items, section title and description, room context, progress summary, and full item details. Inputs:
Output: Same plan shape as a single entry in
get_mutual_action_plans (plans array), with all items included (no item-level filters).
list_key_document_folders
Lists organization key document folders (Materials, References, and other library folders) with document counts visible to you. Inputs: none Output:folders — array of { folderId, name, order, documentCount, isEditableByMember }
Use this before list_key_documents to discover folder ids, or before add_key_document_to_rooms to understand your organization’s document library layout.
list_key_documents
Paginated list of organization key documents (the shared library you can spread into rooms). Sorted by attachment order within folders. Inputs:
Output:
documents, hasMore, pageSize, nextFromAttachmentId
Each document includes keyDocumentId, attachmentId, title, type, folderId, folderName, order, promoted, creator, roomAttachmentCount (how many rooms already contain a copy), aiContext, and optional mimeType / url when visible to you.
get_room_activities
Low-level activity rows for reporting. Useful for analytics and audit-style queries. Inputs:
Output:
activities, hasMore, nextCursor, pageSize
Each activity includes type, createdAt, roomId, actor, and optional commentValue when includeCommentBodies is enabled.
Write tools
Write tools require themcp:write scope on your token. They are not listed in clients that only have read access. Personal tokens created with write access (or OAuth clients that request mcp:write) expose these tools alongside the read tools.
All write tools act as you — the authenticated user id from the token is recorded as the actor.
add_room_comment
Posts a new top-level comment or a reply in a room conversation. The comment appears immediately in the room; useget_room_conversation to read it back.
Permission: Commenting on the target room.
Inputs:
Output:
Side effects:
- Records an
AddCommentactivity and bumps the room’supdatedAt - Queues CRM sync (
crm/sendRoomCommentToCrm) - When
askAiistrue, queues AI reply generation - When you are an external visitor, queues email notifications to sellers (same as posting from the room UI)
send_room_update_notifications to notify specific people after posting.
send_room_invitations
Queues initial invitation emails to one or more invitees. Returns immediately; sending runs in the background. Permission: ShareRoom on the target room (same as sharing from the room UI). Inputs:
Output:
Typical workflow:
get_light_rooms— resolve room name toroomId, check existing members andpendingInviteesget_room_invitation_defaults— optional preview oflinkType,emailSubject, andinvitationMessagebefore sending (read tool; ShareRoom on the room)send_room_invitations— e.g.{ "roomId": "...", "invitees": [{ "email": "pekka.virtanen@example.com", "firstName": "Pekka", "lastName": "Virtanen" }] }with no subject, message, or link type for defaultsget_room_invitations— confirm the new pending invitation after the job completes
send_room_update_notifications
Queues email notifications to selected room members and/or pending invitees about a room update. Returns immediately; delivery runs in the background. Permission: EditRoom on the target room. Inputs:
Output:
Use
get_light_rooms for member user ids (visitors, editors, owner) and pending invitee emails (pendingInvitees[].inviteeEmail). You can notify pending invitees only — omit recipientUserIds when every recipient is still an invitee.
Example (pending invitees only):
add_key_document_to_rooms
Queues a background job to copy an organization key document into one or more rooms. Returns as soon as the job is accepted; copying runs asynchronously. Permission: EditRoom on every room inroomIds.
Inputs:
Output:
Typical workflow:
list_key_document_folders/list_key_documents— findattachmentIdget_light_rooms— confirm targetroomIdsadd_key_document_to_rooms— queue the spreadget_light_roomsor room UI — verifyroomAttachmentCountincreased after the job completes
create_mutual_action_plan
Creates a new mutual action plan section in a room. Returns the full plan (initially with no items). Permission: EditRoom on the target room. Inputs:
Output: Full plan object (same shape as
get_mutual_action_plan).
update_mutual_action_plan
Updates a mutual action plan section title. Permission: EditRoom on the target room. Inputs:
Output: Full updated plan.
add_mutual_action_plan_item
Adds a task item to a mutual action plan. Permission: EditRoom on the target room. Inputs:
Output: Full updated plan including the new item.
update_mutual_action_plan_item
Updates a MAP item’s title, plain-text description (body), due date, or assignee. Omit fields to leave them unchanged.
Permission: EditRoom on the target room.
Inputs:
Assignee values are canonicalized against current room membership (same rules as the Noux UI).
Output: Full updated plan.
set_mutual_action_plan_item_participants
Replaces follower participants on a MAP item (not the assignee). Pass an empty array to clear all followers. Permission: EditRoom on the target room. Inputs:
Output: Full updated plan.
set_mutual_action_plan_item_status
Marks a MAP itemopen or done.
Permission: Room owner or assisting seller may toggle any item. Other room members may only toggle items assigned to them (by user id or email).
Inputs:
Output: Full updated plan.
Typical workflow:
get_light_rooms— resolveroomIdget_mutual_action_planswithroomIdfilter — findplanIdand item idsupdate_mutual_action_plan_item/set_mutual_action_plan_item_participants/set_mutual_action_plan_item_status— apply changesget_mutual_action_plan— confirm final state (write tools also return the updated plan)
Related
- MCP overview
- Getting started
- REST API — additional automation beyond MCP