# Notion — MCP server on mcp.ai > Notion via linguagem natural: crie, busque e edite páginas, notas, tarefas, wiki, documentos e bancos de dados, organizando seus projetos. Plataforma fornece a aplicação OAuth, você só clica em Conectar e autoriza seu workspace Notion. Vários workspaces podem ser conectados no mesmo MCP. By: mcp.ai · official Page: https://mcp.ai/notion ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_notion?ms=1787528400000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/notion/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/notion/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/notion/skill.md Postman collection (v2.1): https://mcp.ai/notion/postman.json ## Tools - notion_add_multiple_page_content(after?: string, content_blocks: object[], parent_block_id: string) — Efficiently adds multiple standard content blocks to a notion page in a single api call with automatic markdown parsing. the 'content' field in notionrichtext blocks now automatically detects and pars - notion_add_page_content(after?: string, content_block: object, parent_block_id: string) — Deprecated: appends a single content block to a notion page or a parent block (must be page, toggle, to-do, bulleted/numbered list, callout, or quote); invoke repeatedly to add multiple blocks. - notion_append_block_children(after?: string, block_id: string, children: object[]) — Appends complex blocks with full notion block structure to a parent block or page. use for advanced scenarios requiring precise control: code blocks, tables, embeds, nested children within blocks, or - notion_archive_notion_page(archive?: boolean, page_id: string) — Archives (moves to trash) or unarchives (restores from trash) a specified notion page. - notion_create_comment(comment: object, discussion_id?: string, parent_page_id?: string) — Adds a comment to a notion page (via `parent page id`) or to an existing discussion thread (via `discussion id`); cannot create new discussion threads on specific blocks (inline comments). - notion_create_database(title: string, parent_id: string, properties: object[]) — Creates a new notion database as a subpage under a specified parent page with a defined properties schema; use this action exclusively for creating new databases. - notion_create_notion_page(icon?: string, cover?: string, title: string, parent_id: string) — Creates a new empty page in a notion workspace. - notion_delete_block(block_id: string) — Archives a notion block, page, or database using its id, which sets its 'archived' property to true (like moving to "trash" in the ui) and allows it to be restored later. - notion_duplicate_page(title?: string, page_id: string, parent_id: string) — Duplicates a notion page, including all its content, properties, and nested blocks, under a specified parent page or workspace. - notion_fetch_block_contents(block_id: string, page_size?: integer, start_cursor?: string) — Retrieves a paginated list of direct, first-level child block objects along with contents for a given parent notion block or page id; use block ids from the response for subsequent calls to access dee - notion_fetch_block_metadata(block_id: string) — Fetches metadata for a notion block (or page, as pages are blocks) using its valid uuid; if the block has children, use fetch block contents to fetch their contents. - notion_fetch_comments(block_id: string, page_size?: integer, start_cursor?: string) — Fetches unresolved comments for a specified notion block or page id. - notion_fetch_data(query?: string, get_all?: boolean, get_pages?: boolean, page_size?: integer, get_databases?: boolean) — Fetches notion items (pages and/or databases) from the notion workspace, use this to get minimal data about the items in the workspace with a query or list all items in the workspace with minimal data - notion_fetch_database(database_id: string) — Fetches a notion database's structural metadata (properties, title, etc.) via its `database id`, not the data entries; `database id` must reference an existing database. - notion_fetch_row(page_id: string) — Retrieves a notion database row's properties and metadata; use fetch block contents for page content blocks. - notion_get_about_me() — Retrieves the user object for the bot associated with the current notion integration token, typically to obtain the bot's user id for other api operations. - notion_get_about_user(user_id: string) — Retrieves detailed information about a specific notion user, such as their name, avatar, and email, based on their unique user id. - notion_get_page_property_action(page_id: string, page_size?: integer, property_id: string, start_cursor?: string) — Call this to get a specific property from a notion page when you have a valid `page id` and `property id`; handles pagination for properties returning multiple items. - notion_insert_row_database(icon?: string, cover?: string, properties?: object[], database_id: string, child_blocks?: object[]) — Creates a new page (row) in a specified notion database. - notion_list_users(page_size?: integer, start_cursor?: string) — Retrieves a paginated list of users (excluding guests) from the notion workspace; the number of users returned per page may be less than the requested `page size`. - notion_query_database(sorts?: object[], page_size?: integer, database_id: string, start_cursor?: string) — Queries a notion database for pages (rows), where rows are pages and columns are properties; ensure sort property names correspond to existing database properties. - notion_retrieve_comment(comment_id: string) — Tool to retrieve a specific comment by its id. use when you have a comment id and need to fetch its details. - notion_retrieve_database_property(database_id: string, property_id: string) — Tool to retrieve a specific property object of a notion database. use when you need to get details about a single database column/property. - notion_search_notion_page(query?: string, direction?: string, page_size?: integer, timestamp?: string, filter_value?: string, start_cursor?: string, filter_property?: string) — Searches notion pages and databases by title; an empty query lists all accessible items, useful for discovering ids or as a fallback when a specific query yields no results. - notion_update_block(content: string, block_id: string, block_type: string, additional_properties?: object) — Updates an existing notion block's textual content or type-specific properties (e.g., 'checked' status, 'color'), using its `block id` and the specified `block type`. - notion_update_page(icon?: object, cover?: object, page_id: string, archived?: boolean, properties?: object) — Tool to update the properties, icon, cover, or archive status of a page. use when you need to modify existing page attributes. - notion_update_row_database(icon?: string, cover?: string, row_id: string, delete_row?: boolean, properties?: object[]) — Updates or archives an existing notion database row (page) using its `row id`, allowing modification of its icon, cover, and/or properties; ensure the target page is accessible and property details (n - notion_update_schema_database(title?: string, properties?: object[], database_id: string, description?: string) — Updates an existing notion database's title, description, and/or properties; at least one of these attributes must be provided to effect a change. ## Example prompts - "Crie uma página 'Notas da reunião' com os tópicos de hoje" - "Busque páginas que mencionam 'roadmap Q3'" - "Adicione um item na database de tarefas com prazo amanhã" ## Links Docs: https://mcp.ai/docs/mcps/notion Website: https://mcp.ai/mcps/notion