Skip to main content
Glama
atikk-co-jp

notion-mcp-server

by atikk-co-jp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NOTION_TOKENYesYour Notion integration token (starts with ntn_)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
retrieve-pageA

Retrieve a Notion page by its ID. Returns the page properties, metadata, and optionally content (blocks as markdown). Use format='simple' (default) for human-readable output with reduced token usage.

create-pageA

Create a new page in Notion. Specify parent as either page_id (to create a child page) or data_source_id (to create a database entry). Optionally include initial content blocks, icon, and cover image. Returns the created page ID and URL. (API version 2025-09-03)

create-page-simpleB

Create a page with Markdown. Specify parent as either page_id (child page) or data_source_id (database entry). Title is auto-mapped to the title property. # headings, - lists, - [ ] checkboxes, ``` code, > quotes, | tables |, bold, italic, links, toggle, > [!NOTE] callout, $$ equation, [TOC] table of contents.

update-pageA

Update a Notion page's properties, icon, cover, archive status, or lock status. Partial updates are supported - only provide the fields you want to change. Set icon or cover to null to remove them. Set archived to true to move the page to trash. Set is_locked to true to lock the page in the UI. Returns updated page ID and URL.

archive-pageA

Move a page to trash. Recoverable for 30 days via Notion UI. Returns page ID.

retrieve-page-propertyA

Get a property with pagination (for relation/rollup with many items). For simple properties, use retrieve-page instead.

move-pageA

Move a page to a new parent (page or data source). Provide either page_id or data_source_id as the new parent. Returns page ID and URL. (API version 2025-09-03)

create-databaseA

Create a new database as a subpage of an existing Notion page. Requires a parent_page_id and properties object defining the database schema. Each database must have exactly one title property. Returns database ID and URL. (API version 2025-09-03)

update-databaseA

Update a Notion database container. Can modify title, description, icon, cover, inline status, archive status, and lock status. For schema (properties/columns) updates, use update-data-source instead. Returns database ID and URL. (API version 2025-09-03)

archive-databaseA

Move a database to trash. Recoverable for 30 days via Notion UI. Returns database ID.

retrieve-databaseA

Retrieve a database container by its ID. Returns database metadata and associated data sources. Note: In API 2025-09-03, database properties/schema are retrieved via retrieve-data-source using data_source_id. Use format='simple' (default) for reduced token usage, 'json' for full Notion API response.

retrieve-data-sourceA

Retrieve a data source schema by its ID. Returns data source properties (columns) and their types. Use format='simple' (default) for reduced token usage, 'json' for full Notion API response. (API version 2025-09-03)

query-data-sourceA

Query a Notion data source with optional filters and sorts. Returns paginated results. Use format='simple' (default) for human-readable output with reduced token usage. Use fields parameter to limit which properties are returned (simple format only). (API version 2025-09-03)

update-data-sourceA

Update a data source schema (properties/columns). Use this to add, update, or delete properties. Set a property to null to delete it. Returns data source ID. (API version 2025-09-03)

searchA

Search across all pages and data sources in the workspace by title and content. Filter results by type (page or data_source) and sort by last edited time. Returns paginated results. Use format='simple' (default) for human-readable output with reduced token usage. Use fields parameter to limit which properties are returned (simple format only). For querying a specific data source with filters, use query-data-source instead. (API version 2025-09-03)

get-block-childrenA

Retrieve the children blocks of a block or page. Returns paginated results. Use format='markdown' (default) for human-readable output with significantly reduced token usage.

append-block-childrenA

Append new blocks as children to a block or page. Supports all block types: paragraph, headings, lists, code, images, etc. Returns the created block IDs. Use the "after" parameter to insert blocks at a specific position.

append-blocks-simpleA

Append blocks to a page using Markdown. Simpler than append-block-children: just provide markdown text. Markdown: # headings, - lists, - [ ] checkboxes, ``` code, > quotes, | tables |, images, bold, italic, strike, code, links. Extended: toggle, > [!NOTE/WARNING/TIP/IMPORTANT/CAUTION] callout, $$ equation, /++ underline, {color:x}{/color}, {bg:x}{/bg}, bookmark, :::columns, @embed/video/audio/file/pdf, [TOC] table of contents. Returns created block IDs.

retrieve-blockA

Retrieve a single block by its ID. Returns block content and metadata. Use format='markdown' (default) for human-readable output, 'json' for full Notion API response.

update-blockA

Update a block by its ID. Provide the block type and its properties. Example: { "paragraph": { "rich_text": [{ "text": { "content": "Updated text" } }] } }. Set archived to true to move the block to trash. Returns updated block ID.

update-block-simpleA

Update a text block using Markdown. Simpler than update-block: just provide markdown text. Supports inline formatting: bold, italic, strikethrough, code, links. Only works with text-based blocks: paragraph, headings, lists, to_do, quote, callout, toggle. Requires block_id. If you want to update by text search, use find-and-replace-in-page. For full page rewrite, use replace-page-content.

delete-blockA

Delete a block by its ID. The block will be archived (moved to trash). Returns deleted block ID.

delete-blocks-batchA

Delete multiple blocks by their IDs. Use this when you want to delete specific blocks. For deleting all content from a page, use clear-page-content instead. Blocks are deleted sequentially to respect API rate limits (3 req/s). Returns summary of deleted and failed blocks.

clear-page-contentA

Delete all content from a page. By default, preserves child_database and child_page blocks. Use preserve_types=[] to delete everything. For deleting specific blocks, use delete-blocks-batch instead. Blocks are deleted sequentially to respect API rate limits (3 req/s). Returns count of deleted blocks.

replace-page-contentA

Replace all page content with Markdown. Preserves child_database/child_page only. WARNING: Non-Markdown blocks (bookmark, callout, equation, etc.) will be DELETED. Use dry_run: true to preview deletions. For partial updates, use find-and-replace-in-page.

find-and-replace-in-pageA

Find text in a page and replace it with new content. Supports regex patterns (use_regex: true) for advanced matching (e.g., "item\d+" matches item1, item2). All matching blocks will be updated. Replacement text supports Markdown formatting: bold, italic, strikethrough, code, links. Only works with text-based blocks: paragraph, headings, lists, to_do, quote, callout, toggle. Use this for partial updates. For full page rewrite, use replace-page-content instead.

create-commentA

Add a comment to a Notion page. Creates a new discussion or adds to an existing one. Comments support rich text formatting (bold, italic, links, etc.). Use discussion_id to reply to an existing comment thread. Returns the created comment ID.

create-comment-simpleA

Add a comment using Markdown. Simpler than create-comment. Returns comment ID.

list-commentsA

List comments on a page or block. Either block_id or page_id must be provided. Returns a paginated list of comments with their content and metadata.

list-usersA

List all users in the workspace. Returns paginated list of users with their IDs, names, and types (person or bot).

retrieve-userA

Retrieve a user by their ID. Returns user information including name, avatar, and type (person or bot).

retrieve-bot-userA

Retrieve information about the current bot user (the integration). Returns the bot ID, name, avatar, and owner information.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/atikk-co-jp/notion-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server