MCP connector

Pairag exposes OAuth 2.0 authorization under app.pairag.com and targets a Streamable HTTP MCP endpoint under api.pairag.com. Use the frozen URLs below in tooling and docs.

MCP integration is rolling out. Connect with OAuth or a personal access token from the Pairag app, then follow the Cursor, Claude Code, or ChatGPT guides below.

Frozen URLs

  • MCP HTTP root (target implementation path): https://api.pairag.com/mcp
  • OAuth issuer (JWT iss): https://app.pairag.com
  • Authorization server metadata: https://app.pairag.com/.well-known/oauth-authorization-server
  • Bearer sanity check (RS256 MCP token): https://api.pairag.com/api/v1/mcp/v1/me

Authentication

Recommended for Cursor, ChatGPT Apps (Developer mode), and similar hosts: browser OAuth + PKCE, silent refresh rotation per MCP connector docs.

**Personal access tokens (PAT)** are opaque secrets prefixed with **`pgpat_`**. They authenticate MCP the same way as OAuth MCP access tokens (`Authorization: Bearer …`) and honor the scopes chosen at issuance.

Docs.mcpOverviewAuthPatApi

Sample prompt (English) — task JSON via MCP

Paste the block below into your AI host after Pairag MCP is connected with **pairag.task.create**. Edit the “Task intent” section with your real requirements. The sample is **English**; your task content may be any language as long as the **JSON keys** follow the v18 protocol.

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.

Risks / caveats

  • Single MCP refresh per member — last OAuth connector wins; parallel Cursor + Claude OAuth sessions keep kicking each other.
  • redirect_uri exact match — register every callback byte-for-byte in oauth_clients (no wildcards).
  • Publishing PAT in plaintext configs leaks tenant access — prefer OS env interpolation or OAuth.
  • JWKS caching skew — clients must honor Cache-Control on /oauth2/jwks.json.

Architecture reference

Pairag exposes scoped MCP tools and OAuth for agent hosts. For enterprise onboarding or custom scopes, contact 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.

Docs home·Home