Zennのスクラップはこちら
NotionのMCPサーバーがある
これを設定した方法。
まずはClaude DesktopでMCP操作をできることを目指す。
トークン発行
まず、 https://github.com/makenotion/notion-mcp-server?tab=readme-ov-file#1-setting-up-integration-in-notionのとおりにNotion側でトークンを発行する
MCPの設定をする
https://github.com/makenotion/notion-mcp-server?tab=readme-ov-file#2-adding-mcp-config-to-your-clientこれのusing-npmの方を読みつつ設定する。
Claude Desktop向けに設定するので、/Users/username/Library/Application Support/Claude/claude_desktop_config.json
に設定ファイルがある。
claude_desktop_config.json
に
{ "mcpServers": { "notionApi": { "command": "npx", "args": ["-y", "@notionhq/notion-mcp-server"], "env": { "OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2022-06-28\" }" } } } }
を設定する。
Notion側で、MCP設定したいページにConnectionから追加
Claude DesktopでMCPの設定確認
Claude Desktopを立ち上げて、MCPの設定ができているか確認。エラーだと右上にエラー出たりする。
SettingsからDeveloperを見て、notionApiがrunningになっていればOK。
が、ここで1個問題。spawn npx ENOENT
エラーがでた
これは人によりますが、自分の場合spawn npx ENOENT
エラーがでた。
に書かれてる通り、
spawn npx ENOENT エラーが発生する場合は、claude_desktop_config.json の npx コマンドをフルパスで指定すると解消される可能性があります。( which npx で確認できます) それでも解消しない場合は、Claude Desktopのログをご確認ください。
なにでnpxを入れたか、によるっぽい。
自分の場合は、which npx
をした結果を反映させ、"command": "/Users/username/.anyenv/envs/nodenv/shims/npx"
になおした。
(私用Macはnodenvでnodeバージョン管理をしているため)
ら、うまくいった。
Claude Desktopでためしてみる
会社Macで設定したら別の理由でうまく行かなかった。asdfでnodeのバージョン管理してるからっぽい
会社Macはasdfでnodeのバージョン管理をしているので、 "command": "/Users/username/.asdf/shims/npx"
にしたのだがこれだけだとうまくいかない。
ただ Claude MCPのハマりポイントもメモ。
— HirokiNaito (@HirokiNaitoh) 2024年12月31日
asdfでnodeなどのバージョン管理していると claude_desktop_config.json のcommandが動かない。
絶対パスにしたら動くがClaudeアプリ自身がローカルで色々実行するのも動かなくなるので、nvmなどで管理した方がよい。
asdfのグローバルな.tool-version
を見てくれていない感じがする。
"ASDF_NODEJS_VERSION"
を追加すると解決した。
"mcpServers": { "notionApi": { "command": "/Users/username/.asdf/shims/npx", "args": ["-y", "@notionhq/notion-mcp-server"], "env": { "OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_*****\", \"Notion-Version\": \"2022-06-28\" }", "ASDF_NODEJS_VERSION": "20.14.0" } } }