notion mcp server
**Notion MCP Server** is a MCP server implementation that enables AI assistants to interact with Notion's API.
**Notion MCP Server** is a MCP server implementation that enables AI assistants to interact with Notion's API.
Notion MCP Server is a Model Context Protocol (MCP) server implementation that enables AI assistants to interact with Notion's API. This production-ready server provides a complete set of tools and endpoints for reading, creating, and modifying Notion content through natural language interactions.
? Active Development: Database support is now available! Comments and user management tools have been added. If you find this project useful, please consider giving it a star - it helps me know that this work is valuable to the community and motivates further development.
Copy your API key
Enable Integration for Your Pages

Follow one of the integration options below based on your preferred MCP client
Ask Your AI Assistant to Interact with Notion
.cursor/mcp.json file in your project directory:{
"mcpServers": {
"notion-mcp-server": {
"command": "env NOTION_TOKEN=YOUR_KEY NOTION_PAGE_ID=YOUR_PAGE_ID npx",
"args": ["-y", "notion-mcp-server"]
}
}
}
YOUR_KEY and YOUR_PAGE_ID with your actual Notion API key and page IDenv NOTION_TOKEN=YOUR_KEY NOTION_PAGE_ID=YOUR_PAGE_ID npx -y notion-mcp-server
YOUR_KEY and YOUR_PAGE_ID with your actual Notion API key and page IDmcp.json file in your configuration directory:{
"mcpServers": {
"notion-mcp-server": {
"command": "npx",
"args": ["-y", "notion-mcp-server"],
"env": {
"NOTION_TOKEN": "YOUR_KEY",
"NOTION_PAGE_ID": "YOUR_PAGE_ID"
}
}
}
}
YOUR_KEY and YOUR_PAGE_ID with your actual Notion API key and page IDThe server provides the following tools for interacting with Notion:
create_pageCreate a new page in Notion with specified content
update_page_propertiesUpdate the properties of an existing Notion page
archive_pageArchive (move to trash) a Notion page by ID
restore_pageRestore a previously archived Notion page by ID
search_pagesSearch for pages and databases in Notion by title
create_databaseCreate a new database in Notion with specified properties
query_databaseQuery a database in Notion with filters, sorts, and pagination
update_databaseUpdate an existing database's properties, title, or description
retrieve_blockRetrieve a block from Notion by ID
retrieve_block_childrenRetrieve the children of a block from Notion
append_block_childrenAppend child blocks to a parent block in Notion
update_blockUpdate a block's content in Notion
delete_blockDelete (move to trash) a block in Notion
batch_append_block_childrenAppend children to multiple blocks in a single operation
batch_update_blocksUpdate multiple blocks in a single operation
batch_delete_blocksDelete multiple blocks in a single operation
batch_mixed_operationsPerform a mix of append, update, and delete operations in a single request
get_commentsRetrieve comments from a page or block with pagination support
add_page_commentAdd a new comment to a Notion page
add_discussion_commentAdd a comment to an existing discussion thread
get_list_usersRetrieve a paginated list of all users in the workspace
get_userGet detailed information about a specific user by ID
get_bot_userRetrieve the current bot user associated with the API token
The server currently does not expose any resources, focusing instead on tool-based operations.
Clone the Repository
git clone https://github.com/awkoy/notion-mcp-server.git
cd notion-mcp-server
Install Dependencies
npm install
Set Up Environment Variables
Create a .env file with:
NOTION_TOKEN=your_notion_api_key
NOTION_PAGE_ID=your_notion_page_id
Build the Project
npm run build
Run the Inspector
npm run inspector
Rate Limiting: Notion API has rate limits - use batch operations to optimize requests
Getting Help
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.