# Connect ChatGPT and Claude — PsychArch Reader

> Connect ChatGPT or Claude to PsychArch Reader. Follow the setup steps, sign in, and save Markdown to your library.

Connect once, then ask your assistant to save Markdown to your private Reader library. Use the same PsychArch account you use in Reader.

Server URL for both apps

```
https://reader.psycharch.com/mcp
```

Set up in a desktop browser. Labels may vary with your app version or plan; use the server URL and OAuth options below.

## Reader tools

- `upload_markdown` — Save to PsychArch Reader. Saves a document and counts toward your daily upload limit.

- `upload_file` — Save file to PsychArch Reader (ChatGPT only). Transfers a ChatGPT file directly: UTF-8 Markdown or plain text, or a PNG, JPEG, GIF, or WebP image, up to 1 MiB. PDF and other formats are unsupported. Reader checks quota before downloading; each save counts toward your daily upload limit.

- `whoami` — Check Reader connection. A read-only, no-argument check that returns your current `subject`, granted Reader `scopes`, and `canUpload`, plus `tier`, `uploadsUsed`, `uploadLimit`, and `uploadsResetAt`. It creates no document and consumes no upload quota. `canUpload` reports upload permission, not remaining quota or a guarantee that an upload will succeed.

All tools require the existing `reader.upload` MCP grant. `whoami` needs no additional OAuth scope.

## ChatGPT

1. **Open the custom MCP form**

   Sign in to [ChatGPT](https://chatgpt.com/plugins). Open **Plugins → Add → Create custom MCP server**.

2. **Enter the Reader connection**

   Set **Name** to **PsychArch Reader**, paste the server URL above, and leave **Authentication** set to **OAuth**. The description and icon are optional.

3. **Check the OAuth settings**

   Open **Advanced OAuth settings** and wait for discovery. Keep **Client Identifier Metadata Document (CIMD)** selected. No client ID or secret needs to be entered manually.

   Keep **reader.upload** selected under **Default scopes**. Enter `offline_access` in **Base scopes** so the connection can stay signed in. If **OIDC enabled** is checked, set **OIDC scopes supported** to `openid profile email`. Leave the discovered endpoint URLs unchanged.

4. **Connect your account**

   Review and check **I understand and want to continue**, then select **Create as a plugin → Continue to PsychArch Reader**. Sign in to PsychArch if prompted, review the requested permissions, and select **Allow access**.

   Back in ChatGPT, open **Plugins → Personal → PsychArch Reader**. Your account should appear under **Connected accounts**. Open the Reader app entry to see `upload_markdown`, `upload_file`, and `whoami`, or select **Try in chat**. Ask the assistant to call `whoami` for a safe connection check before saving.

## Claude

1. **Add a custom connector**

   Sign in to [Claude](https://claude.ai/customize/connectors). Open **Customize → Connectors → Add → Add custom connector**.

2. **Enter the Reader connection**

   Set **Name** to **PsychArch Reader** and **MCP server URL** to the server URL above. Select **Continue** and let Claude check the server.

3. **Keep the detected sign-in options**

   Choose **Sign in now** and **Use Claude’s published identity**. Leave request headers empty. Under **Advanced**, keep **Streamable HTTP**. Select **Add**, then **Connect**.

4. **Sign in and check the tools**

   Sign in to your PsychArch account if prompted. Review the upload and continued-access permissions, then select **Allow access**. Claude should return to the connector page with **Save to PsychArch Reader** (`upload_markdown`) and **Check Reader connection** (`whoami`) under **Tool permissions**. Choose **Needs approval** for confirmation on each save, or **Always allow** if you prefer. Enable Reader in a chat and ask the assistant to call `whoami` for a safe connection check before saving.

Claude can save text with `upload_markdown`. Direct transfer of attached or generated files is unavailable; saving text through the assistant does not preserve the original file bytes.

## Check your connection

In ChatGPT, choose **Try in chat**. In Claude, start a chat and enable **PsychArch Reader** from **+ → Connectors**. Then ask:

> Call PsychArch Reader’s whoami to check my connected account and Reader permissions.

This check creates no document and consumes no upload quota. A successful response confirms the connected account and permissions; `canUpload: true` does not confirm that quota remains. Compare `uploadsUsed` with `uploadLimit` for today’s remaining slots; usage resets at `uploadsResetAt`. No additional OAuth scope is needed beyond the existing `reader.upload` MCP grant.

## Save your first document

In ChatGPT, choose **Try in chat** on the Reader plugin. In Claude, start a chat and enable **PsychArch Reader** from **+ → Connectors**. Then ask:

> Save this response to PsychArch Reader as Markdown, titled “Reading notes”.

Approve the save if prompted. The assistant returns a reading link; open it with the same PsychArch account. Each save counts toward your daily upload limit. Documents expire after three days by default, and you can ask for a different supported retention time.

For a file in ChatGPT, attach or generate a supported file and ask “Save this file directly to PsychArch Reader.” Approve the transfer if prompted. The assistant returns a reading link without copying the file into chat. If the temporary download URL expires, attach the file again and retry.

## Already connected?

Use the existing **PsychArch Reader** entry instead of adding the URL again. If sign-in expires, reconnect from that entry. If a tool is missing in a chat, check that Reader is enabled for that conversation. If its tool list differs from the list for your assistant above, refresh the Reader tool list or reconnect the existing entry, then check with `whoami`.

To stop access, disconnect Reader in ChatGPT’s plugin settings or Claude’s connector settings.
