PapermarkDocs
MCPClients

Claude Desktop

Wire Papermark into Claude Desktop's MCP configuration.

Claude Desktop reads MCP server definitions from a single JSON file on your machine. Adding Papermark is one paste + one restart.

1. Get a Papermark token

In the Papermark dashboard, open Settings → API Tokens and mint a token with the scopes you want the agent to have. Read-only is a sensible default — start with documents.read, links.read, analytics.read, then add write scopes if you want the agent to create things.

The token starts with pm_live_…. Copy it.

2. Edit the Claude config

The file lives at:

~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json

If it doesn't exist, create it. Add the papermark entry under mcpServers:

{
  "mcpServers": {
    "papermark": {
      "command": "npx",
      "args": ["-y", "@papermark/mcp-server"],
      "env": {
        "PAPERMARK_TOKEN": "pm_live_…"
      }
    }
  }
}

If you already have other MCP servers in the file, just add "papermark": { … } as a sibling entry — don't replace the whole mcpServers block.

3. Restart Claude Desktop

Quit and reopen the app. The first launch will install @papermark/mcp-server from npm (one-time, ~5 seconds). After that it's instant.

4. Verify

In a new chat, click the gear icon in the message input. Under Connected tools, you should see papermark with 17 tools listed (the stdio transport exposes 18 including upload_document).

Try:

List my Papermark documents.

If auth works, Claude responds with the list. If not, see Troubleshooting.

What you can ask

The agent picks tools based on the request. Some that work well:

  • "Find the Q4 pitch deck and create a password-protected link that expires in two weeks."
  • "Who viewed the investor memo this week?"
  • "How long did people spend on each page of the deck?"
  • "Create a dataroom called 'Acme — Series B' and tell me what documents are in our existing Acme folder."
  • "Upload ~/Desktop/term-sheet.pdf and share it with legal@acme.com only."

For uploads, Claude needs to be able to access your filesystem — the upload tool reads the path you give it. You'll see a permission prompt the first time.

Read-only mode

To prevent the agent from creating anything, mint a token with only *.read scopes. Write tools (create_link, create_dataroom, upload_document) will return 403 forbidden and the agent will say so plainly.

Troubleshooting

The MCP server logs to:

~/Library/Logs/Claude/mcp-server-papermark.log    # macOS

(Equivalent paths on Windows and Linux under the standard log directories.)

Common failures:

Log saysFix
No API token configured. Set PAPERMARK_TOKEN…The env block is missing or the token typo'd. Re-check the JSON.
Token rejected (401)Token revoked or for a different environment. Mint a new one.
403 forbidden on a specific toolToken lacks the scope for that tool. See Scopes.
npx: command not foundNode isn't installed (or not on PATH). Install Node 24+.
Tool list is empty in the gear menuJSON syntax error in the config file. Validate it.

After fixing, fully quit Claude Desktop (not just close window) and reopen.

On this page