# MCP URL-only setup

Proof Finderのサービス画面でユーザーがコピーする値は、MCP URLだけにする。

```text
https://matchmatrix.app/api/mcp
```

セットアップ文をユーザー編集可能な長文プロンプトとして配布しない。Remote MCP登録後の初回案内、次工程のトリガー、解析ハーネス、品質ゲート、公開条件はMCPサーバー側のレスポンスを正とする。ただし、ユーザーに最初に見せる文面はハーネス本文ではなく、セットアップ完了と情報源の接続確認結果に限定する。

## サーバー側で持つ案内

接続後のAIエージェント向け案内は、次のMCPレスポンスで提供する。

- `initialize.instructions`
- `prompts/list`
- `prompts/get` の `start_resume_generation`
- `tools/call` の `get_started`
- `tools/call` の `get_analysis_harness`

クライアントがMCP Promptsを表示しない場合でも、`get_started` が同じ開始トリガーと初回表示契約を返す。

## 役割分担

- Web UI: URLをコピーするだけ
- MCP初期化: Proof Finderの目的、`get_started` / `get_analysis_harness` の内部確認、初回表示の型を返す
- `get_started`: セットアップ完了、情報源接続確認、接続済み/未接続/追加可能一覧、解析開始、公開境界の入口を返す
- `get_analysis_harness`: 解析順、ノイズ除去、品質ゲート、公開条件を固定契約として返す。初回ユーザー表示では本文をそのまま出さない

## 初回表示の型

MCP接続直後は、AIエージェントが `get_started` と `get_analysis_harness` を内部確認し、`source_inventory` / `source_check` の低負荷カナリアを通したあと、次の構成でユーザーへ返す。

```text
接続が完了しました。

次に、職務経歴書の材料にできる情報源を確認します。
本文・添付ファイル・非公開URL・個人情報をそのまま使うことはありません。
公開できる形に整理できる履歴だけを使います。

接続確認結果:

接続済み:
- {source_name}: {short_role_or_canary_result}

未接続・認証が必要:
- {source_name}: {status_or_next_step}

現在利用できない情報源:
- {source_name}: {reason}

追加で接続できる情報源:
- {source_name}

このまま接続済みの情報源だけで進めますか？
それとも、追加で接続したい情報源がありますか？
```

`接続済み` として表示できるのは、プロフィール取得、浅い一覧取得、検索ID取得などの低負荷カナリアが成功した情報源だけにする。

## エラー時

現在のチャットに追加MCPが読み込まれない場合は、新しいチャットまたはアプリ再起動後に使えることを案内する。接続できない場合は、代替アップロードや回避設定を作らず、表示されたエラーをそのまま報告する。

## 環境別URL

```text
開発: https://dev.matchmatrix.app/api/mcp
本番: https://matchmatrix.app/api/mcp
```
