home / mcp / notion mcp server
Provides Notion access to an MCP client, enabling search, create, update, and query actions across Notion content.
Configuration
View docs{
"mcpServers": {
"ampcome-mcps-notion-mcp": {
"command": "uvx",
"args": [
"git+https://github.com/ampcome-mcps/notion-mcp.git"
],
"env": {
"NOTION_TOKEN": "secret_token",
"NANGO_BASE_URL": "https://api.nango.dev",
"NANGO_SECRET_KEY": "your_nango_secret_key_here",
"NANGO_CONNECTION_ID": "your_connection_id_here",
"NANGO_INTEGRATION_ID": "notion"
}
}
}
}You can connect Claude to your Notion workspace with this MCP server, enabling natural language search, creation, and management of Notion content through conversations. This server bridges your AI assistant with Notion so you can interact with pages, databases, and blocks without leaving your chat.
Once you have configured an MCP client, you can have natural conversations that perform Notion actions. You can search across pages and databases, create new content, update existing pages, and query databases with filters. Use everyday language like “Find pages about project planning,” “Create a task in my tasks database,” or “Update the status of this page.” The MCP server handles the translation from your chat prompts into Notion API calls and returns results you can act on in the chat.
Prerequisites you need on your machine before starting:
Step by step setup and start flow you can follow to get the MCP server running:
Create and share a Notion integration, configure OAuth with Nango, and wire up Claude Desktop with the MCP server configuration. Then run the server, verify the connection, and begin issuing natural language commands to manage Notion content.
Notion setup involves creating an integration, sharing pages with that integration, and obtaining an integration token. Then configure Nango for OAuth to securely bridge Notion with the MCP server and retrieve the necessary credentials.
Create a .env file with your credentials to enable OAuth and integration access. Include NANGO_BASE_URL, NANGO_SECRET_KEY, NANGO_CONNECTION_ID, and NANGO_INTEGRATION_ID. If you are not using Nango, you can provide a direct Notion token in NOTION_TOKEN.
Add the MCP configuration to Claude Desktop so it can communicate with the server. Place the configuration in the appropriate claude_desktop_config.json file for your operating system.
Start the server and verify the connection. You should be able to issue commands in Claude and see results reflect in Notion.
If authentication fails, verify your Nango credentials and integration setup. If pages aren’t accessible, ensure pages are shared with the Notion integration and the integration has the correct read/write capabilities. If Claude cannot reach the server, check the path in the Claude Desktop config and ensure Python is in your system PATH. For token or OAuth issues, refresh your Nango integration and recheck the connection ID.
Keep your .env file private and never commit it to version control. Treat your Notion integration access as sensitive and limit permissions to what is necessary for your MCP server to function. Regularly review Notion integration access and Nango credentials.
The MCP server project typically includes core server code and configuration files. Keep credentials and environment-specific settings in a protected .env file and avoid exposing them in shared environments.
Check logs for error messages, verify permissions for the Notion integration, test the server manually, and confirm Notion API status if you encounter issues.
With the MCP server up, you can build more complex database queries, automate content creation workflows, and leverage Claude to help organize and restructure your Notion workspace.
Search across all Notion pages and databases and return matching results
Retrieve structure and properties of a Notion database
Run filtered queries on a database to fetch matching records
Create a new database with specified properties and structure
Fetch the content and properties of a Notion page
Create a new page in a Notion database with given content and properties
Update content or properties on an existing Notion page
Read the content blocks within a Notion page
Append content blocks to an existing Notion page
Fetch information about the connected Notion integration and user