# ChatGPT

ホストされた Streamable HTTP MCP およびブラウザ OAuth を介して、memory:read および memory:write スコープで ChatGPT を接続します。

- Canonical: https://docs.xmemo.dev/ja/docs/mcp/chatgpt
- Locale: ja-JP
- Content-Locale: ja-JP
- Canonical-Content-Digest: 0a34bc1a4a60d47cc1fcab5b55616f0d81c50ddc2815030f687094efa4fdc4a5
- Edition-Digest: 947e2e9469fe22ad29eb0da8034592311a3ec11543ea89acdcfde815f92d3315
- Source-Revision: sha256:9bc37480fb26a371846f25bf5ea25d86ddd8bd3808e3df34131ef15403069090

## 前提条件

リモート MCP サーバーとホストされた Streamable HTTP エンドポイントをサポートする OpenAI アプリ構成を使用します。ランタイムと前提条件：

- 具体的なインターフェース: ChatGPT Web およびデスクトップクライアント (OpenAI Apps / Actions)。
- エンドポイント: https://xmemo.dev/mcp。
- トランスポート: Streamable HTTP (streamable-http)。
- 認証モード: memory:read および memory:write スコープを持つ OAuth。
- アカウント: https://xmemo.dev の有効な XMemo アカウント。

## インストール / セットアップ

ChatGPT クライアントまたは OpenAI プラットフォームダッシュボードで、リモート接続用のホストされた MCP URL と OAuth メタデータを登録します：

- アプリダッシュボードでホストされた MCP URL を構成します: https://xmemo.dev/mcp。
- 同意時に memory:read および memory:write をリクエストします。
- アプリリストにベアラートークンを追加しないでください。

## 認証情報を設定する

キーは不要です — ブラウザ OAuth を完了します。ChatGPT は OAuth グラントを通じて認証情報を受け取ります。XMEMO_KEY を設定したり Authorization ヘッダーを追加したりしないでください：

```text
No XMEMO_KEY
Complete browser OAuth in ChatGPT
```

## XMEMO_AGENT_INSTANCE_ID を生成 / 確認する

レビュー済みの ChatGPT OAuth リストには、クライアント側の ID ヘッダーはありません。アプリ構成に XMEMO_AGENT_INSTANCE_ID を勝手に作成したり貼り付けたりしないでください。このクライアントパスでは帰属が OAuth グラントによって管理されていることを確認してください。

## 既存の構成ブロックを保持する

レビュー済みの ChatGPT 構成ブロックを使用します。ホストされた URL、OAuth モード、および要求されたスコープを保持します。クライアントが必要とするローカルダッシュボードの値のみを変更してください：

```json
{
  "servers": {
    "xmemo": {
      "type": "http",
      "url": "https://xmemo.dev/mcp"
    }
  }
}
```

## クライアントを再起動する

アプリ構成を保存し、古い MCP 接続を閉じて、ChatGPT アプリまたは会話を再度開き、現在の OAuth メタデータを読み込ませます。

## 実際の recall 呼び出しでテストする

最初の MCP 呼び出しは読み取り専用にします。これはヘルスチェック用のプレースホルダーではなく実際のリコール呼び出しであり、メモリへの書き込みは行いません。

```text
recall({ query: "connection check", limit: 1 })
```

## 期待される応答（リテラル形式）

呼び出しが成功すると、以下の公開ランク付けテキスト形式が返されます。参照とコンテンツは、承認されたメモリ空間からの実際の値です。

```text
### XMemo Memory Results:
1. Reference: <opaque-memory-id> | Location: <location>
   > <memory content>
```

## 最初の有用なタスク：合成メモリライフサイクル

ChatGPT 内で完全な合成メモリタスクを実行します：

- 1. 合成事実の保存: 内容 "Demo project timestamps use UTC." およびパス "projects/demo-onboarding/conventions" を指定して remember を呼び出すよう ChatGPT に依頼します。
- 2. ステートレス移行: ChatGPT でまったく新しいチャットスレッドを開き、会話内のメモリが引き継がれないようにします。
- 3. 出所帰属付きリコール: "demo project timestamp format" をリコールするよう ChatGPT に依頼します。返された Reference と Location を確認します。
- 4. メモリの修正: アクティブな ID を指定して update_memory を呼び出し、規則を ISO 8601 書式に更新するよう ChatGPT に依頼します。
- 5. オプションのクリーンアップ: テストが終了したら、メモリ ID を指定して forget を呼び出すよう ChatGPT に依頼します。

## 機能とプロファイルツール

ChatGPT は、chatgpt-public プロファイルの MCP ドキュメント規約で定義されているプロファイル修飾ツールにアクセスできます：

- コアメモリツール: remember, recall, update_memory, forget, read_memory, explain_memory, search_memory, recall_context。
- プロジェクトおよびコンテキストツール: get_mcp_identity, get_project_summary, project, todo, update_state, record_event, restore_memory, analyze_memory_text, memory_overview。
- インタラクティブワークスペース: open_project_workspace, open_todo_board, open_ledger, ledger。

## 制限事項と境界

ChatGPT 統合の運用上の境界と制約：

- ワークスペース境界: メモリアクセスは承認されたユーザーのワークスペースに厳密に制限されます。
- Skill サポート: ChatGPT はツール呼び出しをリモートで実行し、スタンドアロンのローカル Node.js スキルを実行しません。
- OAuth セッション: 非アクティブな OAuth セッションは定期的に期限切れになる場合があり、ワンクリックでのブラウザ再認可が必要です。

## よくあるエラー

ChatGPT 固有の OAuth 障害は、実際のトークンエンドポイント応答に対応します：

- invalid_grant — 認可コードが無効、期限切れ、または既に使用されています: ChatGPT を再接続して再認可してください。
- invalid_target — OAuth リソースがこの MCP サーバーと一致しません: リソースとして https://xmemo.dev/mcp を使用して接続を再起動します。
- 403 insufficient_scope — グラントに memory:read または memory:write が含まれていません: 要求されたスコープを承認して再接続してください。

## 更新と削除

ChatGPT のメンテナンス手順：

- 更新: ツール定義を更新するには、ChatGPT クライアントを更新するか再認証します。
- 削除: ChatGPT Settings -> Connected Accounts / MCP で XMemo 接続を削除します。

## ChatGPT / OpenAI Apps SDK

OAuth marketplace lane: configure the hosted MCP URL and OAuth metadata in the OpenAI app dashboard; never paste XMEMO_KEY or Bearer tokens into the listing.

```
{
  "mcpServers": {
    "XMemo": {
      "url": "https://xmemo.dev/mcp",
      "transport": "streamable-http",
      "auth": {
        "type": "oauth2",
        "resource": "https://xmemo.dev/mcp",
        "scopes": ["memory:read", "memory:write"]
      }
    }
  }
}
```
