Slite MCP connector
OAuth 2.1/DCRCollaborationProductivityFiles & DocumentsConnect to Slite MCP. Create and manage notes, channels, collections, and comments in Slite from AI workflows.
Slite MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'slitemcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Slite MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'slitemcp_list-channels',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "slitemcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Slite MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="slitemcp_list-channels",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- List-comment-threads records — List all non-archived comment threads on a note, oldest-first, with full content
- Create-comment-thread records — Create a new comment thread on a note, optionally anchored to a specific block or highlighted text
- Modify-block records — Replace a single block in a note with new sliteml content, identified by block ID
- Ask-slite records — Ask a question and get an AI-generated answer with source citations from your workspace
- Get-user-group records — Retrieve a user group by ID, including its name, description, and members
- Set-note-review-state records — Set the review state and optional review owner of a note
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
slitemcp_append-blocks#Append sliteml content blocks to an existing note, optionally anchoring them before or after a specific block.5 params
Append sliteml content blocks to an existing note, optionally anchoring them before or after a specific block.
noteIdstringrequiredThe ID of the note to append blocks to.slitemlstringrequiredsliteml content blocks to insert. Block IDs are auto-generated and returned in changedContent.afterBlockIdstringoptionalBlock ID to insert after; read from trailing {#blockId} markers in a get-note response.beforeBlockIdstringoptionalBlock ID to insert before; read from trailing {#blockId} markers in a get-note response.returnFullDocumentbooleanoptionalIf true, include the full updated document in the response. Defaults to false.slitemcp_archive-note#Archive a note, hiding it from navigation and search until restored.1 param
Archive a note, hiding it from navigation and search until restored.
noteIdstringrequiredThe ID of the note to archive.slitemcp_ask-slite#Ask a question and get an AI-generated answer with source citations from your workspace.2 params
Ask a question and get an AI-generated answer with source citations from your workspace.
questionstringrequiredThe question to ask Slite.parentNoteIdstringoptionalOptional filter to only search within notes under this parent note id.slitemcp_create-channel#Create a new channel (top-level container for notes) and become its first member.4 params
Create a new channel (top-level container for notes) and become its first member.
namestringrequiredThe name of the channel to create.iconColorstringoptionalOptional icon color. Paired with iconShape.iconShapestringoptionalOptional icon shape. Use an icon key like 'rocket' or 'book' (no colons).typestringoptionalChannel visibility. "public" (default) is open to all org members, "private" is restricted to invited members.slitemcp_create-collection#Create a new collection (structured database of notes) with typed columns.3 params
Create a new collection (structured database of notes) with typed columns.
columnsarrayrequiredColumn definitions for the collection. The Title column is always included automatically.titlestringrequiredThe title of the collection to create.parentNoteIdstringoptionalOptional ID of the parent note. If not specified, the collection will be created in your personal channel.slitemcp_create-comment-thread#Create a new comment thread on a note, optionally anchored to a specific block or highlighted text.5 params
Create a new comment thread on a note, optionally anchored to a specific block or highlighted text.
contentstringrequiredPlain-text content of the first comment.noteIdstringrequiredThe ID of the note to open the thread on.blockIdstringoptionalOptional: when anchoring inline, the ID of the block to edit. Same as `modify-block`.highlightstringoptionalOptional quoted snippet shown alongside the thread in the sidebar.slitemlstringoptionalFor inline anchoring, the updated block sliteml containing a <comment> tag with the thread ID.slitemcp_create-note#Create a new note with a title, optional sliteml content, and optional parent.7 params
Create a new note with a title, optional sliteml content, and optional parent.
titlestringrequiredThe title of the note to create.contentWidthstringoptionalDoc layout: 'regular' (default centered) or 'wide' (expanded).fieldsobjectoptionalField values for collection records, keyed by column ID. Only applies when parentNoteId is a collection.iconColorstringoptionalOptional icon color. Paired with iconShape.iconShapestringoptionalOptional icon shape. Use an icon key like 'rocket' or 'book' (no colons).parentNoteIdstringoptionalOptional ID of the parent note. If not specified, the note will be created in your personal channel.slitemlstringoptionalOptional sliteml content for the note body. Do not duplicate the title as a heading.slitemcp_get-comment-thread-on-note#Retrieve a single comment thread by its note and thread IDs.2 params
Retrieve a single comment thread by its note and thread IDs.
noteIdstringrequiredThe ID of the note the thread belongs to.threadIdstringrequiredThe ID of the comment thread to retrieve.slitemcp_get-note#Retrieve a note's content by ID, returning sliteml with block IDs or plain Markdown.6 params
Retrieve a note's content by ID, returning sliteml with block IDs or plain Markdown.
noteIdstringrequiredThe ID of the note to retrieve.cursorstringoptionalPass the nextCursor from a previous partial response to continue reading the document.endBlockIdstringoptionalReturn only blocks up to and including this one (inclusive). Combine with startBlockId for a slice.formatstringoptionalContent format to return: 'sliteml' (default, with block IDs) or 'md' (plain Markdown).fullContentbooleanoptionalReturn the full document. Defaults to true; set false to fetch only a preview.startBlockIdstringoptionalReturn only blocks from this block onward (inclusive). Combine with endBlockId for a slice.slitemcp_get-note-children#List child notes under a parent note (paginated).2 params
List child notes under a parent note (paginated).
noteIdstringrequiredThe ID of the parent note.cursorstringoptionalCursor to use to continue fetching the note children (for pagination when there are more than 50 children).slitemcp_get-user#Retrieve a user by ID, including their name, email, and role.1 param
Retrieve a user by ID, including their name, email, and role.
userIdstringrequiredThe ID of the user to retrieve.slitemcp_get-user-group#Retrieve a user group by ID, including its name, description, and members.1 param
Retrieve a user group by ID, including its name, description, and members.
userGroupIdstringrequiredThe ID of the user group to retrieve.slitemcp_list-channels#List channels accessible to the current user (paginated).1 param
List channels accessible to the current user (paginated).
cursorstringoptionalCursor for pagination when there are more results.slitemcp_list-comment-threads#List all non-archived comment threads on a note, oldest-first, with full content.1 param
List all non-archived comment threads on a note, oldest-first, with full content.
noteIdstringrequiredThe ID of the note to list threads on.slitemcp_list-empty-notes-for-knowledge-management#List empty notes for knowledge management, filterable by channel, owner, and pagination cursor.4 params
List empty notes for knowledge management, filterable by channel, owner, and pagination cursor.
channelIdListarrayoptionalOptional channel IDs to filter notes by channel.cursorstringoptionalCursor for pagination when there are more results.firstintegeroptionalMaximum number of notes to return. Defaults to 20.ownerIdListarrayoptionalOptional user or user group IDs to filter notes by owner.slitemcp_list-inactive-notes-for-knowledge-management#List inactive notes for knowledge management, filterable by channel, owner, and pagination cursor.4 params
List inactive notes for knowledge management, filterable by channel, owner, and pagination cursor.
channelIdListarrayoptionalOptional channel IDs to filter notes by channel.cursorstringoptionalCursor for pagination when there are more results.firstintegeroptionalMaximum number of notes to return. Defaults to 20.ownerIdListarrayoptionalOptional user or user group IDs to filter notes by owner.slitemcp_list-notes-for-knowledge-management#List notes for knowledge management, filterable by review state, channel, owner, and age.6 params
List notes for knowledge management, filterable by review state, channel, owner, and age.
channelIdListarrayoptionalOptional channel IDs to filter notes by channel.cursorstringoptionalCursor for pagination when there are more results.firstintegeroptionalMaximum number of notes to return. Defaults to 20.ownerIdListarrayoptionalOptional user or user group IDs to filter notes by owner.reviewStateListarrayoptionalOptional filter to return notes in special review states.sinceDaysAgonumberoptionalOptional time window for popularity.slitemcp_list-public-notes-for-knowledge-management#List public notes for knowledge management, filterable by review state, channel, owner, and age.6 params
List public notes for knowledge management, filterable by review state, channel, owner, and age.
channelIdListarrayoptionalOptional channel IDs to filter notes by channel.cursorstringoptionalCursor for pagination when there are more results.firstintegeroptionalMaximum number of notes to return. Defaults to 20.ownerIdListarrayoptionalOptional user or user group IDs to filter notes by owner.reviewStateListarrayoptionalOptional filter to return notes in special review states.sinceDaysAgonumberoptionalOptional time window for public notes.slitemcp_list-recently-edited-notes#List the last 10 notes recently edited by the current user.1 param
List the last 10 notes recently edited by the current user.
cursorstringoptionalCursor for pagination when there are more results.slitemcp_list-recently-visited-notes#List the last 10 notes recently visited by the current user.1 param
List the last 10 notes recently visited by the current user.
cursorstringoptionalCursor for pagination when there are more results.slitemcp_modify-block#Replace a single block in a note with new sliteml content, identified by block ID.4 params
Replace a single block in a note with new sliteml content, identified by block ID.
blockIdstringrequiredID of the block to replace; read from {#blockId} markers in a get-note response.noteIdstringrequiredThe ID of the note containing the block.slitemlstringrequiredReplacement sliteml content for the block. Do not include the block ID in the content.returnFullDocumentbooleanoptionalIf true, include the full updated document in the response. Defaults to false.slitemcp_modify-range#Replace a consecutive range of blocks in a note with new sliteml content.5 params
Replace a consecutive range of blocks in a note with new sliteml content.
endBlockIdstringrequiredID of the last block in the range to replace (inclusive); must follow startBlockId in document order.noteIdstringrequiredThe ID of the note containing the blocks.slitemlstringrequiredReplacement sliteml content. Pass an empty string to delete the range.startBlockIdstringrequiredID of the first block in the range to replace (inclusive).returnFullDocumentbooleanoptionalIf true, include the full updated document in the response. Defaults to false.slitemcp_move-note#Move a note to become a child of another parent note.2 params
Move a note to become a child of another parent note.
noteIdstringrequiredThe ID of the note to move.parentNoteIdstringrequiredThe ID of the target parent note to move the note into.slitemcp_remove-blocks#Remove one or more blocks from a note by their block IDs.2 params
Remove one or more blocks from a note by their block IDs.
blockIdsarrayrequiredThe block IDs to remove. Use get-note with format="sliteml" to see available block IDs.noteIdstringrequiredThe ID of the note containing the blocks.slitemcp_reply-to-comment-thread#Add a reply to an existing comment thread and return the updated thread.2 params
Add a reply to an existing comment thread and return the updated thread.
contentstringrequiredPlain-text content of the reply.threadIdstringrequiredThe ID of the comment thread to reply to.slitemcp_resolve-comment-thread#Mark a comment thread as resolved.1 param
Mark a comment thread as resolved.
threadIdstringrequiredThe ID of the comment thread to resolve.slitemcp_restore-note#Restore an archived note, making it visible in navigation and search again.1 param
Restore an archived note, making it visible in navigation and search again.
noteIdstringrequiredThe ID of the archived note to restore.slitemcp_search-notes#Search notes by keywords and return matching titles, IDs, and text highlights.7 params
Search notes by keywords and return matching titles, IDs, and text highlights.
querystringrequiredThe search query to perform.hitsPerPagenumberoptionalSpecify how many notes to return per page.includeArchivedbooleanoptionalOptional filter to also include archived notes in the search results (default to false).lastEditedAfterstringoptionalOptional filter to only return notes edited after a specific date (ISO 8601 format).pagenumberoptionalUsed to perform pagination on search.parentNoteIdstringoptionalOptional filter to only return notes under this parent note id.reviewStatestringoptionalOptional filter to return notes in a special review state.slitemcp_search-user-groups#Search and list user groups in the organization by name.2 params
Search and list user groups in the organization by name.
cursorstringoptionalCursor for pagination when there are more results.querystringoptionalOptional search query to filter groups by name.slitemcp_search-users#Search and list users in the organization by name or email.2 params
Search and list users in the organization by name or email.
cursorstringoptionalCursor for pagination when there are more results.querystringoptionalOptional search query to filter users by name, email, or username.slitemcp_set-note-review-state#Set the review state and optional review owner of a note.5 params
Set the review state and optional review owner of a note.
noteIdstringrequiredThe ID of the note.messagestringoptionalOptional message. Only applicable for "out_of_date" and "verification_requested" states.reviewStatestringoptionalThe new review state to set. Optional if only updating the review owner.reviewStateManagedBystringoptionalOptional user ID to set as the review owner for this note.reviewStateManagedByUserGroupstringoptionalOptional user group ID to set as the review owner for this note. Mutually exclusive with reviewStateManagedBy.slitemcp_unresolve-comment-thread#Reopen a previously resolved comment thread.1 param
Reopen a previously resolved comment thread.
threadIdstringrequiredThe ID of the comment thread to unresolve.slitemcp_update-channel#Rename a channel or change its icon color and shape.4 params
Rename a channel or change its icon color and shape.
channelIdstringrequiredThe ID of the channel to update.iconColorstringoptionalOptional new icon color. Pass null to clear.iconShapestringoptionalOptional new icon shape. Pick an icon dictionary key (e.g. "book", "rocket") — no colons. Pass null to clear.namestringoptionalOptional new name for the channel.slitemcp_update-collection#Add or remove columns in a collection (structured database of notes).3 params
Add or remove columns in a collection (structured database of notes).
noteIdstringrequiredThe ID of the collection note to update.columnsarrayoptionalNew columns to add to the collection.removeColumnsarrayoptionalColumn IDs to remove. Errors if any ID does not match an existing column.slitemcp_update-note#Update an existing note's title, content, icon, or layout settings.7 params
Update an existing note's title, content, icon, or layout settings.
noteIdstringrequiredThe ID of the note to update.contentWidthstringoptionalDoc layout: 'regular' (default centered) or 'wide' (expanded).fieldsobjectoptionalField values for collection records, keyed by column ID. Only applies when the note is inside a collection.iconColorstringoptionalOptional new icon color. Pass null to clear.iconShapestringoptionalOptional new icon shape. Use an icon key like 'rocket' or '#collection_table' for collection views.slitemlstringoptionalOptional new sliteml content. Replaces the entire note body.titlestringoptionalOptional new title for the note.slitemcp_verify-note#Mark a note as verified, optionally with an expiration date.2 params
Mark a note as verified, optionally with an expiration date.
noteIdstringrequiredThe ID of the note to verify.untilstringoptionalOptional ISO 8601 date in the future when the verification should expire.