All tools require a valid personal MCP token. Responses are JSON with structuredContent and a text content field.
Every tool is registered with MCP annotations readOnlyHint: true and destructiveHint: false. Clients that respect tool hints can treat all Noux MCP tools as read-only queries — they do not create, update, or delete organization data. For writes, use the REST API.
Several tools paginate results. Common patterns:
| Pattern | Tools | How to continue |
|---|
| Cursor by id | get_light_rooms, get_light_notetaker_meetings, get_room_conversation, get_mutual_action_plans | Pass the last item’s id as fromRoomId, fromMeetingId, fromCommentId, or fromPlanId |
| Cursor pair | get_room_comments, get_room_activities | Pass both cursorCreatedAt and cursorId from nextCursor |
hasMore | Most paginated tools | When true, fetch the next page |
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:
| Field | Description |
|---|
organizationId | Your Noux organization id |
userId | Your user id (token acts as you) |
mcpVersion | MCP API version (e.g. 1.0.0) |
capabilities | Includes read_only |
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:
| Field | Type | Description |
|---|
pageSize | number | Optional. 2–100, default 50 |
fromRoomId | string | Optional. Start from this room id (inclusive) |
ownerUserId | string | Optional. Filter by room owner |
Output: rooms, hasMore, pageSize
Each room includes roomId, roomName, owner, editors, visitors, pendingInvitees, notetakerMeetingIds, and timestamps.
get_light_notetaker_meetings
Paginated list of notetaker meetings with creator, light participants, key coaching scores, and playbook summary. Excludes transcript and media.
Inputs:
| Field | Type | Description |
|---|
pageSize | number | Optional. 2–100, default 50 |
fromMeetingId | string | Optional. Pagination cursor |
creatorUserIds | string[] | Optional. Filter by creator user ids |
createdAfter | string (ISO datetime) | Optional. Lower bound |
createdBefore | string (ISO datetime) | Optional. Upper bound |
Output: meetings, hasMore, pageSize
get_notetaker_meeting
Full notetaker meeting detail including speaker-attributed transcript, AI summary, and coach analysis. Excludes playbook analysis (use get_notetaker_playbook_analysis).
Inputs:
| Field | Type | Description |
|---|
meetingId | string | Required |
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, or null when not available yet.
Inputs:
| Field | Type | Description |
|---|
meetingId | string | Required |
List room comments across your organization with optional filters. Newest first.
Inputs:
| Field | Type | Description |
|---|
authorId | string | Optional filter |
authorEmail | string | Optional filter |
authorFirstName | string | Optional filter |
authorLastName | string | Optional filter |
roomId | string | Optional filter |
topLevelOnly | boolean | Optional. Default false. Exclude replies when true |
createdAfter | string (ISO datetime) | Optional |
createdBefore | string (ISO datetime) | Optional |
pageSize | number | Optional. 1–200, default 50 |
cursorCreatedAt | string (ISO datetime) | Pagination — must pair with cursorId |
cursorId | string | Pagination — must pair with cursorCreatedAt |
At least one of authorId, authorEmail, authorFirstName, authorLastName, or roomId is required.
Output: 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:
| Field | Type | Description |
|---|
roomId | string | Required |
pageSize | number | Optional. 2–100, default 50 |
fromCommentId | string | Optional. Fetch more from this comment |
Output: pinnedComments, comments, totalNumComments, hasMore, nextFromCommentId, pageSize
get_room_invitations
Room invitations filtered by room and/or invitor. Newest first.
Inputs:
| Field | Type | Description |
|---|
roomId | string | Optional filter |
invitorId | string | Optional filter |
invitorEmail | string | Optional filter |
pageSize | number | Optional. 1–200, default 50 |
cursorCreatedAt | string (ISO datetime) | Pagination — must pair with cursorId |
cursorId | string | Pagination — must pair with cursorCreatedAt |
Invitation message and email subject are only included for invitations you sent. Your personal token acts as you.
Output: invitations list, hasMore, nextCursor, pageSize
get_mutual_action_plans
Paginated mutual action plans (MAPs) for your organization. Each plan includes nested items with title, HTML body, status, due dates, assignee, and follower participants. Sorted by most recently updated first.
Inputs:
| Field | Type | Description |
|---|
pageSize | number | Optional. 2–100, default 50 |
fromPlanId | string | Optional. Pagination cursor — pass nextFromPlanId from the previous page |
roomId | string | Optional. Limit to one room |
itemStatus | "open" | "done" | Optional. Item-level filter |
assigneeUserId | string | Optional. Item assignee user id |
assigneeEmail | string | Optional. Item assignee email |
participantUserId | string | Optional. Follower participant user id |
participantEmail | string | Optional. Follower participant email |
involvesUserId | string | Optional. Assignee or follower user id |
involvesUserEmail | string | Optional. Assignee or follower email |
dueDateUrgency | "overdue" | "urgent" | "soon" | Optional. Open items only; see urgency definitions below |
dueBefore | string (ISO datetime) | Optional. Open items with due date on or before |
dueAfter | string (ISO datetime) | Optional. Open items with due date on or after |
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.
Output: 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, body (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):
| Value | Meaning |
|---|
overdue | Due date is in the past |
urgent | Due within the next 24 hours |
soon | Due between 24 and 48 hours from now |
none | No due date, item is done, or due more than 48 hours away |
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:
| Field | Type | Description |
|---|
planId | string | Required |
Output: Same plan shape as a single entry in get_mutual_action_plans (plans array), with all items included (no item-level filters).
get_room_activities
Low-level activity rows for reporting. Useful for analytics and audit-style queries.
Inputs:
| Field | Type | Description |
|---|
createdAfter | string (ISO datetime) | Required |
createdBefore | string (ISO datetime) | Required |
pageSize | number | Optional. 1–200, default 50 |
roomIds | string[] | Optional. Limit to specific rooms |
activityTypes | string[] | Optional. Filter by activity type |
cursorCreatedAt | string (ISO datetime) | Pagination — must pair with cursorId |
cursorId | string | Pagination — must pair with cursorCreatedAt |
includeCommentBodies | boolean | Optional. Default false |
The time range from createdAfter to createdBefore must not exceed 400 days.
Output: activities, hasMore, nextCursor, pageSize
Each activity includes type, createdAt, roomId, actor, and optional commentValue when includeCommentBodies is enabled.