home / mcp / notion mcp server
Notion MCP Server enables LLMs to access Notion workspaces with optional Markdown conversion to save tokens.
Configuration
View docs{
"mcpServers": {
"suekou-mcp-notion-server": {
"command": "npx",
"args": [
"-y",
"@suekou/mcp-notion-server"
],
"env": {
"NOTION_API_TOKEN": "your-integration-token",
"NOTION_MARKDOWN_CONVERSION": "true"
}
}
}
}This MCP Server enables your Notion workspace to be queried and manipulated by a large language model, while also providing optional Markdown conversion to reduce context size and improve token efficiency during conversations.
You will run the MCP Server alongside your Claude Desktop or other MCP client to access Notion data inside your workflows. The server exposes a set of tools that let you retrieve, update, search, and manage Notion pages, databases, blocks, comments, and more. You can choose between running the server locally (stdio) or connecting to a remote MCP instance (http) if your setup provides a URL. Use the markdown conversion option to make responses easier to read when you are viewing content, with the trade-off that editing content may lose some structural fidelity.
Configure your MCP client to start the Notion MCP Server. You have two explicit ways shown to run the server locally via a command line tool or as a node-based process. In both cases you must provide your Notion integration token as an environment variable.
Use this start configuration to run the Notion MCP Server with npx. This runs directly from the npm registry without building a local bundle.
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@suekou/mcp-notion-server"],
"env": {
"NOTION_API_TOKEN": "your-integration-token"
}
}
}
}If you prefer to run a built local file, use node to execute the prepared bundle and pass the path to the entry file.
{
"mcpServers": {
"notion": {
"command": "node",
"args": ["your-built-file-path"],
"env": {
"NOTION_API_TOKEN": "your-integration-token"
}
}
}
}Append child blocks to a parent block by providing the block_id and the list of new blocks to add.
Retrieve detailed information about a specific block using its block_id.
Get the children of a block, with optional pagination controls start_cursor and page_size.
Delete a specific block identified by block_id and return a deletion confirmation.
Retrieve detailed information about a page using its page_id.
Update properties of a page by supplying the page_id and the new properties object.
Create a new database with a given parent and properties, with an optional title.
Query a database by its database_id with optional filters, sorts, and pagination.
Retrieve detailed information about a database by its database_id.
Update database information, including title, description, and properties.
Create a new item in a Notion database by providing the database_id and item properties.
Search pages or databases by title with optional filters, sorts, and pagination.
List all users in the Notion workspace (note: enterprise plan required for full access).
Retrieve a specific user by user_id in Notion.
Retrieve information about the bot user associated with the current token.
Create a comment in Notion with rich_text content and optional parent or discussion context.
Retrieve unresolved comments from a Notion page or block with optional pagination.