# Linkwarden MCP

> Linkwarden connects your private web archive directly to your AI agent. It lets you treat all your saved bookmarks, articles, and web pages like a structured knowledge base. You can list collections, create new links, preserve full-page archives (even if the original site dies), and manage metadata—all by just talking to your agent.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** bookmark-manager, web-archiving, link-organization, self-hosted, collaborative-tools, content-preservation

## Description

You connect your private web archive directly to your agent, treating every saved bookmark, article, and webpage like a structured knowledge base you can talk to. The system gives you full control over link records and collections without ever touching a browser. You'll find that the core function of this server is managing links—you can create new bookmarks using `create_link`, or pull all stored details for any single bookmark ID with `get_link`. If you need to adjust an existing entry, you use `update_link` to change descriptions or tags; and if you've got a bunch of changes for multiple links, `bulk_update_links` handles adding or changing tags and collections for them all at once. To organize your bookmarks into logical groups, the agent lets you see every folder with `list_collections`, create an empty folder using `create_collection`, or change that folder's name or properties by calling `update_collection`. You can also delete a whole group of links permanently using `delete_collection`. Getting details on any specific grouping is easy; simply requesting the collection ID runs `get_collection`.

When it comes to preserving content, you don't just get a link—you get an archive. The system retrieves the full preserved file for a given link ID with `get_archive`, guaranteeing access even if the original site goes belly-up. If you want to make sure the data is current, you can force an update of a link's archive files by running `archive_link`. You can also upload local backups; either `upload_standalone_archive` takes a file and automatically makes it a new record, or if you just need to supplement an existing entry, you use `upload_archive_for_link`. For quick access, the agent generates a temporary URL token via `get_preserved_token`, letting you view archived content for a limited time. You can even stream a live, preserved view of the webpage itself using `stream_preserved_view`.

You don't just save links; you annotate them. The system lets you add or update specific notes and highlights on an existing page’s content by calling `create_highlight`. To see everything noted down for one link, run `get_link_highlights`, and if you need to remove old notes, `delete_highlight` clears out a set of highlights or notes you previously added. For managing public sharing settings, you can pull all links from a collection that's marked as public using `get_public_collection_links`, or retrieve the tags applied to a specific public-facing folder with `get_public_collection_tags`. You can also see which RSS feeds are subscribed to by calling `list_rss`.

Need an overview of your library? The agent fetches structured data about all your saved content, giving you dashboard metrics using both the older format (`get_dashboard_v1`) and the newest, detailed structure with `get_dashboard_v2`. If you need to change how that dashboard looks or behaves, `update_dashboard_v2` handles those rules. You can also get the public settings and runtime configuration for your entire Linkwarden instance via `get_config`, and if there are login details floating around, `get_logins` retrieves them.

Handling user accounts is straightforward. If you forget your password, the system sends a reset email using `auth_forgot_password`; then you can change it with a secure token by calling `auth_reset_password`. To confirm that an email address belongs to the account, run `auth_verify_email`. For moving or backing up your data, you pull all user info—including collections and links—into export format using `get_migration`, and when you're ready to restore it on a new instance, you process that data with `import_migration`.

## Tools

### archive_link
Forces an update of a link's archive files, saving the current state of the webpage.

### bulk_update_links
Adds or changes tags and collections for many links at once.

### create_collection
Makes a new, empty folder (collection) to group related bookmarks.

### create_highlight
Adds or updates specific notes and highlights on an existing link's content.

### create_link
Adds a brand new URL to your entire knowledge base.

### delete_collection
Permanently removes an entire folder of links and their contents.

### delete_highlight
Removes a set of highlights or notes you previously added to a link.

### auth_forgot_password
Sends a password reset email to initiate account recovery.

### get_archive
Retrieves the preserved archive file for a given link ID, ensuring content access.

### get_avatar
Fetches the user's profile picture URL or identifier.

### get_collection
Retrieves all details about a specific collection by its unique ID.

### get_config
Gets the public settings and runtime configuration for your Linkwarden instance.

### get_dashboard_v1
Retrieves general dashboard metrics about your saved content using version 1 data.

### get_dashboard_v2
Retrieves detailed and structured dashboard metrics using the newest (version 2) data format.

### get_link_highlights
Fetches all the highlights and notes associated with a specific link.

### get_link
Pulls all stored details for a single link based on its ID.

### get_logins
Retrieves current login configuration settings for the system.

### get_migration
Pulls all user data, collections, and links into a format ready to be exported or moved elsewhere.

### get_preserved_token
Generates a temporary URL token that allows viewing archived content for a limited time.

### get_public_collection_links
Gets a list of links from a collection that is marked as public.

### get_public_collection_tags
Retrieves the tags applied to a specific, public-facing collection.

### import_migration
Accepts and processes data meant for migrating or restoring the entire knowledge base.

### list_collections
Retrieves a list of every collection currently stored in your instance.

### list_rss
Shows which RSS feeds are subscribed to by the system.

### auth_reset_password
Allows you to change your password using a secure token.

### stream_preserved_view
Streams a live, archived view of a web page in its preserved format for viewing.

### update_collection
Changes the name or other properties of an existing collection folder.

### update_dashboard_v2
Modifies the layout and structure of the dashboard using version 2 data rules.

### update_link
Changes core details (like the description or tags) of an existing link record.

### upload_archive_for_link
Uploads a local archive file to replace or supplement the archived version for a specific link.

### upload_standalone_archive
Uploads an archive file and automatically creates a new, linked record in your system.

### auth_verify_email
Confirms that a provided email address belongs to the account.

## Prompt Examples

**Prompt:** 
```
List all my Linkwarden collections.
```

**Response:** 
```
I've retrieved your collections. You have 3 collections: 'Research' (ID: 1), 'Recipes' (ID: 2), and 'Tech News' (ID: 3).
```

**Prompt:** 
```
Create a new collection called 'Project Alpha' with ID 'alpha-01'.
```

**Response:** 
```
Successfully created the collection 'Project Alpha' with ID 'alpha-01'. You can now start adding links to it.
```

**Prompt:** 
```
Show me my dashboard summary.
```

**Response:** 
```
Fetching your dashboard data... You currently have 150 links across 5 collections, with 120 successfully archived.
```

## Capabilities

### Manage Links and Collections
Create, read, update, and delete link records and the groups (collections) they belong to.

### Archive Web Content
Generate or retrieve full-page archive files for a specific web link ID, ensuring content preservation.

### Retrieve System Data
Fetch structured data about your entire knowledge base, including dashboard statistics and public configurations.

### Handle User Accounts
Execute authentication flows like password resets or email verification needed to secure the instance.

## Use Cases

### The Research Deep Dive
A PhD student saves dozens of articles over six months. Instead of having 50 different bookmarks in 10 folders, they ask the agent to `list_collections` and then use a prompt like: 'Get me all links from my 'Quantum Physics' collection that need an archive update.' The agent runs `get_link` for each one, calls `archive_link`, and confirms it. Result: A fully archived, clean set of source material.

### The Technical Documentation Update
A developer finds a new API endpoint link. They don't just copy the URL; they ask the agent to `create_link`, then immediately run `create_highlight` with notes on its usage, and finally use `update_collection` to place it in 'V3 APIs'. The process is fast, traceable, and keeps documentation organized.

### The Knowledge Audit
A content team needs to know what resources they saved last quarter. They ask the agent for a summary using `get_dashboard_v2`. The agent returns metrics showing 400 links across 15 collections, allowing them to immediately identify gaps or areas of under-archiving.

### The Content Migration
A user needs to move their entire library off the current system. They instruct the agent to run `get_migration`. The server packages up all user info, links, and collections into a single structured data payload, ready for export.

## Benefits

- Never lose a source. By using `get_archive` or `upload_standalone_archive`, you ensure that even if the original website goes down, your agent can retrieve the full content history.
- Centralize everything. You don't have to jump between bookmark managers and note apps. The agent handles link creation (`create_link`) and collection organization (`list_collections`) all in one chat session.
- Manage scale without friction. Use `bulk_update_links` or `update_collection` to apply tags, change folders, or modify dozens of links at once, instead of clicking through them individually.
- Keep your research flowing. The agent allows you to instantly retrieve dashboard insights (`get_dashboard_v2`)—you see exactly how much knowledge you've stored without leaving the chat window.
- Control metadata directly. Need to add a specific note or highlight? Use `create_highlight` to attach context to a link, making it more than just a URL.

## How It Works

The bottom line is that you talk to your AI client, and it handles talking to Linkwarden for you.

1. Subscribe to the Linkwarden server and provide your specific Instance URL and Personal Access Token.
2. Connect this server through your preferred AI client (Claude, Cursor, etc.) using the MCP protocol.
3. Tell your agent what you need. For example: 'Show me all collections' or 'Archive this link.' The agent executes the necessary tool call against Linkwarden.

## Frequently Asked Questions

**How do I organize my links using Linkwarden MCP Server?**
You can use the agent to run `list_collections` first, and then tell it to run `create_collection` for a new project. After that, you just need to point the link into place.

**Can I update multiple links at once with Linkwarden MCP Server?**
Yes. You don't have to do it one by one. Just ask your agent to run `bulk_update_links` and list the tags or collections you want to change across all selected IDs.

**What is the difference between `get_link` and `get_archive`?**
`get_link` gives you the metadata (title, description, links) about a saved item. `get_archive` retrieves the actual preserved content file for that link ID.

**How do I add notes to an existing bookmark using Linkwarden MCP Server?**
You call `create_highlight`. You provide the link ID and the text you want to save. This attaches context directly to the record, making it searchable.

**What if I need to move my data out of Linkwarden? Should I use `get_migration`?**
Yes, that's right. The agent runs `get_migration`, which gathers all your user info, links, and collections into one structured payload ready for you to export.

**I forgot my password; how do I use `auth_forgot_password` via the Linkwarden MCP Server?**
It initiates a password reset email. This tool sends instructions to your registered email address, allowing you to regain access without needing manual support intervention.

**What is the purpose of `get_preserved_token`, and how does it secure my archived links?**
It creates a short-lived URL token for preserved content. This mechanism ensures that even if the original website goes offline, your AI client can stream the archived version using the generated link.

**How do I verify the current system settings or public runtime details using `get_config`?**
`get_config` pulls the server's public runtime configuration. This lets your agent read key metadata, confirming the operational status and specific parameters of your Linkwarden instance.

**How can I see a list of all my bookmark folders?**
You can use the `list_collections` tool. It will retrieve all your existing collections, allowing the AI to show you how your bookmarks are organized.

**Is it possible to retrieve an archived version of a saved link?**
Yes! Use the `get_archive` tool with the specific Link ID. This will fetch the preserved archive file associated with that link.

**Can I create a new collection directly through the AI?**
Absolutely. Use the `create_collection` tool by providing a unique ID and the collection details in the payload.