MCP tools: Knowledge, notes, meetings and files

Search, read and maintain knowledgebase articles, manage notes and meeting notes and list file metadata.

Prerequisites
  • Knowledgebase, Notes, Meetings or Files module enabled.
  • For semantic search: indexed articles (indexing runs in the background when you create or change them).

list_kb_items

Lists knowledgebase articles (ID, slug, title, category, last change – without content), most recently changed first. Use folder to filter by folder: "engineering" returns all articles whose slug starts with "engineering/". Requirements: role Viewer or higher, key scope "read" or higher, module "Knowledgebase" enabled.

category
Optional · string — Only articles of this category.
folder
Optional · string — Folder path, e.g. "engineering" or "engineering/backend".
limit
Optional · number — Maximum number of results (default 50, max 200).

get_kb_item

Returns a knowledgebase article with full content – by id or slug. Without either the error "Provide id or slug" is returned. Requirements: role Viewer or higher, key scope "read" or higher, module "Knowledgebase" enabled.

id
Optional · string — Article ID.
slug
Optional · string — Article slug (alternative to id).

search_kb

Semantic search across all knowledgebase articles – use it to find relevant articles before answering questions. If vector search is unavailable or finds nothing, a text search over title and content is used. The fields of vector hits can differ from the text search, which returns ID, slug, title, category and last change. Requirements: role Viewer or higher, key scope "read" or higher, module "Knowledgebase" enabled.

query
Required · string — Search query.
limit
Optional · number — Maximum number of results (default 5, max 20).

create_kb_item

Creates a knowledgebase article. Without a slug one is generated from the title plus a timestamp; with folder the article is placed in a folder (folder="engineering" yields "engineering/article-title"). The search embedding is generated in the background. Requirements: role Member or higher, key scope "write" or higher, module "Knowledgebase" enabled.

title
Required · string — Title.
slug
Optional · string — URL-safe slug. Generated from title and timestamp if omitted.
folder
Optional · string — Folder path to create the article in; it is prepended to the slug.
bodyMd
Required · string — Article content as Markdown.
category
Optional · string — Category as free text.

update_kb_item

Updates an article. Use folder to move it to another folder and slug to rename the slug basename. When title or content change, the search embedding is regenerated in the background. Requirements: role Member or higher, key scope "write" or higher, module "Knowledgebase" enabled.

id
Required · string — ID of the article.
title
Optional · string — Title.
slug
Optional · string — New slug basename (without folder) – only the last segment, not the full path.
folder
Optional · string — Target folder, e.g. "engineering". An empty string moves the article to the root.
bodyMd
Optional · string — Article content as Markdown.
category
Optional · string — Category as free text.

delete_kb_item

Deletes a knowledgebase article. Requires at least the Admin role and a key with the delete scope. Requirements: role Admin or higher, key scope "delete" or higher, module "Knowledgebase" enabled.

id
Required · string — ID of the article.

list_notes

Lists notes (ID, title, color, pinned, last change – without content), most recently changed first; filter by pinned. Requirements: role Viewer or higher, key scope "read" or higher, module "Notes" enabled.

pinned
Optional · boolean — Only pinned (true) or unpinned (false) notes.
limit
Optional · number — Maximum number of results (default 50, max 200).

get_note

Returns a note with full content. Requirements: role Viewer or higher, key scope "read" or higher, module "Notes" enabled.

id
Required · string — ID of the note.

create_note

Creates a note; every field is optional (title defaults to "Untitled"). You are stored as its creator. Requirements: role Member or higher, key scope "write" or higher, module "Notes" enabled.

title
Optional · string — Title.
content
Optional · string — Note content (plain text or Markdown).
color
Optional · string — Color label: default, yellow, green, blue, red or purple.
pinned
Optional · boolean — Pins the note.

update_note

Updates title, content, color or pinned state of a note; only the fields you send are changed. Requirements: role Member or higher, key scope "write" or higher, module "Notes" enabled.

id
Required · string — ID of the note.
title
Optional · string — Title.
content
Optional · string — New note content.
color
Optional · string — New color label.
pinned
Optional · boolean — Pins the note.

delete_note

Deletes a note. Requires at least the Admin role and a key with the delete scope. Requirements: role Admin or higher, key scope "delete" or higher, module "Notes" enabled.

id
Required · string — ID of the note.

list_meetings

Lists meeting notes (ID, title, topic, date, attendees, folder, summary, creation time – without notes and transcript), newest first; filter by folder. Belongs to the Meetings module. Requirements: role Viewer or higher, key scope "read" or higher, module "Meetings" enabled.

folderId
Optional · string — Only meetings from this folder.
limit
Optional · number — Maximum number of results (default 50, max 200).

get_meeting

Returns a meeting note with full content, notes, transcript and action items. Requirements: role Viewer or higher, key scope "read" or higher, module "Meetings" enabled.

id
Required · string — ID of the meeting.

create_meeting

Creates a meeting note. Title and date are required. The date should include a UTC offset or Z. Notes, summary and action items can be provided directly. Requirements: role Member or higher, key scope "write" or higher, module "Meetings" enabled.

title
Required · string — Title.
topic
Optional · string — Topic of the meeting.
date
Required · string — Date and time of the meeting (ISO 8601, with UTC offset or Z).
durationMin
Optional · number — Duration in minutes.
attendees
Optional · string — Attendees as free text.
notes
Optional · string — Meeting notes as Markdown.
transcript
Optional · string — Transcript of the meeting.
summary
Optional · string — Summary of the meeting.
actionItems
Optional · object[] — Action items as a list of objects with text and done (true/false).
color
Optional · string — Color label of the meeting.
isOnline
Optional · boolean — Marks the meeting as an online meeting.
folderId
Optional · string — ID of the folder for the meeting (see list_meeting_folders).

update_meeting

Updates title, notes, summary or action items of a meeting note. Date, topic, attendees, folder or transcript cannot be changed with this tool. If you pass actionItems, the new list replaces the previous one completely. Requirements: role Member or higher, key scope "write" or higher, module "Meetings" enabled.

id
Required · string — ID of the meeting.
title
Optional · string — Title.
notes
Optional · string — New meeting notes as Markdown.
summary
Optional · string — Summary of the meeting.
actionItems
Optional · object[] — Action items as a list of objects with text and done (true/false).

delete_meeting

Permanently deletes a meeting note. Requires at least the Admin role and a key with the delete scope. Requirements: role Admin or higher, key scope "delete" or higher, module "Meetings" enabled.

id
Required · string — ID of the meeting.

list_meeting_folders

Lists the meeting folders of the organization – you need their IDs for folderId in list_meetings and create_meeting. Requirements: role Viewer or higher, key scope "read" or higher, module "Meetings" enabled. This tool takes no parameters.

list_files

Lists files of the organization (ID, name, MIME type, size in bytes, folder, starred, creation time), newest first; deleted files do not appear. Without folderId no folder filter is applied; only an explicitly sent null returns just top-level files. The tool returns metadata, not file contents. Requirements: role Viewer or higher, key scope "read" or higher, module "Files" enabled.

folderId
Optional · string — Only files of this folder. An explicitly sent null returns only top-level files.
limit
Optional · number — Maximum number of results (default 50, max 200).

list_file_folders

Lists file folders of the organization (excluding hidden folders): without parentFolderId the top-level folders, otherwise the subfolders of the given folder. Requirements: role Viewer or higher, key scope "read" or higher, module "Files" enabled.

parentFolderId
Optional · string — Only subfolders of this folder. Omit for top-level folders.

Common pitfalls

  • Files as metadata only

    list_files and list_file_folders return no contents. Without folderId, list_files does not filter by folder; only an explicitly sent null returns top-level files.

  • Folders are slug prefixes

    In the knowledgebase a folder is the slug prefix (engineering/…). update_kb_item with folder moves the article; an empty string moves it to the root.

  • The Meetings module is internally called Reviews

    The meeting tools belong to the "Meetings" module and are independent of the weekly reviews (see the goals and metrics article).

  • Action items are replaced

    update_meeting with actionItems replaces the whole list. Read the current state with get_meeting first and send the complete list back.

Keep reading

Still have a question or a problem?

Visit support

Last reviewed on 2026-09-26