MCP Server
Purl ships a remote Model Context Protocol server so AI clients like Claude, Cursor, and VS Code can save to and browse your library directly. It uses the Streamable HTTP transport and the same API keys as the REST API.
Endpoint: https://purl.nublson.com/api/mcp
Looking for plain HTTP instead? See the REST API reference.
Overview
MCP lets an AI client call tools on your behalf. Once connected, your assistant can save new links, list recent items, and fetch a single item — without leaving the chat. All calls are scoped to the account that owns the API key.
Getting Started
Generate an API key in Settings → Integrations, then pass it as a Bearer token in the Authorization header. Your client must support custom headers (most do).
Authorization: Bearer purl_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKeep your key secret — it grants full access to your saved content. A request with a missing or invalid key returns 401 Unauthorized.
App Setup
Point any MCP client at https://purl.nublson.com/api/mcp and add your Bearer token. Replace purl_… with your key.
Buttons use a placeholder key. After installing, replace purl_YOUR_KEY with a key from Settings → Integrations. “Add to Claude Code” and “Add to Codex” copy the install command to your clipboard.
Claude Code
claude mcp add purl --transport http https://purl.nublson.com/api/mcp \
--header "Authorization: Bearer purl_..."Claude Desktop
Settings → Connectors → Add custom connector. Enter the URL https://purl.nublson.com/api/mcp and add an Authorization header with your Bearer token.
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"purl": {
"url": "https://purl.nublson.com/api/mcp",
"headers": { "Authorization": "Bearer purl_..." }
}
}
}VS Code / Copilot
Add to .vscode/mcp.json:
{
"servers": {
"purl": {
"type": "http",
"url": "https://purl.nublson.com/api/mcp",
"headers": { "Authorization": "Bearer purl_..." }
}
}
}Codex
codex mcp add purl --url https://purl.nublson.com/api/mcpAdd your Bearer token via Codex's MCP header configuration.
MCP Inspector (testing)
npx @modelcontextprotocol/inspectorConnect via Streamable HTTP to https://purl.nublson.com/api/mcp with an Authorization header to list and try the tools.
Available Tools
save_link
Save a URL to your library. Works for web pages, PDFs, YouTube videos, and audio.
| Parameter | Type | Description |
|---|---|---|
| url* | string | The URL to save. |
list_saved_items
List your saved items (metadata only, newest first) with cursor pagination. The response includes a nextCursor for the following page.
| Parameter | Type | Description |
|---|---|---|
| contentType | WEB | YOUTUBE | PDF | AUDIO | Filter by content type. |
| limit | number | Maximum items to return (1–100, default 50). |
| cursor | string | Pagination cursor (ISO date) from a previous response. |
get_link
Fetch a single saved item by its id.
| Parameter | Type | Description |
|---|---|---|
| id* | string | The link id. |