notion-mcp
PyPI
v0.1.0
Published by snickery — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.
MCP server for Notion: pages, databases, markdown, comments, and a full file pipeline
The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.
1. Threat score — 100 − 31.5 = 69. What the published surface and source actually contain:
| Points | What was found | Category |
|---|---|---|
| −31.5 | Self-contained exfiltration primitive: "notion_download_file" MTC-FLOW-001 | exfiltration |
2. Client adoption risk — 69 − 11 = 58. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:
| Points | Adoption-risk factor |
|---|---|
| −10 | capability blast radius (critical) — client exposure if the model is manipulated |
| −1 | publisher verification (public source) — no provenance, but the source is public and inspectable |
Grade capped: a critical finding is present → grade capped at D. A hard gate overrides the point total — no amount of clean surface buys back a confirmed catastrophe.
Capability observations and info notes are shown under Findings but never scored.
Open any row's finding below for the file, line and evidence behind a deduction.
Tool "notion_download_file" holds all three trifecta roles by itself (untrusted-input + sensitive-source + external-sink). A single call can pull attacker-controlled content, read private data, and exfiltrate it — no composition required.
Fix: Split responsibilities across separate, individually-consented tools; never combine untrusted input, secret reads, and egress in one tool.
Location: flow notion_download_file
Tool "notion_search_pages" can both read sensitive data and send data to an external destination. Even without an explicit untrusted-input leg, this is a single-call data-exfiltration path if the model is ever manipulated.
Fix: Separate reading from sending; require explicit user confirmation before egress of file/secret contents.
Location: flow notion_search_pages
Tool "notion_describe_database" can both read sensitive data and send data to an external destination. Even without an explicit untrusted-input leg, this is a single-call data-exfiltration path if the model is ever manipulated.
Fix: Separate reading from sending; require explicit user confirmation before egress of file/secret contents.
Location: flow notion_describe_database
Each tool and what it can reach — statically extracted from the published source.
notion_download_fileingests untrusted inputreads sensitive datanetwork egressnotion_describe_databasereads sensitive datanetwork egressnotion_list_files_on_pageingests untrusted inputreads sensitive datanotion_search_pagesreads sensitive datanetwork egressnotion_list_local_filesreads sensitive datanotion_query_databasereads sensitive datanotion_query_viewreads sensitive datanotion_read_pageingests untrusted inputnotion_search_databasesreads sensitive datanotion_upload_filenetwork egressnotion_upload_file_to_databasenetwork egressnotion_add_commentno sensitive capabilitynotion_add_file_to_rowno sensitive capabilitynotion_append_contentno sensitive capabilitynotion_archive_pageno sensitive capabilitynotion_batch_add_file_to_rowno sensitive capabilitynotion_create_databaseno sensitive capabilitynotion_create_pageno sensitive capabilitynotion_create_viewno sensitive capabilitynotion_delete_blockno sensitive capabilitynotion_delete_commentno sensitive capabilitynotion_delete_viewno sensitive capabilitynotion_extract_file_textno sensitive capabilitynotion_get_commentsno sensitive capabilitynotion_get_propertyno sensitive capabilitynotion_get_userno sensitive capabilitynotion_import_file_from_urlno sensitive capabilitynotion_list_usersno sensitive capabilitynotion_list_viewsno sensitive capabilitynotion_move_pageno sensitive capabilitynotion_purge_fileno sensitive capabilitynotion_purge_shared_filesno sensitive capabilitynotion_read_page_markdownno sensitive capabilitynotion_render_file_pageno sensitive capabilitynotion_replace_fileno sensitive capabilitynotion_replace_page_contentno sensitive capabilitynotion_restore_pageno sensitive capabilitynotion_set_page_visualno sensitive capabilitynotion_update_blockno sensitive capabilitynotion_update_commentno sensitive capabilitynotion_update_databaseno sensitive capabilitynotion_update_pageno sensitive capabilitynotion_update_page_contentno sensitive capabilitynotion_update_viewno sensitive capabilityCross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).
Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.
| Version | Score | Findings | Engine | Scanned |
|---|---|---|---|---|
v0.1.0 latest |
F 58/100 | 3 | 1.13.0 | 2026-08-25 |
Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.
The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.
npx mcptrustchecker scan notion-mcp --online --registry pypi
Independent packages implementing the same tool, scanned with the same engine. Compare all 32 side by side →
AI-friendly MCP server for the Notion API.
Notion MCP server using the internal API to search, export, and import pages as markdown with a browser cookie instead of OAuth.
MCP server with full Notion capabilities (23 tools)
MCP server for Notion API — manage pages, blocks, databases, data sources, comments, and users
MCP server for Notion integration
Notion MCP proxy server — bridges the official @notionhq/notion-mcp-server with Alfe OAuth credentials
MCP AgentChat - 让 AI Agent 通过 Telegram 与用户实时交互:发送消息、图片,等待用户回复
A Model Context Protocol (MCP) server for Airthings Air Quality Monitor devices.
MCP server for Anki
TypeScript package for reading and searching Apple Notes on macOS via direct SQLite access. Includes markdown conversion, attachment support, and offers a local MCP server!
Verified biotech catalyst calendar (PDUFA/AdComm/trial readouts) anchored to official sources.
Appointment booking platform letting agents check provider availability and create bookings.