# notion-mcp-server

> MCP Server

Notion MCP Server is a Model Context Protocol server that allows AI assistants to interact with Notion's API for reading, creating, and modifying content through natural language. Database support is available.

## Overview

- **Category:** Productivity
- **Language:** TypeScript
- **Stars:** 166
- **Forks:** 6
- **Owner:** awkoy
- **GitHub:** https://github.com/awkoy/notion-mcp-server
- **Created:** 2025-03-18T23:06:41+00:00
- **Updated:** 2025-03-28T19:06:42+00:00
- **Source:** https://model-context-protocol.com/servers/notion-ai-assistant-model-context-server

## Setup

## Setup

1. **Obtain a Notion API Key**: Create an integration at [Notion Developers](https://www.notion.so/my-integrations) and copy your API key.
2. **Enable Integration for Your Pages**: Select a page in Notion, click the "..." menu, go to "Connections", and enable your integration.
3. **Choose Your Integration Method**: Follow one of the integration options for Cursor or Claude Desktop.
4. **Ask Your AI Assistant to Interact with Notion**: Use natural language to interact with Notion.

## Tools

## Available Tools

1. **Notion Integration** - Interact with Notion databases, pages, and blocks.
2. **Universal MCP Compatibility** - Works with all MCP clients including Cursor, Claude Desktop, Cline, and Zed.
3. **Data Retrieval** - Fetch information from Notion pages, blocks, and databases.
4. **Content Creation** - Create and update Notion pages and blocks.
5. **Block Management** - Append, update, and delete blocks within Notion pages.
6. **Database Operations** - Create, query, and update databases.
7. **Batch Operations** - Perform multiple operations in a single request.
8. **Archive & Restore** - Archive and restore Notion pages.
9. **Search Functionality** - Search Notion pages and databases by title.

#### Page Operations

*   `create_page` - Create a new page in Notion with specified content
*   `update_page_properties` - Update the properties of an existing Notion page
*   `archive_page` - Archive (move to trash) a Notion page by ID
*   `restore_page` - Restore a previously archived Notion page by ID
*   `search_pages` - Search for pages and databases in Notion by title

#### Database Operations

*   `create_database` - Create a new database in Notion with specified properties
*   `query_database` - Query a database in Notion with filters, sorts, and pagination
*   `update_database` - Update an existing database's properties, title, or description

#### Block Operations

*   `retrieve_block` - Retrieve a block from Notion by ID
*   `retrieve_block_children` - Retrieve the children of a block from Notion
*   `append_block_children` - Append child blocks to a parent block in Notion
*   `update_block` - Update a block's content in Notion
*   `delete_block` - Delete (move to trash) a block in Notion

#### Batch Operations

*   `batch_append_block_children` - Append children to multiple blocks in a single operation
*   `batch_update_blocks` - Update multiple blocks in a single operation
*   `batch_delete_blocks` - Delete multiple blocks in a single operation
*   `batch_mixed_operations` - Perform a mix of append, update, and delete operations in a single request
