Notion Mcp Server avatar
Notion Mcp Server

Pricing

Pay per usage

Go to Apify Store
Notion Mcp Server

Notion Mcp Server

MCP Server for Notion API. AI agents can search, create, and manage pages, databases, blocks, and comments. 20 operations with full CRUD. Supports pagination and batch queries.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Quadruped

Quadruped

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Connect AI agents (Claude, GPT, etc.) to your Notion workspace. Search, create, and manage pages, databases, blocks, and comments through 20 API operations.

Quick Start

Try it now (no setup required)

{
"operation": "demo"
}

This runs a demo to verify the actor works and shows available operations.

Use with your Notion workspace

{
"notionToken": "ntn_your_token_here",
"operation": "search",
"query": "Meeting Notes"
}

What is this?

MCP (Model Context Protocol) is a standard for connecting AI assistants to external tools and data. This actor wraps the Notion API as an MCP-compatible server, allowing AI agents to:

  • Search your Notion workspace
  • Read and create pages
  • Query and update databases
  • Add comments and blocks

Setup (5 minutes)

Step 1: Create a Notion Integration

  1. Go to notion.so/profile/integrations
  2. Click "New integration"
  3. Name it (e.g., "Apify MCP")
  4. Copy the Internal Integration Token (starts with ntn_)

Step 2: Share Pages with Your Integration

For each page/database you want to access:

  1. Open the page in Notion
  2. Click "..." menu → "Connections"
  3. Select your integration

Step 3: Run the Actor

{
"notionToken": "ntn_your_token",
"operation": "search",
"query": "your search term"
}

Operations

OperationWhat it doesRequired inputs
demoTest without tokennone
searchFind pages/databasesquery
get_pageGet page detailspageId
create_pageCreate new pageparentPageId or parentDatabaseId, title
update_pageUpdate pagepageId
archive_pageArchive pagepageId
get_databaseGet database schemadatabaseId
query_databaseQuery database rowsdatabaseId
create_databaseCreate databaseparentPageId, title
get_blockGet block contentblockId
get_block_childrenGet child blocksblockId
append_block_childrenAdd blocksblockId, children
get_commentsGet commentsblockId
create_commentAdd commentpageId, richText
list_usersList workspace usersnone
get_bot_userGet integration infonone

Examples

Search for pages

{
"notionToken": "ntn_xxx",
"operation": "search",
"query": "Project Plan"
}

Get a specific page

{
"notionToken": "ntn_xxx",
"operation": "get_page",
"pageId": "https://notion.so/My-Page-abc123def456..."
}

You can use the full Notion URL or just the page ID.

Query a database

{
"notionToken": "ntn_xxx",
"operation": "query_database",
"databaseId": "abc123...",
"filter": "{\"property\":\"Status\",\"select\":{\"equals\":\"Done\"}}"
}

Create a page with content

{
"notionToken": "ntn_xxx",
"operation": "create_page",
"parentPageId": "parent-id",
"title": "New Page",
"children": "[{\"object\":\"block\",\"type\":\"paragraph\",\"paragraph\":{\"rich_text\":[{\"type\":\"text\",\"text\":{\"content\":\"Hello world!\"}}]}}]"
}

Output Format

All operations return:

{
"operation": "search",
"success": true,
"objectType": "search_results",
"content": [...],
"resultCount": 10,
"processedAt": "2024-12-21T..."
}

Errors return:

{
"operation": "get_page",
"success": false,
"error": "[object_not_found] Could not find page",
"errorCode": "object_not_found"
}

Common Issues

"API token is invalid"

  • Check your token starts with ntn_ or secret_
  • Regenerate the token at notion.so/profile/integrations

"Could not find object"

  • The integration doesn't have access to that page
  • Go to the page → "..." → "Connections" → Add your integration

Rate limiting

  • Notion allows 3 requests/second
  • Use pagination for large datasets

Resources