claude.ai Connectors
Connect Papermark to claude.ai via the Connectors directory.
claude.ai's Connectors feature lets the web app talk to MCP servers running outside the browser. Papermark hosts an HTTP MCP endpoint so you don't need anything installed locally.
Setup
- Open claude.ai and go to Settings → Connectors.
- Click Add custom connector.
- Set the URL to:
https://mcp.papermark.com/mcp - Click Connect. claude.ai redirects you to Papermark to sign in and approve access (OAuth 2.0 authorization-code flow). Choose the workspace to grant access to, then click Authorize.
- claude.ai stores the OAuth token. You'll see
papermarklisted under your active connectors.
Verifying
Start a new conversation and check the Tools menu in the message
input. papermark should be there with all 44 tools.
Ask:
List my Papermark documents.
If auth went through, the agent calls list_documents and returns
the result.
Re-authorizing
OAuth access tokens last 90 days. Connector refresh is automatic if
you granted offline_access during setup (which is the default).
If you ever explicitly revoked the connector or your refresh token
expired, claude.ai will prompt you to reconnect: same flow as
setup, just one click.
To revoke from your side:
- In claude.ai: Settings → Connectors → papermark → Disconnect
- In Papermark: Settings → Authorized Apps → claude.ai → Revoke
What's available
The same tools as the stdio transport, plus request_document_upload
(44 over HTTP vs. 43 over stdio). upload_document over HTTP takes an
upload_id or a public HTTPS source_url instead of a local file.
See Tools for the full list.
Workflows that work especially well in the browser context:
- "Show me view analytics for the Q4 pitch deck."
- "Create a password-protected link to the investor memo and post the URL in this chat."
- "List every dataroom and its document count."
- "Who from Acme has viewed our materials this month?"
Limits
- Attached-file upload needs code execution. A file you attach in
chat is uploaded via a presigned URL:
request_document_upload→ PUT the bytes from the code-execution sandbox →upload_documentwith theupload_id(see Tools). Enable the analysis/code tool for this. Without it, upload from a public HTTPSsource_url, or use Claude Desktop / the CLI (stdio). - The storage domain must be allowed for egress. The code-execution
sandbox is network-isolated, so the PUT to the presigned S3 URL is
blocked unless the storage host is on your egress allowlist. On
Pro / Max egress defaults to all domains, so it just works. On
Team / Enterprise the default is package managers only — an
owner must go to Organization settings → Capabilities → Allow
network egress, choose package managers and specific domains, and
add the host of the returned
upload_url(an*.amazonaws.comS3 host), or select All domains. See Allow the storage domain. - No state between sessions. Each conversation starts fresh. The connector persists; the chat context doesn't.
- Rate limits apply. Same per-token budget as the REST API
(60 RPM by default). Heavy back-and-forth can hit it; the agent
surfaces the
rate_limit_exceedederror and waits.
Troubleshooting
| Symptom | Likely cause |
|---|---|
| Connect button does nothing | Pop-up blocker on the OAuth approval window |
| "Authorization failed" after approval | Browser blocked third-party cookies; try a different browser or whitelist app.papermark.com |
| Tools listed but every call returns 401 | Token expired and refresh failed; reconnect |
| Specific tool returns 403 | Token doesn't have that scope; reconnect with the missing scope |