Evernote MCPで見えた、Remote MCP時代の始まり – Open WebUIで8672ノートをAIの外部メモリとして使ってみた

今朝方、EvernoteのMCPの連絡がメールできた。
Wait Listに名前を入れて1週間くらいしか立っていない。
もし、Evernote MCPを使いたいのであれば、今からでもWait Listに登録しておくことをお勧めする。
 
招待メールに設定方法がかいてあったので設定してみた。比較的あっさり繋がった。
ところが、実際に試してみると、面白かったのはEvernoteそのものではなく、Open WebUI側だった。
ちなみに、以下の情報は、招待制のプレビュー版でまだ公開情報でもなく、機能が変わる、動かないケースもあるかもしれないので注意。
また、詳細な設定パラメータはあえて伏せてある。
 

ChatGPTでは簡単につながった

設定は驚くほど簡単だった。
設定は、アプリの設定からではなく、WebのUIから行う。
App->Advanced SettingにあるCreate Appをクリックして登録するだけ。
 
 
空欄で表示するが、来たメールの内容をみれば入力に必要な情報はおおかた想像がつくはず。
Createをクリックすると、ログイン認証、権限の表示がきて、俗にいうOAuth認証を行うだけ。
最初は認証画面でクルクル回り続けたため、
  • OAuth Callbackが死んでいるのか
  • トークン交換で詰まっているのか
  • MCPサーバの登録処理が渋滞しているのか
  • もしかして、この数日間自分が苦しんだ作業を誰かが代わりに血眼になってやっているのか?
などと勝手に想像していたが、リロードして再認証したらあっさり接続できた。
インフラエンジニアというのは厄介なもので、サービスがつながらないときに「使えない」ではなく「どこで詰まっているのだろう」と考えてしまう。
 
実は、自分のChat GPTは、あくまでもチャットとしてのユースケースでToolを使うということをやったことがなかった。
動かしてみるとこんな感じ。
と余計な一言?と共に赤裸々に昨日のノートが出てきた。
ブログ化していない、jellyfinのMCPとかもある。大したことない内容でコピペで終わる内容だが、
もうええでしょ
というピエール瀧の声が聞こえてきたのでやめたw
 

Open WebUIでも試してみたら動いた!

ここからが本題である。ChatGPTで動くのは分かった。
 
しかし私が本当に知りたかったのは、
Open WebUIでも使えるのか?
である。
 
なぜなら、私にとって本命はChatGPTではなくOpen WebUIだからだ。
実はOpen WebUIのMCP登録方法は2種類ある。
どちらでも接続ができるわけではなく、MCPサーバの提供状態で登録方法を選ぶ必要がある。
一度ここでOpen WebUIにMCPを登録する方法を整理する。

MCPO経由で登録する方法 Type:OpenAPI

従来からある方式である。
Open WebUI
MCPO
MCP Server
MCPサーバをMCPO(MCP OpenAPI Proxy)経由でOpenAI互換APIとして公開し、Open WebUIから利用する。
MCPサーバは config.json に登録し、MCPOが提供する /mcpo エンドポイントをOpen WebUIから利用する。
この方式のメリットは、Swagger UI経由でAPIの動作確認ができることだ。MCPの動作検証やトラブルシューティングは比較的やりやすい。
一方で欠点も多い。
まずMCPOコンテナが必要になる。
Open WebUI Desktop環境で利用する場合でもDocker環境が必要になるため、導入のハードルは少し高い。
さらに、MCPサーバが利用するPythonモジュールなどがMCPOコンテナに含まれていない場合、自分でDockerfileを書いて追加しなければならない。
私の場合、検証用MCPを次々と追加していたら、管理用兼個人用のMCPOコンテナサイズが1.5GB近くになってしまった。もはや踏み台ホストならぬ「踏み台MCPサーバ」である。
 
設定箇所も比較的多い。
  • Dockerfile(必要に応じて)
  • MCPOのconfig.json
  • Open WebUIのIntegrations設定
と複数箇所にまたがる。
 
OAuthを利用しないMCPサーバであれば比較的簡単に導入できるが、OAuth対応MCPになると話は別だ。
認証用の一時コンテナを起動し、認証後にトークンを保存するなどといったトリッキーな作業が必要になることもあり、設定作業は一気に複雑になる。
 

Open WebUIへ直接登録する方法

比較的新しい方式である。
Open WebUI
Remote MCP
 
MCPOを経由せず、Open WebUIから直接Remote MCPへ接続する。
登録方法もシンプルだ。
  • MCPサーバのURL
  • 認証方式
を指定して登録するだけでよい。
保存時あるいは初回利用時に認証処理が行われる。
この方式はMCPの仕様としては Streamable HTTP と呼ばれる。
OAuthを利用する場合は、認証後に戻ってくるCallback URLへ正しく到達できることが重要になる。
この形式のMCPは、Open WebUI Desktopでも利用可能。
 

Evernote MCPの場合

MCPは、StreamableHTTPで登録をする。つまり、Open WebUI Desktopでも利用可能である。
設定は、メールに記載された情報を入力して、IDは、evernote、認証はoAuth 2.1を選択
選択したら、Register Clientをクリックして、Registerdに変更になったことを確認して、Saveをクリックする。
 
Saveをする。これで利用可能となるが、まだこの時点では認証が済んでいないことに注意。認証は、初回の利用で行われる。
 
チャット画面で以下のようにMCPを有効にする。
Evernoteの認証が走る。
 
ここで一点注意がある。
Evernoteアカウントへログインする際は、Googleアカウント連携ではなく、Evernoteのユーザー名とパスワードでログインした方がよい。
 
私の環境ではGoogleログインを利用すると認証処理が途中で止まった。
認証が完了し、権限付与を承認すると利用可能になる。
今回の検証で興味深かったのは、従来のMCPO方式で苦労していたOAuth設定や認証コンテナの管理がほぼ不要になったことだ。
URLを登録し、OAuth認証を行うだけで利用できた。
MCPの世界が、ローカルでサーバを立てる時代から、SaaSが提供するRemote MCPを直接利用する時代へ移り始めているように感じた。

実際にOpen WebUIでEvernote MCPを利用

8672件中の上位20件が取得された。正直、ここで少し感動した。

重要なのはEvernoteではない

多くの人は、EvernoteとAIが連携できるという話として見るだろう。
 
今回の発見はEvernote MCPではない。
 
Open WebUIが Remote MCP + OAuth を
実用レベルで扱えることが確認できたことである。
 
しかし私にとって重要だったのはそこではない。
今回確認できたのは、
Open WebUI
Remote MCP
OAuth
SaaS
という構成が普通に動いたことだ。
これまでMCPというと、
Open WebUI
MCPO
Docker
OAuth Callback
Client Secret
という世界だった。
Google Workspace MCPやOutlook MCPを触った人なら分かると思うが、実際には認証まわりが一番大変だったりする。
ところが今回は、
URLを貼る
OAuth
終わり
である。
MCPの世界が明らかに変わり始めている。
 

ノートの作成もできた

さらに試してみると、ノートの作成も問題なくできた。
これは単なる検索コネクタではない。
外部メモリである。
 

実は一番欲しかったもの

私はChatGPTやOpen WebUIで考えたことを定期的にEvernoteへ保存している。
理由は単純で、過去のチャットは探しにくいからだ。
しかし今回の構成だと、
Open WebUI
Evernote MCP
8672ノート
になる。
これは単なるノート検索ではない。
過去の自分の思考にアクセスできるということだ。
例えば、
MCPOとは?
という質問をすると、
過去に自分が書いた
  • MCPOとは?
  • Spotify MCP
  • Roon MCP
  • Google Workspace MCP
といったノートを参照できる。
これはマニュアル検索とは価値が違う。
 

理想形

今回の検証で見えてきた理想形はこうだ。
Open WebUI
Evernote MCP
Evernote
定期Export
Markdown
Git
NAS
RAG
Evernoteは入力インターフェース。
Markdownが永続資産。
そしてRAGが検索層。
そう考えると、
Evernoteは最終保存先ではなく、一時的な知識ハブになる。
 

まとめ

実は今回一番驚いたのは、Evernote MCPそのものではない。EvernoteがMCPを提供したことももちろん大きい。
しかしそれ以上に、
Open WebUIがRemote MCP + OAuthをほぼ問題なく扱えたことの方が衝撃だった。
数日前までGoogle Workspace MCPの認証やMCPOの設定で試行錯誤していた身からすると、
「URLを登録してOAuthするだけ」
という体験は拍子抜けするほど簡単だった。
MCPは今まで、
「自分でサーバを立てるもの」
だった。
しかし今回のEvernote MCPは、
「SaaSが提供するサービスに接続するもの」
へ変わり始めていることを感じさせた。
もしかすると数年後には、
MCPサーバをDockerで立てるという行為自体が特殊なものになっているのかもしれない。
 
さらに面白かったのは、少し前に書いたEvernoteバックアップの記事の立場が変わってしまったことだ。
あの記事は、「EvernoteのデータをAIから活用したい」という目的に対して、APIの制約やMCPが存在しない状況での苦肉の策だった。
しかし今回、Evernote MCPが利用できるようになったことで状況は一変した。
もちろんMarkdownへのエクスポートやGit管理の価値は変わらない。むしろ長期保存の観点では今後も重要だと思う。
ただ少なくとも、
「AIからEvernoteの知識を活用する」
という目的に関しては、Exportより先にMCPを試すべき時代になったように感じる。
 
バックアップ操作が必要なのは、単にRate Limit問題の回避をするためのsqlite形式での保存までで、その後のマークダウンファイルの生成ほぼ不要かも
と思ったが、マークダウン化は引き続き行うことにした。
理由は、EvernoteのMCPは、ノートブックを分けて避けておいたはず個人情報まで参照ができてしまうし、またノートブック全部を参照情報としてしまうと、まるでNASのファイルを全部RAGにしたのと同じで単なるノイズの塊しかない情報にも成りかねない。
RAGとして使う情報は、引き続き、マークダウンファイルにして、OIKBで自動登録とすることにした。
ただし、ジャンル分けが中途半端なノートブックとかはマークダウンにする必要がないので、だいぶ精査ができる。
つまり、個人のメモリがEvernote MCPで、RAGはRAGのままであり続ける。
 
最近はEvernoteの値上げも話題になっており、自分もそろそろ移行先を考えようかと思っていた。
ところが今回のEvernote MCPを触って、その気は一気に失せた。
気が付けば、移行検証用に立てていたjoplinのコンテナを停止していた。そのコンテナはPostgreSQL部分の構築で気合いを入れて作ってしまったのでWALだけで32GBもあった。
 
Evernote MCPは、単なる機能追加ではなかった。EvernoteをAI時代の知識ベースへ変えてしまう一手だったのかもしれない。
 

(参考) LLMに聞いた機能一覧

LLMに聞くと、日本語で整理して表示してくれるので便利。
再度記載するが、これらの機能は、プレビュー版での表示であることに注意。また自分は全部試していない。
利用可能なEvernote MCPの機能をカテゴリ別に一覧にします:

📝 ノート操作

機能
説明
create_note
新しい空のノートを作成する
get_note
ノートの内容(ENML形式)を取得する
edit_note
ノートの本文を編集する(追記/前置/置換)
delete_note
ノートをゴミ箱に移動する
restore_note
ゴミ箱のノートを復元する

🏷️ タグ操作

機能
説明
search_tags
タグを検索・一覧表示する
create_tag
新しいタグを作成する
edit_tag
タグ名の変更や階層移動をする
update_note_tags
ノートにタグを追加/削除する

📓 ノートブック操作

機能
説明
search_notebooks
ノートブックを検索・一覧表示する
create_notebook
新しいノートブックを作成する
rename_notebook
ノートブックの名前を変更する
move_notes
ノートを別のノートブックに移動する

🔍 検索機能

機能
説明
search_notes
キーワードベースの検索(タグ、日付、ノートブックなど)
semantic_search
AIによる意味ベースのセマンティック検索

✅ タスク操作

機能
説明
create_task
ノート内にタスクを作成する
update_task
タスクの状態・期限・優先度などを更新する
delete_task
タスクを削除する
search_tasks
タスクを検索する(ステータス、期限、優先度でフィルタ可能)

📎 添付ファイル操作

機能
説明
start_attachment_upload
ファイルのアップロードを始める(S3预签名URL発行)
finalize_attachment
アップロードしたファイルをノートのリソースとして登録する
get_attachment
添付ファイルの情報を取得する

主な利用シーン

  • ノートの作成・編集・削除
  • タグ付けによる分類管理
  • セマンティック検索(AIによる意味理解)
  • リマインダー/TODOタスクの管理
  • ファイル・画像・PDFなどの添付
  • ノートブック単位での整理・移動

コメントする