MCP
Connect Purl to Claude and other AI assistants with the MCP server to save and organize links from a chat.
Purl has an MCP server, so Claude and other AI assistants can save links for you, find what you saved, and keep your folders tidy, all from a chat. It works on your account with the same rules as the app.
The server URL is https://purl.live/api/mcp (Streamable HTTP).
There are two ways to sign in. Use whichever your assistant supports:
- Sign in with Purl (OAuth): add the server URL, and your assistant opens Purl so you can sign in and approve it. Nothing to copy.
- API key: create a key under Settings → Integrations in Purl (it starts with
purl_and is shown once) and send it asAuthorization: Bearer purl_your_key.
In Claude's settings, add a custom connector with the URL https://purl.live/api/mcp, then connect it. Claude opens Purl: sign in and approve, and Purl's tools show up in your chats.
claude mcp add --transport http purl https://purl.live/api/mcpThen run /mcp in Claude Code and sign in to Purl. To use an API key instead:
claude mcp add --transport http purl https://purl.live/api/mcp \
--header "Authorization: Bearer purl_your_key"Most clients take a JSON entry like this (in Cursor, ~/.cursor/mcp.json):
{
"mcpServers": {
"purl": {
"url": "https://purl.live/api/mcp",
"headers": { "Authorization": "Bearer purl_your_key" }
}
}
}Clients that support OAuth can leave out headers and sign in instead.
Apps you connected with OAuth are listed under Settings → Integrations, next to your API keys. Disconnect an app or revoke a key there, and it loses access right away.
- "Save this article to my Reading list: https://example.com/article (opens in a new tab)"
- "What did I save this week?"
- "Move my last three links into a new folder called Design."
- "Share my Recipes folder and give me the link."
- "Put my folders in alphabetical order."
| Tool | What it does |
|---|---|
save_link | Saves a URL (a web page, PDF, YouTube video or audio), optionally into a folder. Purl reads its title, description and thumbnail first. Saving a URL you already have refreshes it instead of adding a copy. |
list_saved_items | Lists your links, newest first: up to 100 at a time, with a cursor for the next page. Filters by contentType (WEB, YOUTUBE, PDF, AUDIO) or folderId. |
get_link | Gets one link by its id. |
list_folders | Lists your folders in your order, with each one's id, name, emoji, description, link count and position. |
create_folder | Creates a folder with a name (up to 60 characters), and optionally an emoji and a description (up to 160 characters). |
update_folder | Renames a folder, changes its emoji or description, or shares it: isPublic: true makes it readable by anyone at purl.live/@your-username/folder-slug (not indexed by search engines). |
delete_folder | Deletes a folder. Its links are kept, outside any folder, unless deleteLinks is true, which deletes them for good. |
reorder_folders | Sets your folders' order. Takes every folder id, first to last. |
move_link | Moves a link into a folder, or out of its folder with folderId: null. |
move_links | Moves several links at once and reports where each one was, plus any ids it couldn't find. |
Assistants only change what you ask for. The one tool that can delete links is delete_folder with deleteLinks, and most clients ask you to confirm before running it.
- The same limits as the app: up to 1,000 saved links and 100 folders per account.
- Up to 60 requests a minute per account.
Building something of your own? The API covers the same things over plain HTTP.