結論
最初にやること:OSのターミナルでclaude mcp add --transport http notion https://mcp.notion.com/mcpを実行します。
Notion MCPはコミュニティ製npmパッケージやAPIキー直書きではなく、Notion公式のリモートURLへHTTP接続する方法が推奨です。
Claude Codeへ追加後、対話中の/mcpからOAuth認証し、自分がアクセスできるNotionワークスペースを許可します。
複数案件で使うならuser scope、リポジトリ単位ならlocalまたはproject scopeを選びます。
実行場所:コメントに従い、ターミナルとClaude Codeの対話画面を使い分けます。
# ターミナルで実行:MCPサーバーを登録
claude mcp add --transport http notion https://mcp.notion.com/mcp
# ターミナルで実行:Claude Codeを起動
claude
# セッション内で認証
# Claude Code起動後の対話画面で実行:MCP接続と認証状態を管理
/mcp
具体的な手順
Notion公式プラグインを利用できる環境では、MCPに加えて専用Skillsやコマンドも導入できます。
コマンド実行後に
/mcpを開き、notionを選択してAuthenticateを実行します。ブラウザで対象ワークスペースとアクセス範囲を確認し、必要以上のページを許可しません。
認証後は
claude mcp get notionと/contextで接続状態とMCPのトークン使用量を確認します。
実行場所:コメントに従い、ターミナルとClaude Codeの対話画面を使い分けます。
# ターミナルで実行:MCP設定を管理
claude mcp get notion
# ターミナルで実行:Claude Codeを起動
claude
# セッション内
# Claude Code起動後の対話画面で実行:コンテキスト使用量を確認
/context
実践プロンプト
仕様書から実装する場合も、最初は読み取りとローカルへの下書き作成に限定します。
入力場所:Claude Codeの対話画面へ貼り付けます。
Notion MCPで「認証機能仕様」ページを検索し、要件と未決事項を読み取ってください。
内容をdocs/auth-plan.mdへ下書きしてください。
Notionページの編集、コメント追加、データベース更新は行わないでください。
注意点
Object not foundはページIDの形式だけでなく、認証ユーザーがそのページへアクセスできるかを確認します。
OAuthで接続したNotion MCPは、選択したワークスペース内でユーザー相当の操作が可能なため、更新前に差分を提示させます。
古い@modelcontextprotocol/server-notionやNOTION_API_KEY前提の記事は、現在のホスト型OAuth手順と一致しません。
認証を解除するときはclaude mcp logout notionを実行し、不要ならclaude mcp remove notionも行います。