- Home
- MCP servers
- Notion
Notion
- javascript
1
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"emmanuelsystems-mcpnotionslack": {
"command": "node",
"args": [
"C:\\path\\to\\notion-mcp-server\\server.js"
],
"env": {
"NOTION_API_KEY": "your_notion_api_key_here"
}
}
}
}You can run a lightweight MCP server that connects Claude or other AI assistants to your Notion workspace. It lets the AI view, search, and manage your Notion databases, pages, and blocks, enabling powerful automation and content workflows.
How to use
You interact with the Notion MCP Server through your MCP client setup. After you configure the local MCP server, you start it from your client environment and point your client (such as Claude Desktop) at the local server so the AI can access your Notion workspace. Use practical prompts like asking the AI to list databases, create a page in a database, or update a page block. The server handles authentication with your Notion API key and enforces per-page or per-database access permissions.
How to install
Prerequisites: Node.js (version 14 or higher), a Notion account, and Claude Desktop if you plan to use Claude.
-
Obtain your Notion API key by creating an integration and copying the internal integration token starting with secret_.
-
Install the MCP server dependencies locally. Open a terminal and run the following commands sequentially.
npm install
Connecting Claude Desktop to the MCP server
Create or edit Claude Desktop’s configuration so it can launch the MCP server as a local process. The configuration wires the server script to the Notion API key you generated.
{
"mcpServers": {
"notion": {
"command": "node",
"args": [
"C:\\path\\to\\notion-mcp-server\\server.js"
],
"env": {
"NOTION_API_KEY": "your_notion_api_key_here"
}
}
}
}
Testing the connection
Open Claude and start a new conversation. Prompt Claude to interact with your Notion workspace, for example: “Show me a list of my Notion databases” or “Create a new page in my Tasks database with title ‘Test Task’.” The MCP server should respond by performing the requested Notion actions through your configured integration.
Security and access control
Notion requires explicit access sharing. Make sure to grant access to the integration on each page or database you want the AI to access. Keep your Notion API key secret and rotate it if you suspect it has been compromised.
Troubleshooting
Common issues include connection failures, access denial, or the server not starting. Verify that the Claude Desktop configuration points to the correct server path, that the Notion API key is valid, and that Node.js is installed correctly. If access is denied, recheck that you’ve shared the pages/databases with the integration and that the API key has the necessary permissions.
Testing and development notes
During setup, ensure you copy the exact content for the Claude Desktop config and restart Claude after saving your changes. When you modify Notion access, revalidate the integration’s permissions for each page or database you want to use.
Notes on environment and tests
The server uses a Notion API key for authentication and can be launched as a local process from Claude Desktop. Use npm to install dependencies and run the server script with Node. If you plan to run automated tests, simulate Notion responses and verify that database queries and page updates are executed as expected.
Available tools
list-databases
List all databases you have access to in your Notion workspace.
query-database
Retrieve entries from a specified database using query filters.
create-page
Create a new page within a chosen database or page.”
update-page
Update the content or properties of an existing page.
create-database
Create a new database within your Notion workspace.
update-database
Modify the structure or properties of an existing database.
get-page
Fetch the contents of a specific page.
get-block-children
View the content blocks within a page.
append-block-children
Add content to a page by appending blocks.
update-block
Edit content blocks to modify page content.
get-block
Retrieve a specific content block.
search
Find content across your Notion workspace.