Bochi

Bochi開発:MCPサーバー、Claudeは成功、しかしChatGPTに「connector is not safe」と拒否された話

1

こんにちは。エンジニアのための記録習慣化サービス「Bochi」を開発しています。

Bochiは、日々の機能開発やプロダクトの挑戦、失敗、そして「今日やったこと」を記録するためのサービスです。

今回はBochiにAIによる自然言語の記事検索機能を実装しようとした時の話です。

この記事は、AIと自作サービスを接続するためのMCPサーバ構築の過程を記録します。

そもそもMCPって何

MCP(Model Context Protocol)とは、AIが他のデータやツール(今回の場合はBochi)を直接操作できるようにするためのプロトコル(通信ルール)です。 (詳細: Model Context Protocol 公式ドキュメント

このサーバーを構築することで、claude,chatgpt等のAIツールからBochiの記事を取得することができます。

将来的には様々なサービスがAIツールを介すことで、AIツール上で買い物をして、ホテルの予約をとり、音楽をかける世界が可能になります。

実装

まずは、MCP公式ドキュメントを参考にMCPサーバを作成し、Claude(Anthropic)に接続しました。

こちらは、公式ドキュメントや先人たちが残してくれた記事が充実しており、参考にしながら進めたところ、特に困ることもなくスムーズに接続に成功しました。

意気揚々と、Claudeで接続確認ができたサーバーをそのままChatGPT(OpenAI)に接続しようとしました。 すると、無情にも画面にはこう表示されました。

「connector is not safe」 (このコネクタは安全ではない)

Claudeでは動いたものが、ChatGPTでは拒否されてしまいました。

なぜ拒否されたの

この「安全ではない」というエラーメッセージは、範囲が広すぎます。 CORSポリシー違反なのか、Vercelで自動設定されるSSL証明書に問題があるのか、あるいはChatGPTが要求する特定の認証ヘッダーが不足しているのか……。

正直なところ、現時点では「これだ!」という明確な原因は特定できていません。

1つだけ分かったことは、**「同じmcpというプロトコルに対応していても、AI(ClaudeとChatGPT)によって要求されるレベル、特にセキュリティ要件が異なる」**ということです。

今後のタスクとしては以下の2つです。

  1. セキュリティ関連の再調査
    • 「安全ではない」というからには、やはりセキュリティ周りが怪しい考えています。SSL証明書やCORSの設定を重点的に見直します。
  2. 公式ドキュメントとコミュニティの深掘り
    • mcpの公式サンプルと、OpenAIのサンプルコードを見比べ、設定に違いがないかを確認します。
    • 公式の開発者コミュニティで、同じエラーに直面している人がいないかを探してみます。

おわりに

もし、この記事を読んで「私も同じ問題にハマった!」という方がいらっしゃいましたら、ぜひ情報交換させてください。(現在Bochiにコメント機能がないため、お問い合わせフォームからご連絡いただけると嬉しいです)