Linkding
FreeNot checkedA Model Context Protocol (MCP) server for managing bookmarks and tags in linkding, a self-hosted bookmark manager.
About
A Model Context Protocol (MCP) server for managing bookmarks and tags in linkding, a self-hosted bookmark manager.
README
⚠️ Warning: This is an experimental, unofficial MCP server in very early development stage. The code is "vibe coded", minimally tested and may be unstable. Not recommended for production environments.
A Model Context Protocol (MCP) server for linkding, a self-hosted bookmark manager. This is not an official Linkding package.
Features
- 🔍 Bookmark Management: Create, update, delete and search bookmarks
- 🏷️ Tag Management: Create, list and add tags to bookmarks
- 📦 Archiving: Archive and unarchive bookmarks
- 🔎 Advanced Search: Full-text search in bookmarks with various filters
- 📊 Statistics: Overview of bookmark statistics
- 📂 Bundle Management: Create and manage bookmark collections
- 📎 Asset Management: Manage file assets (uploads and snapshots)
- 👤 User Profiles: Access user profile and settings
- 🕒 Advanced Filters: Filter by modification and creation date
- 🔧 Configurable: Optional automatic scraping can be disabled
Installation
Via uvx (recommended)
uvx linkding-mcp
Via pip
pip install linkding-mcp
Development installation
git clone https://github.com/jensneuhaus/linkding-mcp.git
cd linkding-mcp
pip install -e .
Configuration
Environment Variables
The server requires these environment variables:
LINKDING_URL: The URL to your linkding instance (e.g.https://bookmarks.example.com)LINKDING_API_KEY: Your linkding API key (found under/settings/integrations)
MCP Client Configuration
Add the server to your MCP client configuration:
Claude Desktop (cline.json)
Direct from GitHub Repository (recommended):
{
"mcpServers": {
"linkding": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/jensneuhaus/linkding-mcp.git",
"linkding-mcp"
],
"env": {
"LINKDING_URL": "https://...",
"LINKDING_API_KEY": "..."
}
}
}
}
Via PyPI (if available):
{
"mcpServers": {
"linkding": {
"command": "uvx",
"args": ["linkding-mcp"],
"env": {
"LINKDING_URL": "https://your-linkding.example.com",
"LINKDING_API_KEY": "your-api-key-here"
}
}
}
}
Using with direct Python
{
"mcpServers": {
"linkding": {
"command": "python",
"args": ["-m", "linkding_mcp.server"],
"env": {
"LINKDING_URL": "https://your-linkding.example.com",
"LINKDING_API_KEY": "your-api-key-here"
}
}
}
}
Available Tools
📚 Reading List
get_reading_list- Get all bookmarks with #readlater tagadd_to_reading_list- Add bookmark directly to reading list
Bookmark Management
create_bookmark- Create new bookmark (with optional disable_scraping)get_bookmarks- List bookmarks (with search, filter and date options)get_bookmark- Get single bookmark by IDupdate_bookmark- Update bookmark detailsdelete_bookmark- Delete bookmarkcheck_bookmark- Check if URL already exists as bookmark
Archiving
archive_bookmark- Archive bookmarkunarchive_bookmark- Remove bookmark from archive
Tag Management
get_tags- List all available tagscreate_tag- Create new tagadd_tag_to_bookmark- Add tag to existing bookmark
Bundle Management
get_bundles- List all bundlesget_bundle- Get single bundle by IDcreate_bundle- Create new bundleupdate_bundle- Update bundledelete_bundle- Delete bundle
Asset Management
get_bookmark_assets- List assets of a bookmarkget_bookmark_asset- Get single assetdelete_bookmark_asset- Delete asset
Advanced Features
search_bookmarks- Advanced full-text search with filtersget_bookmark_stats- Statistics about your bookmark collectionget_user_profile- Get user profile and settings
Examples
Creating a new bookmark
# Via MCP client - simple
create_bookmark(
url="https://example.com",
title="Example Website",
description="An example website",
tag_names=["example", "test"]
)
# With disabled scraping
create_bookmark(
url="https://example.com",
title="Manual Title",
description="Manual Description",
disable_scraping=True
)
Search and filter bookmarks
# All unread bookmarks
search_bookmarks(unread=True)
# Search by text
search_bookmarks(q="python tutorial")
# Filter by tags
get_bookmarks(q="tag:programming")
# Filter by date
get_bookmarks(added_since="2026-01-01T00:00:00Z")
# Filter by bundle
get_bookmarks(bundle=1)
Bundle management
# Create new bundle
create_bundle(
name="Python Resources",
search="python tutorial",
any_tags="python programming",
excluded_tags="outdated"
)
# List bundles
get_bundles()
# Update bundle
update_bundle(
bundle_id=1,
name="Updated Python Resources",
order=5
)
Asset management
# Show assets of a bookmark
get_bookmark_assets(bookmark_id=123)
# Get asset details
get_bookmark_asset(bookmark_id=123, asset_id=456)
# Delete asset
delete_bookmark_asset(bookmark_id=123, asset_id=456)
Development
Setup
git clone https://github.com/jensneuhaus/linkding-mcp.git
cd linkding-mcp
pip install -e ".[dev]"
Running tests
pytest
Code formatting
black src tests
isort src tests
ruff check src tests
License
MIT License - see LICENSE for details.
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
API Reference
For more details about the linkding REST API, see the official documentation.
Installing Linkding
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/jensneuhaus/linkding-mcpFAQ
Is Linkding MCP free?
Yes, Linkding MCP is free — one-click install via Unyly at no cost.
Does Linkding need an API key?
No, Linkding runs without API keys or environment variables.
Is Linkding hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Linkding in Claude Desktop, Claude Code or Cursor?
Open Linkding on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Linkding with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
