Skip to content
Agentmart
Submit a tool

Better Notion MCP

Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

Connector by n24q02m · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)★ 35
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/n24q02m-better-notion-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Markdown-first MCP server for Notion API with 8 composite tools and 39 actions.

Use cases: note-taking

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
4 read · 7 write · 0 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 11

Read from the source code; the running server may list different tools.

Read 4 · Look things up without changing anything.

  • content_convert
  • help
  • users
  • workspace

Write 7 · Create, change, send or run things.

  • blocks
  • comments
  • config
  • config__open_relay
  • databases
  • file_uploads
  • pages

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • NOTION_TOKEN

Network hosts it talks to 7

  • api.notion.com · found in code
  • biomejs.dev · found in code
  • github.com · found in code
  • glama.ai · found in code
  • mcp.n24q02m.com · found in code
  • notion.so · found in code
  • status.notion.so · found in code

Files it touches

  • Any path the agent passes to its tools

Tools (11)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • blocksBlocks

    Read and modify block-level content within pages. Actions (required params -> optional): - get (block_id): retrieve single block - children (block_id): list child blocks - append (block_id, content -> position, after_block_id): add markdown content at position - update (block_id, content): replace text block content - delete (block_id): remove block Use `pages` for page metadata/properties. Page IDs are valid block IDs. update only works on text blocks (paragraph, headings, lists, quote, to_do, code). Image/file blocks contain signed URLs (1h expiry). append supports position: "start" (prepe…

  • commentsComments

    Manage page comments. Actions (required params -> optional): - list (page_id): all comments on a page - get (comment_id): single comment - create (content -> page_id for new discussion, discussion_id for reply)

  • configConfig

    Manage server configuration and credential state. Actions: - status: current credential state, token source, setup URL - setup_status: credential/setup state only (alias-equivalent to status for notion; kept for cross-server parity) - setup_start (-> force): trigger relay setup to configure Notion token via browser - setup_reset: clear credentials and config, return to awaiting_setup - setup_complete: re-check credentials after external config changes - set: update a runtime setting (notion has no mutable settings; returns info) - cache_clear: clear any cached state (no-op for notion)

  • config__open_relayOpen Relay

    Open the relay configuration form for better-notion-mcp in the user browser. Returns the relay URL, whether the browser launched, and the current credential state.

  • content_convertContent Convertread-only

    Convert between markdown and Notion block JSON. Directions: markdown-to-blocks (input: markdown string), blocks-to-markdown (input: JSON array of Notion blocks or JSON string). Most tools (pages, blocks) handle markdown automatically -- use this only for preview/validation. Supported markdown: headings, lists, to-do, code blocks, blockquotes, dividers, callouts (> [!NOTE]), toggles (<details>), tables, images, bookmarks, embeds, equations ($$), columns (:::columns), [toc], [breadcrumb]. Inline: **bold**, *italic*, `code`, ~~strike~~, [link](url).

  • databasesDatabases

    Database schema, query, and bulk row operations. Actions (required params -> optional): - create (parent_id -> title, properties, is_inline, icon, cover) - get (database_id) - query (database_id -> filters, sorts, limit, search) - create_page (database_id, pages[{properties}]) - update_page (database_id, page_id, page_properties) - delete_page (database_id, page_ids) - create_data_source / update_data_source / update_database / list_templates Use `pages` instead for single page CRUD. Accepts both database_id (from URL) and data_source_id (from workspace search) -- auto-resolved.

  • file_uploadsFile Uploads

    Upload files to Notion. Actions (required params -> optional): - create (filename -> content_type, mode="single"|"multi_part", number_of_parts) - send (file_upload_id, file_content -> part_number): base64-encoded content - complete (file_upload_id) - retrieve (file_upload_id) - list (-> limit) Max 20MB direct, multi-part for larger files.

  • helpHelpread-only

    Get full documentation for a tool. Use when compressed descriptions are insufficient.

  • pagesPages

    Page CRUD for individual pages and database rows. Actions (required params -> optional): - create (parent_id -> title, content, properties, icon, cover) - get (page_id -> content_limit, content_cursor): returns markdown content; bounded reads return content_truncated and next_cursor - get_property (page_id, property_id) - update (page_id -> title, content, append_content, properties, icon, cover, archived) - move (page_id, parent_id) - archive (page_id) / restore (page_id) - duplicate (page_id -> parent_id) Use `databases` instead for querying or bulk row operations. Property format: simple …

  • usersUsersread-only

    Get user information. Actions (required params): - list: all workspace users (requires admin permissions) - get (user_id): single user info - me: current bot/integration user - from_workspace: extract users from accessible pages (use if list fails)

  • workspaceWorkspaceread-only

    Search workspace and get workspace info. Actions (required params -> optional): - info: workspace name, plan, and bot user - search (-> query, filter.object="page"|"data_source", sort, limit): find pages/databases shared with integration

Signals

Stars
35
Forks
11
Open issues
1
Contributors
10
Weekly downloads
192
Last commit
Oct 11, 2026 (17 days ago)
Last release
Sep 13, 2026 (1 month ago)
Last package publish
Sep 13, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.n24q02m/better-notion-mcp
Version
2.41.6
Auth
API key
Packages
npm @n24q02m/better-notion-mcpoci docker.io/n24q02m/better-notion-mcp:latest
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from n24q02m

Cite this page

Better Notion MCP. Agent Mart. https://agentmart.dev/connectors/n24q02m-better-notion-mcp (last updated 2026-10-24)