Skip to content

Connect Penlo to Claude

Search your handwritten notes from Claude, ChatGPT, and any AI assistant

Power plan required

1 What is Penlo MCP?

Penlo MCP is a small connector that lets any AI assistant — Claude, ChatGPT, Cursor, VS Code, and others — search and read your handwritten notes during a conversation. No copy-paste, no file uploads, no export step. Ask the assistant a question about something you wrote in a notebook, and it queries Penlo directly to find the answer.

Under the hood it speaks the Model Context Protocol (MCP), an open standard from Anthropic. Penlo runs an MCP server that exposes three tools:

  • search_notes — full-text search across the OCR content of every notebook you've synced.
  • find_notebook — locate a notebook by its title or PDF filename.
  • list_recent_notes — list your most recently synced notebooks.

Each user's API key is scoped to their own notes only. The MCP server filters every query by the authenticated user — there's no shared index and no cross-user access.

2 Prerequisites

Before you start, make sure you have:

  • A Penlo account on the Power plan. MCP access is a Power-tier feature. Upgrade in Penlo Settings → Subscription.
  • At least one notebook synced and OCR'd. Penlo's MCP server only returns notebooks whose handwriting has been processed. If you've just signed up, give the first sync a few minutes to complete.
  • An MCP-compatible AI client. Claude Desktop is the easiest. ChatGPT, Cursor, VS Code, Claude Code, Windsurf, Zed, and others work too.

OCR must finish before MCP can read a notebook. Penlo's MCP server only returns notebooks whose handwriting has been processed into searchable text. If you've just synced a notebook for the first time, give OCR a minute or two to complete — check the status badge in your Penlo dashboard. Notebooks that failed OCR or are still pending won't appear in search results.

As of mid-2026, custom MCP servers are paid-tier-only on most consumer AI clients. ChatGPT requires Plus or higher, Cursor requires the paid plan, and so on. This is a vendor-side decision and not specific to Penlo.

3 Generate your API key

Every client you install needs the same API key. Generate one first, then reuse it.

  1. In Penlo, open Settings → API.
  2. Click Generate API Key.
  3. Copy the key immediately and store it somewhere safe — a password manager is ideal. The full key is shown only once and cannot be retrieved later. Only the prefix is kept visible in your settings for identification.

If you lose your key, generate a new one and update each client. Old keys can be revoked anytime from Settings → API.

4 Install in Claude Desktop

Claude Desktop supports a one-click installer format called .mcpb (MCP Bundle). It's the cleanest install path — no JSON editing, no terminal commands.

Download the Penlo extension

~5 MB · macOS, Windows, Linux · Claude Desktop 0.10+

Download .mcpb

Install the bundle

Two paths are available. Use whichever is convenient.

Path A — Double-click

  1. Find penlo-mcp.mcpb in your Downloads folder.
  2. Double-click the file. Claude Desktop opens automatically and shows an install dialog for Penlo.
  3. Click Install.

Path B — Install from inside Claude Desktop

Useful if double-clicking is blocked by macOS Gatekeeper or you prefer to install from within the app.

  1. Open Claude Desktop and go to Settings → Extensions.
  2. Click Advanced settings and find the Extension Developer section.
  3. Click Install Extension… and select the penlo-mcp.mcpb file you downloaded.

Enter your API key

After installing, Claude Desktop prompts you for a Penlo API Key. Paste the key from Section 3 and click Save. Claude stores the key securely in your operating system's keychain — it's never written to disk in plain text.

If macOS shows "Cannot open because it's from an unidentified developer," use Path B instead. The .mcpb file is signed for installation through Claude Desktop, but Apple's Gatekeeper sometimes flags double-clicks of files it hasn't seen before.

5 Your first conversation

Start a new chat in Claude and try one of these prompts:

  • "Search my Penlo notes for [a topic you've written about]."
  • "What did I write about most recently?"
  • "Find my notebook called [some title] and summarize it."

Claude will expand a tool-call panel showing which Penlo tool it's using and the result it received, then weave that into its response. If you see real content from your notebooks come back, you're set.

For a longer list of useful prompts — including reasoning across multiple notebooks, drafting from your notes, and finding gaps in your own thinking — see the blog post on getting more out of Penlo MCP.

6 Install in ChatGPT

ChatGPT supports custom MCP servers via Developer Mode in Connectors. Available on Plus, Pro, Business, Enterprise, and Education plans on the web.

ChatGPT Plus, Pro, Business, Enterprise

Configure Penlo as a custom connector in ChatGPT's web settings.

Step 1 — Install Node.js (if you don't have it)

Penlo's MCP server runs on Node.js 18 or newer. Most modern machines already have it; check by running node --version in a terminal. If you don't, install from nodejs.org.

Step 2 — Add the connector

  1. In ChatGPT (web), click your profile icon → SettingsConnectors.
  2. Toggle on Developer Mode.
  3. Click Add MCP server and fill in:
    • Name: Penlo
    • Command: npx
    • Args: -y @penloapp/mcp-server
    • Environment variables:
      PENLO_API_URL = https://notes.penlo.app/mcp
      PENLO_API_KEY = your_penlo_api_key_here
  4. Save. Start a new conversation. Try the prompts from Section 5.

7 Install in Cursor

Cursor Paid plan required

Reference your handwritten notes while you code. Cursor reads MCP config from a JSON file.

Step 1 — Locate or create the config file

  • macOS / Linux: ~/.cursor/mcp.json
  • Windows: %USERPROFILE%\.cursor\mcp.json

Create the file if it doesn't exist.

Step 2 — Add the Penlo entry

Paste this into the file. If you already have other MCP servers configured, add the penlo entry alongside them inside mcpServers.

{
  "mcpServers": {
    "penlo": {
      "command": "npx",
      "args": ["-y", "@penloapp/mcp-server"],
      "env": {
        "PENLO_API_URL": "https://notes.penlo.app/mcp",
        "PENLO_API_KEY": "your_penlo_api_key_here"
      }
    }
  }
}

Step 3 — Restart Cursor

Penlo tools appear in Cursor's chat tool list. Mention them in a prompt or wait for Cursor to invoke them automatically.

8 Install in VS Code

VS Code GitHub Copilot subscription

Use Penlo from GitHub Copilot Chat inside Visual Studio Code.

Step 1 — Locate or create the config file

For workspace-scoped config, create .vscode/mcp.json in your project root. For user-scoped config, edit the user-level mcp.json in VS Code settings.

Step 2 — Add the Penlo entry

Note that VS Code uses servers (not mcpServers like Cursor).

{
  "servers": {
    "penlo": {
      "command": "npx",
      "args": ["-y", "@penloapp/mcp-server"],
      "env": {
        "PENLO_API_URL": "https://notes.penlo.app/mcp",
        "PENLO_API_KEY": "your_penlo_api_key_here"
      }
    }
  }
}

Step 3 — Reload the window

Run Developer: Reload Window from the command palette. Penlo tools appear in Copilot Chat's tool list.

9 Install in Claude Code

Claude Code

If you use Claude Code (the CLI) rather than Claude Desktop, register Penlo with a single command.

claude mcp add penlo \
  --command npx \
  --args "-y @penloapp/mcp-server" \
  --env PENLO_API_URL=https://notes.penlo.app/mcp \
  --env PENLO_API_KEY=your_penlo_api_key_here

Penlo's three tools become available in your next Claude Code session.

10 Other MCP clients

Windsurf, Zed, Cline, Continue, and Gemini desktop apps all support MCP. The config shape matches the Cursor or VS Code example above — find your client's MCP config docs and drop in the same command / args / env block.

If your client supports MCP and Penlo doesn't work after configuration, let us know at hello@penlo.app with the client name and we'll help you get it running.

11 Troubleshooting

Symptom Likely cause & fix
"Invalid API key" error The key was rotated or copied with whitespace. Generate a new key in Settings → API and reinstall.
"Upgrade required" or 403 error Your Penlo account is not on the Power plan. Upgrade in Settings → Subscription.
Tools don't appear in Claude / ChatGPT / etc. Restart the client after install. For JSON-config clients, double-check the file is valid JSON.
Search returns empty results OCR may still be processing. Penlo's MCP server only returns notebooks where OCR has completed. Check sync status in the Penlo dashboard.
macOS "unidentified developer" warning Use Path B — install from inside Claude Desktop's Settings → Extensions instead of double-clicking.
npx: command not found Node.js 18+ is not installed. Get it from nodejs.org and restart your terminal.
Connection works but answers are wrong The OCR may have misread your handwriting. Open the notebook in Penlo and verify the OCR text under the page.

12 Privacy & what gets shared

When you use Penlo MCP, the AI client sends a search query (e.g. "flat white prices") to Penlo's server, and Penlo returns matching OCR text from your notebooks. The AI client then uses that text to compose its response.

A few specifics worth knowing:

  • Your handwritten content reaches the AI provider. Whatever Claude or ChatGPT returns to you is composed using the OCR text Penlo sent. That text is part of the conversation and follows the AI provider's data handling policy.
  • Penlo authenticates every request. Each request must include a valid Penlo API key. Without it, no data is returned.
  • API keys are scoped per user. A key only ever returns the notebooks of the user it belongs to. There's no shared index.
  • You can revoke access anytime. Generate a new key in Settings → API to invalidate the old one. Or uninstall the connector from the client side.

For full details, see the Penlo Privacy Policy.

13 Support

Run into something this guide doesn't cover? We'd like to know.

Email: hello@penlo.app

Status & release notes: penlo.app/changelog

Web: penlo.app