Skip to main content

Desktop agents

Cursor, Claude Code, scripts, VS Code — use a pam_mkey API key.

Browser LLM

ChatGPT, Claude web, Perplexity — OAuth via MCP URL.
Endpoint: https://api.pam.harmix.ai/v1/mcp/memoryCopy your account MCP URL from Setup. Generate or rotate a desktop key on Setup or Access. Auth details: Setup and keys.

Browser LLM connectors

Use OAuth 2.1 + PKCE. The MCP URL alone is enough for clients that support OAuth discovery — they register via dynamic client registration (DCR) automatically.
Open ChatGPT and follow these steps:
1

Open Apps settings

Open SettingsApps.
2

Enable Developer mode

Open Advanced settings and turn on Developer mode (accept the elevated-risk notice if shown).
3

Create app

Click Create app (from Advanced settings or the Enabled apps section).
4

Name the app

Name: anything you like (e.g. PAM Memory).
5

Paste MCP URL

Under Connection, choose Server URL and paste your MCP URL from Setup. Leave Authentication as OAuth — no client ID is required when discovery is enabled.
6

Create connector

Check I understand and want to continue, then click Create.
7

Sign in

Click Sign in with [your app name]. ChatGPT opens PAM in your browser to sign in if needed.
8

Approve access

On the PAM approval screen, click Approve to grant memory:read access. You will be redirected back to ChatGPT.
ChatGPT uses per-connector redirect URLs such as https://chatgpt.com/connector/oauth/{id}. PAM accepts trusted chatgpt.com callback paths automatically.
Browser clients resolve OAuth from:Scope: memory:read (read-only company memory retrieval).Token refresh: After the initial OAuth approval, compliant clients call POST /v1/oauth/token with grant_type=refresh_token to obtain a new access token without asking you to sign in again. Access tokens last about 1 hour; refresh tokens last about 30 days. PAM rotates the refresh token on every refresh (OAuth 2.1 best practice). If a refresh token is reused, the entire connection family is revoked and you must reconnect.Claude web — optional OAuth Client ID: For ChatGPT and other clients that support OAuth discovery, the MCP URL alone is enough. If Claude asks for credentials under Advanced settings, expand Advanced settings, paste the OAuth Client ID from Setup (or oauth_client_id from GET /v1/dev/mcp-config), and leave OAuth Client Secret blank (public client + PKCE).
View and revoke browser LLM connections from Access, or use the Developer REST API:

Desktop agents

Desktop and script clients use a static pam_mkey in the Authorization header. See Setup and keys for key format and rotation.
1

Open MCP settings

Open Cursor and go to SettingsMCP (or run Ctrl+Shift+POpen MCP settings).
2

Add server

Click Add new global MCP server (or project MCP server).
3

Configure auth

Paste the MCP server URL and Authorization: pam_mkey_<key> header. Generate a key on Setup if you do not have one yet.
4

Paste config (optional)

If your client asks for a full config block, paste the JSON below.
5

Test

Run the hello world prompt from Cursor to verify retrieve_memory works.

Test your connection

Run this hello world prompt in your agent:
Confirm the call in Request Log. A successful retrieve_memory marks your setup as MCP verified on Setup.

Server metadata

After connection, the MCP handshake returns: The response may include an Mcp-Session-Id header for session continuity. The retrieve_memory tool includes MCP annotations for connector directories: readOnlyHint: true, destructiveHint: false.
Prefer live values from Setup for your MCP URL and config snippets. For automation, GET /v1/dev/mcp-config returns account-specific connection details (requires a PAM access JWT).