Skip to main content

Notion Service MCP Integration

Provides Notion API service invocation via the MCP protocol, enabling LLM to interact with the Notion workspace. Additionally, it employs Markdown conversion to reduce context size when communicating with LLMs, optimizing token usage and making interactions more efficient.

Deploy MCP Server


Environment Variables

  • Configure NOTION_API_TOKEN as the API integration token you created on Notion
  • Optionally configure NOTION_MARKDOWN_CONVERSION to "true" to enable experimental Markdown conversion. This can significantly reduce token consumption when viewing content, but may cause issues when attempting to edit page content.

🗺️ Feature List

Tool IdentifierFunction DescriptionCore Parameters
notion_append_block_childrenAppends child blocks to the target parent blockblock_id, children
notion_retrieve_blockRetrieves detailed information of the specified blockblock_id
notion_retrieve_block_childrenRetrieves the list of child blocks for a parent blockblock_id, start_cursor, page_size
notion_delete_blockDeletes the specified blockblock_id
notion_retrieve_pageRetrieves detailed information of the specified pagepage_id
notion_update_page_propertiesUpdates page propertiespage_id, properties
notion_create_databaseCreate databaseparent, properties, title
notion_query_databaseQueries records in the databasedatabase_id, filter, sorts, start_cursor, page_size
notion_retrieve_databaseRetrieves detailed information of the specified databasedatabase_id
notion_update_databaseUpdates database informationdatabase_id, title, description, properties
notion_create_database_itemCreates a new item in the databasedatabase_id, properties
notion_searchSearches for pages or databasesquery, filter, sort, start_cursor, page_size
notion_list_all_usersLists all users in the workspace (Enterprise feature)start_cursor, page_size
notion_retrieve_userRetrieves detailed information of the specified user (Enterprise feature)user_id
notion_retrieve_bot_userRetrieves bot user informationNone
notion_create_commentCreates a commentrich_text, parent, discussion_id
notion_retrieve_commentsRetrieves the list of comments associated with a block or pageblock_id, start_cursor, page_size

Repository URL

https://github.com/suekou/mcp-notion-server/tree/main


🔌 Usage


CloudBase MCP Console

Parameter Description

1. notion_append_block_children

Parameter NameDescriptionParameter TypeParameter Description
block_idTarget parent block IDstringThe identifier of the parent block to which child blocks need to be appended
childrenList of child block objectsarrayThe array of block objects to be appended (following the Notion Block Object specification)

Returns: Information about the appended block

2. notion_retrieve_block

Parameter NameDescriptionParameter TypeParameter Description
block_idTarget block IDstringThe identifier of the block for which information needs to be retrieved

Returns: Detailed information about the block

3. notion_retrieve_block_children

Parameter NameDescriptionParameter TypeParameter Description
block_idParent block IDstringThe identifier of the parent block for which the child list needs to be retrieved
start_cursorStart cursor positionstringOptional. The starting cursor for pagination queries (from the previous response)
page_sizePage sizenumberOptional. The maximum number of results returned per request (default: 100, maximum: 100)

Returns: Child block list

4. notion_delete_block

Parameter NameDescriptionParameter TypeParameter Description
block_idBlock ID to deletestringThe identifier of the block to be deleted

Returns: Deletion confirmation

5. notion_retrieve_page

Parameter NameDescriptionParameter TypeParameter Description
page_idTarget page IDstringThe identifier of the page for which detailed information needs to be retrieved

Returns: Detailed information about the page

6. notion_update_page_properties

Parameter NameDescriptionParameter TypeParameter Description
page_idTarget page IDstringThe identifier of the page to be updated
propertiesProperties to updateobjectKey-value pairs of properties to update (Notion Properties compliant)

Returns: Information about the updated page

7. notion_create_database

Parameter NameDescriptionParameter TypeParameter Description
parentParent objectobjectThe parent object of the database (must include page_id or workspace information)
propertiesProperty Structure DefinitionobjectField Type Definitions for the Database
titleDatabase titlearrayOptional. An array of rich text for the title.

Returns: Information about the created database

8. notion_query_database

Parameter NameDescriptionParameter TypeParameter Description
database_idTarget database IDstringThe identifier of the database to be queried
filterFilter conditionsobjectOptional. Query filter conditions
sortsSorting rulesarrayOptional. An array of sorting rules for the results
start_cursorStart cursorstringOptional. The starting cursor for pagination queries
page_sizePage sizenumberOptional. The maximum number of results returned per request (default: 100, maximum: 100)

Returns: List of query results

9. notion_retrieve_database

Parameter NameDescriptionParameter TypeParameter Description
database_idTarget database IDstringThe identifier of the database for which to retrieve information

Returns: Detailed information about the database

10. notion_update_database

Parameter NameDescriptionParameter TypeParameter Description
database_idTarget database IDstringThe identifier of the database to be updated
titleNew titlearrayOptional. An array of titles.
descriptionNew descriptionarrayOptional. An array of descriptions
propertiesUpdate property schemaobjectOptional. The definition of new property fields

Returns: Information about the updated database

11. notion_create_database_item

Parameter NameDescriptionParameter TypeParameter Description
database_idTarget database IDstringThe identifier of the database to which entries are to be added
propertiesEntry property valuesobjectMust match the properties defined in the database structure

Returns: Information about the newly created database entry

Parameter NameDescriptionParameter TypeParameter Description
querySearch keywordsstringOptional. Keywords to search in titles
filterResult type filterobjectOptional. Restricts results to pages/databases (all types returned by default)
sortSorting rulesobjectOptional. Sorting rules for the results
start_cursorStart cursorstringOptional. The starting cursor for pagination queries
page_sizePage sizenumberOptional. The maximum number of results returned per request (default: 100, maximum: 100)

Returns: List of matching pages or databases

13. notion_list_all_users

This feature requires upgrading to the Notion Enterprise plan and using an organization API key to avoid permission errors

Parameter NameDescriptionParameter TypeParameter Description
start_cursorStart cursorstringOptional. The starting cursor for pagination queries
page_sizeResults limitnumberOptional. Maximum number of results returned per request (maximum: 100)

Returns: Paginated list of all users in the workspace

14. notion_retrieve_user

This feature requires upgrading to the Notion Enterprise plan and using an organization API key to avoid permission errors

Parameter NameDescriptionParameter TypeParameter Description
user_idTarget user IDstringThe identifier of the user for which to retrieve information

Returns: Detailed information about the specified user

15. notion_retrieve_bot_user

Returns: Information about the bot user, including detailed information of the person for the authorized integration

16. notion_create_comment

Parameter NameDescriptionParameter TypeParameter Description
rich_textComment contentarrayAn array of rich text content containing text objects
parentAssociated pageobjectOptional. Must contain page_id (choose one between this and discussion_id)
discussion_idDiscussion IDstringOptional. Existing discussion identifier

Returns: Information about the created comment

17. notion_retrieve_comments

Parameter NameDescriptionParameter TypeParameter Description
block_idTarget block/page IDstringThe identifier of the block or page for which to retrieve comments
start_cursorStart cursorstringOptional. The starting cursor for pagination queries
page_sizeResults limitnumberOptional. Maximum number of results returned per request (maximum: 100)

Returns: A paginated list of comments associated with the specified block or page.