個人用FastMCPサーバーのためのDrop-in OAuthプロバイダー、すべてのClaudeプラットフォーム対応

これが解決する課題
ある開発者がmem0を使用して個人用メモリサーバーを構築し、Claudeが読み書きできる個人用ナレッジボールトを作成しました。Claude Codeで動作させるのは簡単でしたが、Claude.aiのWeb、モバイル、デスクトッププラットフォーム全体で機能させるには認証の課題がありました。
核心的な問題: Claude.aiのカスタムコネクターには完全なOAuth 2.1準拠が必要です。FastMCPは、メモリ内テストプロバイダー(本番環境には不適切)か、Google、GitHub、Auth0などの外部IDプロバイダーの設定を必要とするプロキシのいずれかを提供します。個人使用のみを目的としたサーバーでは、Auth0の設定は望ましくないオーバーヘッドでした。
解決策
開発者は、外部サービスを必要とせずにOAuthフロー全体を処理する、Pythonで書かれたシングルファイル認証プロバイダーを作成しました。主な機能は以下の通りです:
- 動的クライアント登録 (DCR)
- PKCE (Proof Key for Code Exchange)
- トークンの永続化
- 完全なOAuth 2.1実装
このプロバイダーはリダイレクトURIをclaude.aiとlocalhostのみに制限しており、クライアント登録がオープンなままでも(これは理解に時間がかかったClaude.aiの要件です)、不正アクセスを防止します。
実装の詳細と注意点
開発者は実装中にいくつかの文書化されていない問題に遭遇しました:
- FastAPIのBaseHTTPMiddlewareはストリーミングレスポンスを黙って壊すため、回避策が必要
- ツール名の衝突: ツール名が一般的すぎる場合(「add_memory」や「search」など)、Claudeはサーバーツールを呼び出す代わりに独自の組み込みメモリ機能を使用します。解決策は、ツール名に明確な接頭辞を付けることです
- サーバーレスデータベース接続: Neon Postgres(およびおそらく他のサーバーレスデータベース)はアイドル接続を切断します。起動時に単一の接続を作成すると、数分後にツールがランダムに失敗します
- DCR設定: 動的クライアント登録はFastMCPではデフォルトで無効になっています。これを有効にしないと、/registerエンドポイントは404を返し、Claude.aiはエラーメッセージなしに黙って接続に失敗します
入手方法
このソリューションは、github.com/crumrine/fastmcp-personal-authでMITライセンスの下、単一のPythonファイルとしてGitHubで公開されています。これは、外部IDプロバイダーの複雑さなしに、個人用FastMCPサーバーをすべてのClaudeプラットフォームで動作させたい開発者にとって実用的な代替手段を提供します。
📖 Read the full source: r/ClaudeAI
👀 See Also

オムナラ:どこからでもClaude CodeとCodexを実行
Omnaraは、クラウド同期や音声エージェントなどの機能を備え、開発者がどこからでもClaude CodeとCodexセッションを実行・対話できるWebおよびモバイルIDEです。

OpenCortex:OpenClawのための自己改善型メモリシステム
OpenCortexは、OpenClawの平坦なMEMORY.mdファイルを、プロジェクト、連絡先、ワークフロー、設定、実行手順書、ツール、インフラストラクチャごとに整理された構造化メモリファイルに置き換えます。毎晩の蒸留による原則遵守監査と、毎週の統合によるパターン検出と自動実行手順書作成が含まれています。

Flash-MOEベンチマーク on M5 Max: Qwen3.5-397Bで12.99 tok/s
3970億パラメータのQwen3.5モデルを、128GB RAM搭載のMacBook Pro M5 Maxでローカル実行したベンチマークでは、4ビット量子化とcache-io-split 4を使用して1秒あたり12.99トークンを達成し、元の48GBベンチマークの3倍の速度を実現しました。

プネウマ:記述からソフトウェアが具現化するAI生成デスクトップ環境
Pneumaは、ユーザーが欲しいものを記述するだけで、CPUモニター、ゲーム、メモアプリ、データビジュアライザーなど、機能するプログラムが数秒で具現化するデスクトップコンピューティング環境です。このシステムは自己完結型のRustモジュールを生成し、WebAssemblyにコンパイルした後、wgpuによるGPUレンダリングを備えたサンドボックス化されたWasmtimeインスタンスで実行します。