diff options
| author | Mohamed Bassem <me@mbassem.com> | 2026-01-01 10:58:22 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2026-01-01 10:58:22 +0000 |
| commit | 4b54eeec0ebdd60d28ce865d56e079c4d11384ae (patch) | |
| tree | 8180003c92358d74a9796b48d3fd341fae8f8338 /docs/versioned_docs/version-v0.30.0/05-integrations | |
| parent | d472a3a1c428bad8ce2ddc0822fb5b327e9465d4 (diff) | |
| download | karakeep-4b54eeec0ebdd60d28ce865d56e079c4d11384ae.tar.zst | |
release(docs): release the 0.30 docs
Diffstat (limited to 'docs/versioned_docs/version-v0.30.0/05-integrations')
5 files changed, 279 insertions, 0 deletions
diff --git a/docs/versioned_docs/version-v0.30.0/05-integrations/02-command-line.md b/docs/versioned_docs/version-v0.30.0/05-integrations/02-command-line.md new file mode 100644 index 00000000..c8b00696 --- /dev/null +++ b/docs/versioned_docs/version-v0.30.0/05-integrations/02-command-line.md @@ -0,0 +1,114 @@ +# Command Line Tool (CLI) + +Karakeep comes with a simple CLI for those users who want to do more advanced manipulation. + +## Features + +- Manipulate bookmarks, lists and tags +- Mass import/export of bookmarks + +## Installation (NPM) + +``` +npm install -g @karakeep/cli +``` + + +## Installation (Docker) + +``` +docker run --rm ghcr.io/karakeep-app/karakeep-cli:release --help +``` + +## Usage + +``` +karakeep +``` + +``` +Usage: karakeep [options] [command] + +A CLI interface to interact with the karakeep api + +Options: + --api-key <key> the API key to interact with the API (env: KARAKEEP_API_KEY) + --server-addr <addr> the address of the server to connect to (env: KARAKEEP_SERVER_ADDR) + -V, --version output the version number + -h, --help display help for command + +Commands: + bookmarks manipulating bookmarks + lists manipulating lists + tags manipulating tags + whoami returns info about the owner of this API key + help [command] display help for command +``` + +And some of the subcommands: + +``` +karakeep bookmarks +``` + +``` +Usage: karakeep bookmarks [options] [command] + +Manipulating bookmarks + +Options: + -h, --help display help for command + +Commands: + add [options] creates a new bookmark + get <id> fetch information about a bookmark + update [options] <id> updates bookmark + list [options] list all bookmarks + delete <id> delete a bookmark + help [command] display help for command + +``` + +``` +karakeep lists +``` + +``` +Usage: karakeep lists [options] [command] + +Manipulating lists + +Options: + -h, --help display help for command + +Commands: + list lists all lists + delete <id> deletes a list + add-bookmark [options] add a bookmark to list + remove-bookmark [options] remove a bookmark from list + help [command] display help for command +``` + +## Obtaining an API Key + +To use the CLI, you'll need to get an API key from your karakeep settings. You can validate that it's working by running: + +``` +karakeep --api-key <key> --server-addr <addr> whoami +``` + +For example: + +``` +karakeep --api-key mysupersecretkey --server-addr https://try.karakeep.app whoami +{ + id: 'j29gnbzxxd01q74j2lu88tnb', + name: 'Test User', + email: 'test@gmail.com' +} +``` + + +## Other clients + +There also exists a **non-official**, community-maintained, python package called [karakeep-python-api](https://github.com/thiswillbeyourgithub/karakeep_python_api) that can be accessed from the CLI, but is **not** official. diff --git a/docs/versioned_docs/version-v0.30.0/05-integrations/03-mcp.md b/docs/versioned_docs/version-v0.30.0/05-integrations/03-mcp.md new file mode 100644 index 00000000..514332de --- /dev/null +++ b/docs/versioned_docs/version-v0.30.0/05-integrations/03-mcp.md @@ -0,0 +1,65 @@ +# Model Context Protocol Server (MCP) + +Karakeep comes with a Model Context Protocol server that can be used to interact with it through LLMs. + +## Supported Tools + +- Searching bookmarks +- Adding and removing bookmarks from lists +- Attaching and detaching tags to bookmarks +- Creating new lists +- Creating text and URL bookmarks + + +## Usage with Claude Desktop + +From NPM: + +```json +{ + "mcpServers": { + "karakeep": { + "command": "npx", + "args": [ + "@karakeep/mcp" + ], + "env": { + "KARAKEEP_API_ADDR": "https://<YOUR_SERVER_ADDR>", + "KARAKEEP_API_KEY": "<YOUR_TOKEN>" + } + } + } +} +``` + +From Docker: + +```json +{ + "mcpServers": { + "karakeep": { + "command": "docker", + "args": [ + "run", + "-e", + "KARAKEEP_API_ADDR=https://<YOUR_SERVER_ADDR>", + "-e", + "KARAKEEP_API_KEY=<YOUR_TOKEN>", + "ghcr.io/karakeep-app/karakeep-mcp:latest" + ] + } + } +} +``` + + +### Demo + +#### Search + + +#### Adding Text Bookmarks + + +#### Adding URL Bookmarks + diff --git a/docs/versioned_docs/version-v0.30.0/05-integrations/05-singlefile.md b/docs/versioned_docs/version-v0.30.0/05-integrations/05-singlefile.md new file mode 100644 index 00000000..c0f4e174 --- /dev/null +++ b/docs/versioned_docs/version-v0.30.0/05-integrations/05-singlefile.md @@ -0,0 +1,46 @@ +# Using Karakeep with SingleFile Extension + +Karakeep supports being a destination for the [SingleFile extension](https://github.com/gildas-lormeau/SingleFile). This has the benefit of allowing you to use the singlefile extension to hoard links as you're seeing them in the browser. This is perfect for websites that don't like to get crawled, has annoying cookie banner or require authentication. + +## Setup + +1. Install the [SingleFile extension](https://github.com/gildas-lormeau/SingleFile). +2. In the extension settings, select `Destinations`. +3. Select `upload to a REST Form API`. +4. In the URL, insert the address: `https://YOUR_SERVER_ADDRESS/api/v1/bookmarks/singlefile`. +5. In the `authorization token` field, paste an API key that you can get from your karakeep settings. +6. Set `data field name` to `file`. +7. Set `URL field name` to `url`. +8. (Optional) Add `&ifexists=MODE` to the URL where MODE is one of `skip`, `overwrite`, `overwrite-recrawl`, `append`, or `append-recrawl`. See "Handling Existing Bookmarks" section below for details. + +Now, go to any page and click the singlefile extension icon. Once it's done with the upload, the bookmark should show up in your karakeep instance. Note that the singlefile extension doesn't show any progress on the upload. Given that archives are typically large, it might take 30+ seconds until the upload is done and starts showing up in Karakeep. + +## Handling Existing Bookmarks + +When uploading a page that already exists in your archive (same URL), you can control the behavior by setting the `ifexists` query parameter in the upload URL. The available modes are: + +- `skip` (default): If the bookmark already exists, skip creating a new one +- `overwrite`: Replace existing precrawled archive (only the most recent archive is kept) +- `overwrite-recrawl`: Replace existing archive and queue a recrawl to update content +- `append`: Add new archive version alongside existing ones +- `append-recrawl`: Add new archive and queue a recrawl + +To use these modes, append `?ifexists=MODE` to your upload URL, replacing `MODE` with your desired behavior. + +For example: +`https://YOUR_SERVER_ADDRESS/api/v1/bookmarks/singlefile?ifexists=overwrite` + + +## Recommended settings + +In the singlefile extension, you probably will want to change the following settings for better experience: +* Stylesheets > compress CSS content: on +* Stylesheets > group duplicate stylesheets together: on +* HTML content > remove frames: on + +Also, you most likely will want to change the default `MAX_ASSET_SIZE_MB` in karakeep to something higher, for example `100`. + +:::info +Currently, we don't support screenshots for singlefile uploads, but this will change in the future. +::: + diff --git a/docs/versioned_docs/version-v0.30.0/05-integrations/06-rss-feeds.md b/docs/versioned_docs/version-v0.30.0/05-integrations/06-rss-feeds.md new file mode 100644 index 00000000..e633813c --- /dev/null +++ b/docs/versioned_docs/version-v0.30.0/05-integrations/06-rss-feeds.md @@ -0,0 +1,50 @@ +# RSS Feeds + +Karakeep offers RSS feed integration, allowing you to both consume RSS feeds from external sources and publish your lists as RSS feeds for others to subscribe to. + +## Publishing RSS Feeds + +You can publish any of your lists as an RSS feed, making it easy to share your bookmarks with others or integrate them into RSS readers. + +### Enabling RSS for a List + +1. Navigate to one of your lists +2. Click on the list settings (three dots menu) +3. Toggle the "RSS Feed" switch to enable it +4. Copy the generated RSS feed URL + +### What Gets Published + +RSS feeds include: +- **Links**: Bookmarks of type "link" with their URL, title, description, and author +- **Assets**: Uploaded files (PDFs, images) are included with a link to view them +- **Tags**: Bookmark tags are exported as RSS categories +- **Dates**: The bookmark creation date is used as the publication date + +Note: Text notes are not included in RSS feeds as they don't have an associated URL. + +### Security Considerations + +- Each RSS feed requires a unique token for access +- Tokens can be regenerated at any time, which will invalidate the old URL +- Disabling RSS for a list immediately revokes access + +## Consuming RSS Feeds + +Karakeep can automatically monitor RSS feeds and create bookmarks from new entries, making it perfect for staying up to date with blogs, news sites, and other content sources. + +### Adding an RSS Feed + +1. Go to **Settings** → **RSS Feeds** +2. Click **Add Feed** +3. Enter the feed details: + - **Name**: A friendly name for the feed + - **URL**: The RSS/Atom feed URL + - **Enabled**: Toggle to enable/disable the feed + - **Import Tags**: Enable to import RSS categories as bookmark tags + +### How It Works + +- Karakeep checks enabled RSS feeds **every hour** +- New entries are automatically created as bookmarks +- Duplicate entries are automatically detected and skipped diff --git a/docs/versioned_docs/version-v0.30.0/05-integrations/_category_.json b/docs/versioned_docs/version-v0.30.0/05-integrations/_category_.json new file mode 100644 index 00000000..e526841b --- /dev/null +++ b/docs/versioned_docs/version-v0.30.0/05-integrations/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "🔌 Integrations", + "position": 5 +} |
