ppl ppl

Blog

Give your AI a contacts memory in 5 minutes: ppl MCP setup for Claude Desktop, Claude Code, and Cursor

Claude Desktop, Claude Code, and Cursor can each help you write to someone you know. They still start from an empty contacts list until you connect a record they share. The steps below use one hosted server, one browser approval, and a prompt you can check against your account. The longer write-ups stay separate: Claude, Claude Code, and Cursor. Resources lists those guides with the other tools. ChatGPT uses a different screen, covered in the Cursor and ChatGPT post.

ppl is a hosted personal CRM for contacts, notes, birthdays, and follow-ups. Open the agent setup page and copy this MCP URL:

https://withppl.com/mcp

The address ends in /mcp. Clients that support remote MCP and OAuth connect through your browser. You approve the permissions there. You do not create an API key by hand for this path, and you do not install a local ppl server. ppl is hosted at withppl.com today. A self-hosted version is coming soon.

Claude Desktop

Claude Desktop uses the same remote connector as claude.ai. You add it on your Claude account, then turn it on in the desktop app. Do not paste the hosted URL into claude_desktop_config.json. That file starts a local server on your computer. The in-app wizard lists the path:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

A local server in that file is a separate mechanism, and it is not available in claude.ai. The hosted server uses the connector steps on the setup page. Anthropic's connector guide is the same article linked from /agents.

On an individual Pro or Max plan:

  1. Open Customize, then Connectors.
  2. Choose + Add, then Add custom connector.
  3. Name the connector ppl.
  4. Paste https://withppl.com/mcp and continue.
  5. Review the authentication settings. Choose a sign-in option. ppl uses OAuth, so leave "No sign in" unselected. Under OAuth client, choose Register automatically. The setup page calls that choice automatic client registration. Leave request headers empty for this connection.
  6. Choose Add. Claude opens your browser so you can sign in and approve the requested permissions.

A free account can add one custom connector. On Team and Enterprise, an owner adds it first under Organization settings, then Connectors, then Add, then Custom, then Web, with the same URL and the same OAuth settings. Members then open Customize, then Connectors, and choose Connect on ppl. In a conversation, open the + menu, choose Connectors, and turn ppl on. Claude's custom connector guide describes those screens. The Claude memory post stays the longer version of this connector.

Claude Code

In a terminal, add the hosted server with the command from the setup page:

claude mcp add --transport http ppl https://withppl.com/mcp

To keep a personal CRM out of a shared project file, the Claude Code guide adds a user scope:

claude mcp add --transport http ppl --scope user https://withppl.com/mcp

Start Claude Code, run /mcp, select ppl, and follow the authentication link. The browser approval is the same one Claude Desktop uses. A project server named ppl can take precedence over the user entry, so check for a second ppl server if the URL looks wrong.

If you configure Claude Code from a file instead of that command, the client verification notes use this entry. It points at an environment variable and does not contain a token:

{
  "mcpServers": {
    "ppl": {
      "type": "http",
      "url": "https://withppl.com/mcp",
      "headers": {
        "Authorization": "Bearer ${PPL_TOKEN}"
      }
    }
  }
}

Set PPL_TOKEN from a credential store before you start Claude Code. The browser OAuth command above does not need this file.

Cursor

Open your personal Cursor MCP configuration at ~/.cursor/mcp.json. On Windows the wizard uses %USERPROFILE%\.cursor\mcp.json. The personal file applies across projects. Use .cursor/mcp.json only when you want the server in one project. Merge this entry into the existing mcpServers object so you keep the other servers you already use. This is the format on the setup page and in the Cursor guide:

{
  "mcpServers": {
    "ppl": {
      "url": "https://withppl.com/mcp"
    }
  }
}

Save the file, then open Cursor's MCP controls and connect ppl when Cursor prompts you. Follow the browser sign-in. Leave bearer tokens out of this file. OAuth stores the credential through Cursor. A project file named ppl can override the personal one. Cursor's current controls are in Cursor's MCP documentation.

Approve access in the browser

Each client opens the same approval. Enter your email. If you already have a ppl account, enter your password as well. If you are new, ppl creates the account from that email and sends a verification message. New users can create an account and verify their email during connection, before they approve. The consent screen lists what the connector will be able to do. Read the list, then choose Authorize.

You do not paste a token into Claude Desktop, Claude Code, or Cursor for this path. ppl also emails a link so you can set a password and sign in later. Connecting the second and third client uses that same account.

Ask who needs a follow-up

Start with a read. An empty account has little to report, and that is different from a failed connection.

Who should I follow up with this week? Use ppl. Tell me which
birthdays, follow-ups, or open tasks are coming up. Do not change
any records.

The answer should name people from the account you approved. A useful read calls agent.briefing.get or agent.actions.next. Open My agents and confirm that a request from this connection was recorded. If the account is empty, add one person you plan to talk to this week, or bring in contacts you already have. Then ask again.

If a client cannot use OAuth

Sign in and create a token in the MCP setup wizard. The wizard prints a bearer header for the client you select. For Claude Desktop and Cursor, that JSON adds transport and an Authorization header to the mcpServers entry, with the hosted URL. For Claude Code the wizard prints:

claude mcp add ppl --transport http https://withppl.com/mcp \
  --header "Authorization: Bearer YOUR_TOKEN"

Put the token in the client through the wizard's copy action. Do not paste it into chat, and do not commit it. If Claude Desktop ignores a URL inside claude_desktop_config.json, use the custom connector above. That file is for a local server. Removing a connector in the client does not always end account access. Revoke it in My agents when you are done.

Free during beta. Up to 1,000 contacts. No credit card.