# Notion
import ToolInfo from "@/app/_components/tool-info";
import Badges from "@/app/_components/badges";
import TabbedCodeBlock from "@/app/_components/tabbed-code-block";
import TableOfContents from "@/app/_components/table-of-contents";
import ToolFooter from "@/app/_components/tool-footer";
import { Callout } from "nextra/components";
The Arcade Notion MCP Server provides a pre-built set of tools for interacting with Notion. These tools make it easy to build agents and AI apps that can:
- Get a page's content
- Create a new page
- Search for pages or databases by title
- Get the metadata of a Notion object (page or database)
- Get a workspace's folder structure
## Available tools
These tools are currently available in the Arcade Notion MCP Sever.
If you need to perform an action that's not listed here, you can [get in touch
with us](mailto:contact@arcade.dev) to request a new tool, or [create your own
tools](/guides/create-tools/tool-basics/build-mcp-server) with the [Notion auth
provider](/references/auth-providers/notion).
## NotionToolkit.GetPageContentById
Get the content of a Notion page as markdown with the page's ID.
**Parameters**
- **`page_id`** _(string, required)_ The ID of the page to get content from.
---
## NotionToolkit.GetPageContentByTitle
Get the content of a Notion page as markdown with the page's title.
**Parameters**
- **`title`** _(string, required)_ The title of the page to get content from.
---
## NotionToolkit.CreatePage
Create a new Notion page by specifying an existing parent page and the new page details.
**Parameters**
- **`parent_title`** _(string, required)_ Title of an existing page where the new page will be created.
- **`title`** _(string, required)_ Title of the new page.
- **`content`** _(string, optional)_ The content of the new page.
---
## NotionToolkit.SearchByTitle
Search for similar titles of pages, databases, or both within the user's Notion workspace. This tool returns minimal information about matching objects without their content.
**Parameters**
- **`query`** _(string, optional)_
A substring to search for within page and database titles. If not provided, all items are returned.
- **`select`** _(str, optional)_
Limit the search to only pages or only databases. If provided, must be one of `page` or `database`. Defaults to both.
- **`order_by`** _(str, optional)_
The direction to sort search results by last edited time. Must be either `ascending` or `descending`. Defaults to `descending`.
- **`limit`** _(int, optional)_
The maximum number of results to return. Defaults to 100. Use -1 for no limit.
---
## NotionToolkit.GetObjectMetadata
Get the metadata of a Notion object (page or database) using its title or ID. One of `object_title` or `object_id` must be provided (but not both). The returned metadata includes the object's ID, timestamps, properties, URL, and more.
**Parameters**
- **`object_title`** _(string, optional)_
The title of the page or database whose metadata to retrieve.
- **`object_id`** _(string, optional)_
The ID of the page or database whose metadata to retrieve.
- **`object_type`** _(str, optional)_
The type of object to match the title against. If provided, must be one of `page` or `database`. Defaults to both if not provided.
---
## NotionToolkit.GetWorkspaceStructure
Get the complete workspace structure of your Notion workspace. This tool returns a hierarchical view of pages and databases, making it easier to understand the organization of your workspace.
**Parameters**
_None_
---
## NotionToolkit.AppendContentToEndOfPage
Append markdown content to the end of a Notion page using either the page's ID or title.
**Parameters**
- **`page_id_or_title`** _(string, required)_ The ID or title of the page to append content to.
- **`content`** _(string, required)_ The markdown content to append to the end of the page.
---
## NotionToolkit.WhoAmI
Get comprehensive user profile and Notion workspace information.
**Parameters**
This tool does not take any parameters.
## Auth
The Arcade Notion MCP Sever uses the [Notion auth provider](/references/auth-providers/notion) to connect to users' Notion accounts.
With the Arcade Cloud Platform, there's nothing to configure. Your users will see `Arcade` as the name of the application that's requesting permission.
With a self-hosted installation of Arcade, you need to [configure the Notion auth provider](/references/auth-providers/notion#configuring-notion-auth) with your own Notion app credentials.