Notion Integration
Manage Notion pages and databases
The Notion integration provides access to manage Notion pages and databases through the Integrate MCP server.
Installation
The Notion integration is included with the SDK:
import { notionIntegration } from "integrate-sdk/server";Setup
1. Create a Notion OAuth App
- Go to Notion Integrations
- Create a new OAuth application
- Configure your redirect URI
- Note your Client ID and Client Secret
2. Configure the Integration on Your Server
Add the Notion integration to your server configuration. The integration automatically reads NOTION_CLIENT_ID and NOTION_CLIENT_SECRET from your environment variables:
import { createMCPServer, notionIntegration } from "integrate-sdk/server";
export const { client: serverClient } = createMCPServer({
apiKey: process.env.INTEGRATE_API_KEY,
integrations: [
notionIntegration({
}),
],
});You can override the environment variables by passing explicit values:
notionIntegration({
clientId: process.env.CUSTOM_NOTION_ID,
clientSecret: process.env.CUSTOM_NOTION_SECRET,
});3. Client-Side Usage
The default client automatically includes all integrations. You can use it directly:
import { client } from "integrate-sdk";
await client.authorize("notion");
const result = await client.notion.search({});
console.log(result);If you're using a custom client, add the integration to the integrations array:
import { createMCPClient, notionIntegration } from "integrate-sdk";
const customClient = createMCPClient({
integrations: [notionIntegration()],
});Configuration Options
Prop
Type
Tools
notion_search
Search for pages and databases in Notion
Prop
Type
notion_get_page
Retrieve a Notion page by ID
Prop
Type
notion_create_page
Create a new page under a page or database parent
Prop
Type
notion_update_page
Update a page's properties, icon, cover, or archive status
Prop
Type
notion_get_page_property
Get a specific property value from a page with pagination support
Prop
Type
notion_get_database
Get a database by ID including its schema
Prop
Type
notion_query_database
Query a database with filters, sorts, and pagination
Prop
Type
notion_create_database
Create a new database under a parent page
Prop
Type
notion_update_database
Update a database's title, description, properties, or archive status
Prop
Type
notion_get_block
Get a block by ID
Prop
Type
notion_get_block_children
Get child blocks of a block with pagination
Prop
Type
notion_append_blocks
Append child blocks to a parent block
Prop
Type
notion_update_block
Update a block's content
Prop
Type
notion_delete_block
Delete (archive) a block
Prop
Type
notion_get_user
Get a user by ID
Prop
Type
notion_get_current_user
Get the bot user associated with the current token
No parameters.
notion_list_users
List workspace users with pagination
Prop
Type
notion_create_comment
Create a comment on a page or reply to a discussion
Prop
Type
notion_list_comments
List comments on a block or page
Prop
Type
notion_move_page
Move a page to a new parent page or data source
Prop
Type
notion_create_file_upload
Create a Notion file upload. Use mode "external_url" to import from a URL,
Prop
Type
notion_send_file_upload
Send file content for a Notion file upload (single_part mode).
Prop
Type
notion_complete_file_upload
Complete a Notion file upload after sending content
Prop
Type
notion_get_file_upload
Get the status of a Notion file upload
Prop
Type
notion_create_data_source
Create a new Notion data source under a parent page
Prop
Type
notion_get_data_source
Get a Notion data source by its ID
Prop
Type
notion_update_data_source
Update a Notion data source's title, description, properties, or status
Prop
Type
notion_query_data_source
Query a Notion data source with optional filters, sorts, and pagination
Prop
Type
Notes
- Category: Productivity
- Authentication mode: OAuth