- Home
- MCP servers
- Notion
Notion
- javascript
0
GitHub Stars
javascript
Language
7 months ago
First Indexed
3 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": {
"mcp-mirror-suekou_mcp-notion-server": {
"command": "npx",
"args": [
"-y",
"@suekou/mcp-notion-server"
],
"env": {
"NOTION_API_TOKEN": "your-integration-token"
}
}
}
}The Notion MCP Server lets you interact with Notion workspaces through an MCP client. It enables you to perform actions like reading content, updating pages, querying databases, and managing blocks and comments from your Notion workspace in a centralized, programmable way.
How to use
You will run an MCP client that talks to the Notion MCP Server. The server exposes a set of operations that map to Notion actions such as creating, updating, or retrieving pages, databases, blocks, and comments. Authenticate by supplying your Notion integration token, and direct requests through the MCP client using the server’s tool endpoints. Use this setup to automate Notion workflows, build chat-assisted Notion dashboards, or synchronize Notion data with other systems.
Typical usage patterns include creating database items, updating page properties, retrieving blocks and their children, and searching pages or databases by title. Each operation requires the appropriate input fields described for that tool, such as IDs for blocks, pages, or databases, and the necessary content or property objects. Your client will provide these inputs and receive structured results that reflect the current state of your Notion workspace.
How to install
Prerequisites you must have installed on your machine:
-
Node.js (recommended latest LTS) or a compatible runtime for running JavaScript. Ensure node is available in your PATH.
-
npm or yarn for managing packages if you choose to install via package managers.
Install and configure the Notion MCP Server through one of the provided runtime options. The instructions assume you will use one of the two CLI approaches shown for starting the server.
// Option A: Run via npx from the npm registry
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@suekou/mcp-notion-server"],
"env": {
"NOTION_API_TOKEN": "your-integration-token"
}
}
}
}
// Option B: Run from a built local file with node
{
"mcpServers": {
"notion": {
"command": "node",
"args": ["your-built-file-path"],
"env": {
"NOTION_API_TOKEN": "your-integration-token"
}
}
}
}
Additional sections
Configuration notes: Provide the Notion integration token to authorize access to your workspace. The token is supplied as an environment variable named NOTION_API_TOKEN in the server configuration.
Security: Treat your Notion integration token as a secret. Do not commit it to public repositories. Use environment variables or secret management features in your deployment environment.
Troubleshooting: If you encounter permission issues, ensure the integration has the required permissions, is invited to the relevant pages or databases, and that the token and configuration are correctly set in your MCP config.
Notes: The server exposes a variety of tools to interact with Notion resources, such as blocks, pages, databases, and comments. Use the corresponding tool names and required inputs to perform the desired actions.
Available tools
notion_append_block_children
Append child blocks to a parent block. Required inputs: block_id (string), children (array). Returns information about the appended blocks.
notion_retrieve_block
Retrieve information about a specific block. Required input: block_id (string). Returns detailed information about the block.
notion_retrieve_block_children
Retrieve the children of a specific block. Required input: block_id (string). Optional inputs: start_cursor (string), page_size (number). Returns a list of child blocks.
notion_delete_block
Delete a specific block. Required input: block_id (string). Returns confirmation of deletion.
notion_retrieve_page
Retrieve information about a specific page. Required input: page_id (string). Returns detailed information about the page.
notion_update_page_properties
Update properties of a page. Required inputs: page_id (string), properties (object). Returns information about the updated page.
notion_create_database
Create a new database. Required inputs: parent (object), title (array), properties (object). Returns information about the created database.
notion_query_database
Query a database. Required input: database_id (string). Optional inputs: filter (object), sorts (array), start_cursor (string), page_size (number). Returns a list of results.
notion_retrieve_database
Retrieve information about a specific database. Required input: database_id (string). Returns detailed information about the database.
notion_update_database
Update information about a database. Required input: database_id (string). Optional inputs: title (array), description (array), properties (object). Returns information about the updated database.
notion_create_database_item
Create a new item in a Notion database. Required inputs: database_id (string), properties (object). Returns information about the newly created item.
notion_search
Search pages or databases by title. Optional inputs: query (string), filter (object), sort (object), start_cursor (string), page_size (number). Returns a list of matching pages or databases.
notion_list_all_users
List all users in the Notion workspace. Note: may require Notion Enterprise plan. Optional inputs: start_cursor, page_size. Returns a paginated list of users.
notion_retrieve_user
Retrieve a specific user by user_id in Notion. Note: may require Notion Enterprise plan. Required input: user_id (string). Returns detailed information about the user.
notion_retrieve_bot_user
Retrieve the bot user associated with the current token in Notion. Returns information about the bot user.
notion_create_comment
Create a comment in Notion. Requires insert comment capability. Inputs: rich_text (array). Optional: parent (object with page_id) or discussion_id. Returns information about the created comment.
notion_retrieve_comments
Retrieve a list of unresolved comments from a Notion page or block. Requires read comment capability. Required input: block_id (string). Optional: start_cursor, page_size. Returns a paginated list of comments.