Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.bookmarkjar.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The Bookmarkjar skill lets you search and save bookmarks directly from Claude Code (CLI or VS Code) using a simple slash command — no MCP configuration needed.
You’ll need an API key. Create one in Dashboard → Profile → API Keys.

Install

1

Create the skill directory

mkdir -p ~/.claude/skills/bookmarkjar
2

Create the skill file

Copy the content from the Skill Source section below and save it as:
~/.claude/skills/bookmarkjar/SKILL.md
3

Set your API key

Add to your shell profile (~/.zshrc, ~/.bashrc, etc.):
export BOOKMARKJAR_API_KEY="your-api-key-here"
Then reload your shell:
source ~/.zshrc
4

Use it

Open Claude Code and type:
/bookmarkjar react hooks state management
Claude will search your bookmarks and return results. You can also ask it to save URLs:
/bookmarkjar save https://react.dev/reference/react/useState

What it does

The skill gives Claude Code two capabilities:
ActionExample
Search bookmarks by keywords, tags, or domain/bookmarkjar typescript testing patterns
Save one or more URLs as bookmarks/bookmarkjar save https://example.com
Claude interprets your natural language query and calls the Bookmarkjar API automatically.

Examples

/bookmarkjar find all React bookmarks tagged with hooks
/bookmarkjar search for database migration guides
/bookmarkjar save https://drizzle.team/docs/orm https://orm.drizzle.team
/bookmarkjar what bookmarks do I have about kubernetes?

Skill Source

If you prefer to create the file manually, save this as ~/.claude/skills/bookmarkjar/SKILL.md:
---
name: bookmarkjar
description: Search and save bookmarks from Bookmarkjar. Use when the user wants to find, search, list, or save bookmarks.
user-invocable: true
allowed-tools: Bash
argument-hint: [search query or "save URL"]
---

# Bookmarkjar Skill

Search or save bookmarks via the Bookmarkjar API.

## How to use

Parse the user's intent from `$ARGUMENTS`:

- If it contains "save" or a raw URL → **insert** the URL(s)
- Otherwise → **search** with the query

## Search

Call the API to search bookmarks:

curl -s -X POST "https://bookmarkjar.com/api/tools/mcp" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $BOOKMARKJAR_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "bookmarks.search",
      "arguments": { "search": "<query>", "limit": 10 }
    }
  }'

Display results as a readable list with title, URL, tags, and description.

## Insert

Call the API to save bookmarks:

curl -s -X POST "https://bookmarkjar.com/api/tools/mcp" \
  -H "Content-Type: application/json" \
  -H "x-api-key: $BOOKMARKJAR_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "bookmarks.insert",
      "arguments": { "urls": ["<url1>", "<url2>"] }
    }
  }'

Confirm how many bookmarks were saved.

## Error handling

- If `$BOOKMARKJAR_API_KEY` is not set, tell the user to set it
- If the API returns an error, show the error message

MCP vs Skill

FeatureMCP ServerSkill
SetupJSON config + restartCopy one file
Works inAny MCP client (Claude, Cursor, etc.)Claude Code only
AuthHandled by client headersEnvironment variable
ToolsAuto-discoveredNatural language routing
For the best experience, use both: the MCP server for always-on tool access, and the skill for quick slash-command searches.