linkding-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP listen port. | 3000 |
| LINKDING_URL | Yes | Linkding origin. No userinfo, query, or hash. | https://example.invalid |
| MCP_TRANSPORT | No | Transport mode: stdio or http. --http forces HTTP. | stdio |
| LINKDING_CONTACT | No | Contact inside the User-Agent. Must not contain the token. | contact@example.com |
| LINKDING_API_TOKEN | Yes | Linkding API token. Required for an upstream call. At least 8 characters. Never printed. | |
| LINKDING_PER_MINUTE | No | Local sliding-window rate limit cap. | 30 |
| LINKDING_TIMEOUT_MS | No | Upstream timeout in milliseconds. | 20000 |
| LINKDING_ALLOW_WRITES | No | The literal true enables writes. Any other value keeps the connector read-only. | off |
| LINKDING_CACHE_TTL_SEC | No | TTL for successful reads. 0 disables the cache. | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| linkding_list_bookmarksA | List active bookmarks. GET /api/bookmarks/ with q, limit, offset, modified_since, added_since, and bundle. Returns count plus next and previous offsets. |
| linkding_list_archived_bookmarksB | List archived bookmarks. GET /api/bookmarks/archived/. Filters match linkding_list_bookmarks. |
| linkding_list_shared_bookmarksB | List bookmarks shared by a user. GET /api/bookmarks/shared/. Pass user when you want one person's public bookmarks. |
| linkding_get_bookmarkA | Get one bookmark by id. GET /api/bookmarks//. |
| linkding_check_bookmark_urlA | Check whether a URL is already bookmarked. GET /api/bookmarks/check/. Also returns scraped metadata and auto_tags that Linkding would add. |
| linkding_create_bookmarkA | Create a bookmark. POST /api/bookmarks/. Linkding silently updates an existing bookmark when the URL already exists, and it merges auto-tagging rules into tag_names. Omit confirm for a dry-run. confirm true sends the write only when LINKDING_ALLOW_WRITES is true. |
| linkding_update_bookmarkA | Update a bookmark. PATCH by default, or PUT when replace is true. Omitted fields stay unchanged. Auto-tagging rules are merged into tag_names on every update. Omit confirm for a dry-run. |
| linkding_archive_bookmarkA | Archive a bookmark. POST /api/bookmarks//archive/. Omit confirm for a dry-run. |
| linkding_unarchive_bookmarkA | Move a bookmark out of the archive. POST /api/bookmarks//unarchive/. Omit confirm for a dry-run. |
| linkding_delete_bookmarkA | Delete a bookmark. DELETE /api/bookmarks//. Omit confirm for a dry-run. |
| linkding_changes_sinceA | List bookmarks added or modified after a timestamp. Follows next offsets up to max_pages across active bookmarks, archived bookmarks, or both. Deleted bookmarks are not included. |
| linkding_list_tagsB | List tags. GET /api/tags/ with limit and offset. |
| linkding_get_tagA | Get one tag by id. GET /api/tags//. |
| linkding_create_tagA | Create a tag. POST /api/tags/. Linkding returns the existing tag when the name already exists. Omit confirm for a dry-run. |
| linkding_delete_tagA | Delete a tag. DELETE /api/tags//. Omit confirm for a dry-run. |
| linkding_list_bundlesA | List bundles. GET /api/bundles/ with limit and offset. A bundle is a saved search, not a manual list of bookmarks. |
| linkding_get_bundleB | Get one bundle by id. GET /api/bundles//. |
| linkding_create_bundleA | Create a bundle. POST /api/bundles/. Omit confirm for a dry-run. |
| linkding_update_bundleA | Update a bundle. PATCH by default, or PUT when replace is true. Omit confirm for a dry-run. |
| linkding_delete_bundleA | Delete a bundle. DELETE /api/bundles//. Bookmarks are not deleted. Omit confirm for a dry-run. |
| linkding_list_assetsC | List assets for one bookmark. GET /api/bookmarks/<bookmark_id>/assets/. |
| linkding_get_assetA | Get one bookmark asset. GET /api/bookmarks/<bookmark_id>/assets//. |
| linkding_download_assetA | Download a bookmark asset. Returns the text when the file is small and textual. Otherwise returns content type, length, and filename only. |
| linkding_upload_assetA | Upload a local file as a bookmark asset. POST multipart field file to /api/bookmarks/<bookmark_id>/assets/upload/. Omit confirm for a dry-run that names the file and its size. |
| linkding_delete_assetA | Delete a bookmark asset. DELETE /api/bookmarks/<bookmark_id>/assets//. Omit confirm for a dry-run. |
| linkding_get_profileA | Get the authenticated user's profile. GET /api/user/profile/. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Each tool targets a distinct resource and operation: bookmarks, tags, bundles, assets, profile, and specialized queries like URL checks or change feeds are clearly separated. Overlaps such as create_bookmark updating an existing URL versus update_bookmark by id are explained in the descriptions, so an agent can select correctly.
Nearly all tools follow a predictable linkding_<verb>_<resource> snake_case pattern, making the surface easy to scan. Minor deviations like linkding_changes_since and the longer linkding_check_bookmark_url are still readable but break the verb-first convention slightly.
The 26 tools map to a broad but real API surface across bookmarks, tags, bundles, assets, and profile operations. The count is on the heavy side for an MCP server, and some list variants could potentially be consolidated, but each tool corresponds to a meaningful endpoint.
Bookmark lifecycle coverage is strong: create, read, list, update, archive, unarchive, delete, URL checking, and change tracking are all present. Bundles and assets also have solid CRUD coverage; minor gaps include no tag update operation and no explicit recovery path for deleted bookmarks.