Notion MCPの特定ツールを禁止して安全に利用する
Notion MCP
Notionの新しいMCPサーバーがリリースされた。
ブロック構造をパースしてMarkdown化するのが大変、遅いなどのペインが解消されており、Notion AIが利用可能な場合はNotion AIと同様の検索機能が利用できる。

Notion MCPを使えるようにする
ClaudeCodeのMCP設定の詳細は下記を参照。
ユーザーごとにグローバルに設定する方法とプロジェクトごとに設定する方法があるが、この記事ではプロジェクト専用の設定として追加する。
以下の作業はプロジェクトのルートディレクトリで行う前提。
{PJ Root}/.mcp.jsonに以下を記述する。
{
"mcpServers": {
"notionMCP": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.notion.com/sse"]
}
}
}
この状態でClaudeCodeを起動するとMCPの使用許可が要求され、承認するとブラウザが開き、Notionの認証が求められるので確認のうえで許可する。
ClaudeCodeを起動して /mcp コマンドを実行してNotion MCPが表示されればOK.

利用可能なツールを制限する
Notion MCPにはページ作成やDB作成といった更新系の機能もある。
新しいNotion MCPは便利だが、Claude DesktopやClaude Codeに自由に使わせる場合、更新系は明確な意志・設計がない限りブロックしておくほうが安全。
Notion MCPに限った話ではないが、特定操作をブロックする場合、 settings.json に deny として記述する。
これもユーザー全体の設定とプロジェクトごとの設定ができるが、以下はプロジェクトごとの設定。
ページとDBの作成、更新、移動などをブロックする場合 {PJ Root}/.claude/settings.json に以下のように設定する。
{
"permissions": {
"deny": [
"mcp__notionMCP__create-pages",
"mcp__notionMCP__update-page",
"mcp__notionMCP__move-pages",
"mcp__notionMCP__duplicate-page",
"mcp__notionMCP__create-database",
"mcp__notionMCP__update-database"
]
}
}
動作確認
Notionに適当なテストページを作って、 fetchしたうえでサブページを作らせてみる。

fetchは成功するが、サブページの作成はブロックされる。
ちなみに上記の設定は /mcp コマンドの表示内容には影響せず、実行しないとわからない。
更新系コマンドで試すのは怖いので、試しに 検索ツール(mcp__notionMCP__search)を deny して動作確認しておくとよい。
おわりに
新しいNotion MCP + Notion AIは検索精度や速度面から、十分に実用的という印象。
活用機会は非常に多くなりそうだが、一方で自分のNotionユーザーで認証して使うとなると、権限を持っている全てのページやDBの更新や移動、複製が可能になってしまうため事故が怖い。
MCPのツールを制限するとある程度安全になるので、この記事がその助けになれば幸いです。
Discussion