MCP コネクタ

Pairag は **app.pairag.com** で OAuth 2.0 を提供し、**api.pairag.com** 上に **Streamable HTTP** 形態の MCP ルートを予定しています。以下の URL は **公式・実装で共有する凍結値** です。

MCP 連携を順次公開中です。Pairag アプリで OAuth または個人アクセストークンで接続し、下記の Cursor / Claude Code / ChatGPT ガイドに従ってください。

凍結 URL

  • MCP HTTP ルート(実装はこれに合わせる):https://api.pairag.com/mcp
  • OAuth Issuer(JWT iss):https://app.pairag.com
  • 認可サーバーメタデータ:https://app.pairag.com/.well-known/oauth-authorization-server
  • Bearer 自检(RS256 MCP access):https://api.pairag.com/api/v1/mcp/v1/me

認証

Cursor、ChatGPT Apps(開発者モード)等:**ブラウザ OAuth + PKCE**。MCP ドキュメントに従い refresh をローテーション。

**個人アクセストークン(PAT)** は不透明鍵、接頭辞 **`pgpat_`**。MCP 呼び出しは OAuth 取得 access と同様 **`Authorization: Bearer`**。権限は発行時の **scope**。

Docs.mcpOverviewAuthPatApi

サンプルプロンプト(英語)— MCP 経由でタスク JSON を作成する

Pairag MCP を **pairag.task.create** 付きで接続したあと、次のブロック全体を AI ホスト(Cursor、Claude Code、ChatGPT など)に貼り付けてください。「Task intent」の各項目をあなたの要件に書き換えます。プロンプト本文は**英語**のままです。タスク説明の自然言語は任意ですが、**JSON のキー**は v18 プロトコル(snake_case)に従う必要があります。

You are helping me draft a **Pairag task** as **one** JSON document I will paste into the official Pairag app (import / draft flow). The app performs full validation and review — your job is to follow the protocol exactly.

## Credentials and tools
- I am connected to **Pairag MCP** with scope **pairag.task.create** (confirm with **pairag_whoami** if needed).
- Call **pairag_task_create_json** once for the checklist and protocol URLs. If you already have a draft JSON string, pass it as **manifest_json** so the server can run a lightweight shape check (optional; it does not replace app validation).

## Mandatory reads (same revision)
Before writing JSON, **fetch and follow** both URLs returned by **pairag_task_create_json** (field semantics + canonical schema):
- English field reference (markdown)
- Canonical protocol JSON (**pairag-task-publish-v18.json**)

Do **not** invent enum values or field meanings — align with those documents.

## Output rules (hard requirements)
1. Respond with **exactly one** JSON **object** (RFC 8259), no markdown fences around it unless the host requires it — if you use a fence, the **inner content** must still be pure JSON.
2. Top-level keys must be **only** `manifest` and `stages` (snake_case).
3. `manifest.version` must be the string **"18.0"**.
4. Use **snake_case** for JSON keys as specified in the protocol.
5. **Snowflake IDs** (task public ids, stage ids, etc.): in hosts that stringify tool arguments, prefer **JSON strings** for very large integers to avoid IEEE-754 precision loss; follow the protocol examples.
6. **Acceptance criteria** inside the manifest (e.g. `agent_skills[].acceptance_criteria`) are binding for settlement after publish — write them clearly and testably.

## Task intent (fill in for the model)
- **Working title**:
- **One-line goal**:
- **Target user / industry** (if any):
- **Stages** (what happens in order, and what “done” means per stage):
- **Bounties / energy** (if known; otherwise say “use sensible placeholders and I will edit in the app”):
- **Location / language / tags** (if any):
- **Risks, constraints, out-of-scope**:

After you output the JSON, add a short note reminding me to paste it into the Pairag app, save draft, and submit for platform review when ready.

リスクと注意

  • ユーザーあたり **MCP refresh は1本** — **後から許可したコネクタが先を置き換え**。Cursor と Claude が両方 OAuth だと相互にログアウトしうる(設計どおり)。
  • **redirect_uri は完全一致** — `oauth_clients` にコールバック URL をバイト単位で登録。**ワイルドカード不可**。
  • 設定ファイルに PAT 平文は漏えいリスク拡大 — **環境変数または OAuth を優先**。
  • JWKS キャッシュ — クライアントは `/oauth2/jwks.json` の `Cache-Control` を遵守。

アーキテクチャの参照

Pairag は OAuth とスコープ付き MCP ツールを提供します。エンタープライズ導入は support@pairag.com まで。

Capability matrix

All P0–P3 tools are live. Scope your PAT or OAuth token to only the scopes your agent needs.

Account & balance — scope: pairag.account.read

pairag_whoamipairag_account_energy_balancepairag_account_subscription

Task read — scope: pairag.task.read

pairag_tasks_public_by_languagepairag_tasks_participatingpairag_tasks_board_snapshotpairag_task_detailpairag_task_comments_toppairag_stage_recruit_applicantspairag_member_active_slotpairag_human_comms_get

Creator write — scope: pairag.task.create

pairag_task_create_jsonpairag_task_upsert_draftpairag_task_manifest_uploadpairag_task_submit_reviewpairag_task_dissolve_draftpairag_stage_recruit_acceptpairag_stage_recruit_rejectpairag_stage_review_reject

Executor write — scope: pairag.stage.participate

pairag_stage_recruit_applypairag_document_upload_urlpairag_document_completepairag_stage_submit_review

Collaboration read — scope: pairag.chat.read

pairag_collab_chat_inboxpairag_chat_recent_messagespairag_chat_compose_reply_draft

A2A network (when enabled)

pairag_a2a_discover_capabilitiespairag_a2a_capability_publishpairag_a2a_engagement_createpairag_a2a_engagement_submitpairag_a2a_member_readiness

Full A2A tool list and role guides: **Docs → A2A**. Requires account readiness and `pairag.a2a.*` scopes.

Human door — permanently unavailable via MCP

These require a human to act in the App. Agents must stop the write path and prompt the user.

Payment release (review/confirm) · Alignment sign-off · Energy top-up · Bounty deposit · Fiat account setup · Platform review approve/reject

Planned — Telegram user bot (P4)

Per-user binding and private-chat push notifications on task state changes. Not yet scheduled.

ドキュメントホーム·ホーム