yihaoWang/notion-mcp-server
If you are the rightful owner of notion-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server that integrates with the Notion API, enabling AI assistants to interact with Notion pages and databases.
Notion MCP Server
A Model Context Protocol (MCP) server that provides integration with the Notion API, allowing AI assistants to interact with Notion pages and databases.
Features
- Search for pages and databases in Notion
- Retrieve page information and content
- Create new pages
- Query databases with filters and sorting
- Full integration with Notion's API capabilities
Setup
1. Install dependencies
npm install
2. Configure Notion API
- Go to https://www.notion.so/my-integrations
- Click "New integration"
- Give it a name (e.g., "MCP Server")
- Select the workspace
- Copy the "Internal Integration Token"
3. Set up environment variables
cp .env.example .env
Edit .env
and add your Notion API key:
NOTION_API_KEY=your_notion_integration_token_here
4. Share pages/databases with your integration
For the integration to access your Notion pages and databases, you need to share them:
- Go to the page or database you want to access
- Click "Share" in the top right
- Click "Invite" and select your integration
Development
# Run in development mode
npm run dev
# Build for production
npm run build
# Run production build
npm start
# Watch mode
npm run watch
Available Tools
search_notion
Search for pages and databases in Notion.
Parameters:
query
(string): Search query
get_page
Get a Notion page by ID.
Parameters:
pageId
(string): Page ID
get_page_content
Get the content/blocks of a Notion page.
Parameters:
pageId
(string): Page ID
create_page
Create a new page in Notion.
Parameters:
title
(string): Page titleparentId
(string, optional): Parent page or database IDcontent
(string, optional): Page content as markdown
query_database
Query a Notion database.
Parameters:
databaseId
(string): Database IDfilter
(object, optional): Filter objectsorts
(array, optional): Sort array
Usage with Claude Desktop
Add this to your Claude Desktop configuration:
{
"mcpServers": {
"notion": {
"command": "node",
"args": ["/path/to/notion-mcp-server/dist/index.js"],
"env": {
"NOTION_API_KEY": "your_notion_integration_token_here"
}
}
}
}
License
MIT