Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/easy-notion/issues.md or /mcp/easy-notion/issues.json, or Pod over MCP.

Reported issues for easy-notion

Pod holds 15 of 15 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to easy-notion.

Most discussed

feat: table-aware find_replace (two-pass) + new update_table_row tool

Two related additions that make find_replace work on Notion table content, which it currently cannot reach, plus a new surgical tool for table cell edits.


Problem 1: find_replace silently fails on table cell content

find_replace uses notion.pages.retrieveMarkdown() for its preflight match count. Notion's markdown API does not expose table cell content — table blocks are omitted from its output entirely. Any find string that lives inside a table cell returns match_count: 0 and

Read the thread · 2026-06-19 · open · outside contributor · 4 comments

fix: null guards for countOccurrences, findSectionRange, markdownToBlocks, markdownToEnhanced, findToggle

Five related crash sites where undefined args cause unhandled TypeError exceptions. All five were hit in production with real Notion pages. The fixes are minimal one-liners; no behaviour changes for well-formed calls.

Crashes fixed

1. countOccurrencestext or find is undefined

find_replace on a page containing a divider block causes the Notion markdown API to return undefined for current.markdown. countOccurrences(undefined, find) then throws `TypeError: Cannot rea

Read the thread · 2026-06-19 · closed · outside contributor · 2 comments

easy-notion-mcp-http exits immediately when launched via npx/bunx bin

Describe the bug

easy-notion-mcp-http exits immediately when launched via the published package bin (bunx -p easy-notion-mcp easy-notion-mcp-http) instead of starting the HTTP server.

Expected: the HTTP server starts and keeps running, as described in the README for npx easy-notion-mcp-http.

Actual: the process exits

Read the thread · 2026-04-28 · closed · external user · 6 comments

find_replace times out on multi-paragraph swaps over ~63KB pages

What happens

find_replace calls that swap multi-paragraph text on a page past ~63KB time out. Single-line edits on the same page succeed.

Where we hit it

Kit's Scripts page in Notion — a long single page with many script toggles. As scripts accumulate, page size grows; once it crosses the threshold, multi-paragraph find_replace operations time out reliably.

Workaround

Splitting multi-paragraph swaps into per-line operations. Functional but slow and fragile.

Looking for

A f

Read the thread · 2026-04-28 · open · external user · 5 comments

Add toggle-as-first-class-anchor family of tools

Context

Our use case (Kit's TikTok scriptwriting workflow) treats Notion toggles on a single Scripts page as the primary script container — each script is a toggle, and the page contains the full set. This makes the toggle the natural unit of read/edit/search, but the current API treats blocks generically, requiring multi-step navigation to operate on a named toggle.

The result: simple operations ("read this script", "rewrite that script") require fetching the whole page, locating the t

Read the thread · 2026-04-28 · closed · external user · 3 comments

Add cli + skill to avoid context bloat of mcp

What problem does this solve?

Currently the MCP adds more weight to the context. if i want to add multiple notion integrations--like read-only access, read and write access, and maybe personal read-only access with multiple API keys--it would be better to have a skill handle for that.

Proposed solution

Exposing the CLI plus a lightweight skill would work wonders.

Alternatives considered

Would you like to submit a PR for this?

Yes

Read the thread · 2026-04-27 · closed · external user · 3 comments

Callout syntax: inline content renders as quote block, not callout

Description

The tool description for notion:create_page documents callout syntax as > [!NOTE] text on same line. When used this way, Notion renders the block as a plain quote block (grey left border), not a callout block (coloured background with emoji icon).

Steps to reproduce

notion:create_page(
  title: "Callout Test",
  markdown: "> [!NOTE] This is a note"
)

Expected

A Notion callout block with coloured background and emoji icon (💡).

Actual

A plain quote block with gre

Read the thread · 2026-04-02 · closed · external user · 4 comments

503 Service Unavailable even though it's running stio

Trying to connect using Dify, set URL to http://localhost:3333/mcp and 503s instantly. Running in Terminal successfully: easy-notion-mcp server running on stdio

Read the thread · 2026-03-27 · closed · external user · 4 comments

Most recent

discussion: should database tools accept page_id as an alias for database_id?

Observed behaviour

Claude (and possibly other LLM clients) consistently sends page_id when calling database-related tools, even when the tool schema specifies database_id. Affected tools:

When page_id is sent instead of database_id, the tool either crashes or silently fails depending on where it dereferences the arg.

Root cause

Claude's mental model treats all Notion ob

Read the thread · 2026-06-19 · closed · outside contributor · 2 comments

Feature request: Support for Notion mention-page blocks (@page mentions)

Hi! Found out that Easy Notion MCP does not handle writing mention-page links properly. I find them really useful when there are icons in my pages. I use icons as quick visual references for context. I asked Claude to write the full spec for this feature request. Hope this helps!

Add support for writing inline page mention blocks — the @page mention chip that Notion displays as a linked inline reference to another page.

Current behaviour

When writing page content via append_content

Read the thread · 2026-06-01 · closed · external user · 2 comments

Ability to read transcript summary blocks

What problem does this solve?

I want my agent to be able to read the Notion AI meeting summary so that I can pull relevant details and process them how I wish.

Proposed solution

easy-notion-mcp would present this block type as a ready only block

Alternatives considered

The official remote Notion MCP can do this, however, I don't want to use that because the OAuth token dies so quickly it's useless in a headless agent workflow.

Would you like to submit a PR for this?

I can see what

Read the thread · 2026-05-06 · closed · external user · 0 comments

Add targeted read tools to mirror existing targeted write tools

Summary

easy-notion-mcp has targeted write tools (update_section, update_block) but no matching targeted read tools. To read a single section or block, agents must call read_page and pull the entire page into context, even when only one section is needed.

Use case

Publishing one script from a multi-script page. Our setup has a single "Scripts" page in Notion with many script toggles (one per video). When an agent needs to publish just one script — e.g., serializing it to a

Read the thread · 2026-05-05 · closed · external user · 2 comments

Ergonomic polish: match counts, heading-preserving section updates, dry-run mode

Context

Three smaller improvements that meaningfully reduce friction in agent-driven workflows without rethinking the API.

Proposed changes

Read the thread · 2026-04-28 · closed · external user · 1 comment

update-a-block fails to update paragraph rich text — schema validation error

When calling update-a-block to modify the rich text content of a paragraph block, the API returns a 400 validation error regardless of how the type parameter is structured.

What I tried:

All return: body.paragraph should be defined, instead was undefined. body.type should be not present.

The issue: The tool maps the type parameter to `b

Read the thread · 2026-04-18 · closed · external user · 2 comments

list_databases returns id field unusable with get_database — use url field instead

Description

The id field returned by notion:list_databases cannot be passed directly to notion:get_database — it returns a "could not find database" error. The correct ID to use is extracted from the url field.

Example

list_databases response:
{
  "id":  "2ca59ca9-71b3-81bc-9c80-000b801ab640",  ← fails
  "url": "https://www.notion.so/2ca59ca971b38194b072cfd5b3df0bf2"
}

get_database("2ca59ca9-71b3-81bc-9c80-000b801ab640")
→ "Could not find database"

get_database("2ca59ca971b38194b072

[Read the thread](https://github.com/Grey-Iris/easy-notion-mcp/issues/15) · 2026-04-02 · closed · external user · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/Grey-Iris/easy-notion-mcp/issues).