Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Paper MCP Serverlist my recent paper documents"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Paper MCP Server
MCP server that connects to Paper's WebSocket API for canvas node operations.
Setup
Install dependencies:
npm installBuild the project:
npm run buildConfiguration
Copy
env.exampleto.env:
cp env.example .envEdit
.envand fill in your values (or set environment variables directly):
# Required: Full cookie string from Paper website
# Get this from your browser's developer tools -> Application -> Cookies -> paper.design
# Should include all three cookies: paper-preauth-user-info, D7pPzj4phQRAjBC01, and ph_phc_...
PAPER_COOKIES=paper-preauth-user-info=...; D7pPzj4phQRAjBC01=...; ph_phc_dYB3kPJF9dv2vFhHjPmuuU5D7yQVDFtMYJQpVEXu9Ku_posthog=...
# Optional: Document ID to connect to (defaults to example ID)
# You can get document IDs from the list_user_documents tool or from Paper URLs
PAPER_DOCUMENT_ID=01KBWAZRVPXZZ1Y0EZ5FDT7ZYW
# Optional: Enable debug logging for WebSocket messages
DEBUG=falseGetting Your Cookies
Open Paper in your browser (https://app.paper.design)
Open Developer Tools (F12)
Go to Application → Cookies → https://app.paper.design
Copy the values for these cookies:
paper-preauth-user-infoD7pPzj4phQRAjBC01ph_phc_dYB3kPJF9dv2vFhHjPmuuU5D7yQVDFtMYJQpVEXu9Ku_posthog
Format them as:
cookie1=value1; cookie2=value2; cookie3=value3
Connecting to Cursor
Option 1: Using Cursor Settings (Recommended)
Open Cursor Settings (Ctrl+, or Cmd+,)
Search for "MCP" or navigate to Features → Model Context Protocol
Click "Add MCP Server" or "Edit Config"
Add the following configuration:
On Windows:
{
"mcpServers": {
"paper": {
"command": "node",
"args": ["C:\\Users\\grim\\paper-mcp\\dist\\index.js"],
"env": {
"PAPER_COOKIES": "your-cookie-string-here",
"PAPER_DOCUMENT_ID": "01KBWAZRVPXZZ1Y0EZ5FDT7ZYW",
"DEBUG": "false"
}
}
}
}On macOS/Linux:
{
"mcpServers": {
"paper": {
"command": "node",
"args": ["/path/to/paper-mcp/dist/index.js"],
"env": {
"PAPER_COOKIES": "your-cookie-string-here",
"PAPER_DOCUMENT_ID": "01KBWAZRVPXZZ1Y0EZ5FDT7ZYW",
"DEBUG": "false"
}
}
}
}Replace the paths and cookie values with your actual values
Restart Cursor
Option 2: Using MCP Config File
Find your Cursor MCP config file:
Windows:
%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.jsonmacOS:
~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonLinux:
~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Add the server configuration (same JSON as above)
Restart Cursor
Option 3: Using dotenv (Alternative)
If you prefer using a .env file:
Install
dotenv-cli:npm install -g dotenv-cliUpdate the Cursor config to use:
{
"mcpServers": {
"paper": {
"command": "dotenv",
"args": ["-e", ".env", "--", "node", "dist/index.js"],
"cwd": "C:\\Users\\grim\\paper-mcp"
}
}
}Usage
Once connected to Cursor, you can use the Paper tools in your conversations:
"List my Paper documents"
"Show me all nodes on the canvas"
"Get details of node XYZ"
"Create a new rectangle node at position (100, 200)"
"Update node ABC with new properties"
"Delete node DEF"
The server communicates via stdio using MCP JSON-RPC protocol.
Tools
list_user_documents: Get user's recent Paper documentslist_nodes: List all nodes on the canvasget_node: Get details of a specific nodecreate_node: Create a new nodeupdate_node: Update node propertiesdelete_node: Delete a node