mothermachine

Browse / Notes and knowledge

Linkwarden

Collaborative bookmark manager that preserves pages, with an official REST API and a paid cloud edition.

AdaptableOperable Business appWeb app Hybrid TypeScript API License: AGPL-3.0

Linkwarden captures a screenshot, PDF, and single-file HTML of every link, adds reader view with highlights, optional AI tagging, collections with member permissions, RSS subscriptions, and native mobile apps. The documented REST API with bearer tokens is the agent interface; there is no official MCP server.

Use it when
  • your team collects research links and needs the pages preserved even after they vanish
  • you want an agent saving links with tags into shared collections through a plain REST API
Gotchas
  • AGPL-3.0
  • Archiving runs a Playwright browser; expect memory use and a separate worker
  • SSO is limited to enterprise and self-hosted users
  • Community MCP wrappers (ni-c/linkwarden-mcp, homeserverhq/linkwarden-mcp) have near-zero stars; use the REST API directly

Last activity Sep 2, 2026. Fit: adaptable 2, operable 3.

Editions

Self-hosted · Free open source

  • Clonegit clone https://github.com/linkwarden/linkwarden
  • ImageContainer

Cloud · Free closed source

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only31 things to edit

.env.sample is exhaustive: NEXTAUTH_SECRET, NEXTAUTH_URL, DATABASE_URL, and BASE_URL are required; STORAGE_FOLDER or SPACES_* choose local or S3 archives; NEXT_PUBLIC_DISABLE_REGISTRATION and MAX_LINKS_PER_USER gate signups; one provider key plus its *_MODEL var turns on AI tagging; MEILI_HOST and MEILI_MASTER_KEY enable search; dozens of SSO providers each have *_CLIENT_ID, *_CLIENT_SECRET, and NEXT_PUBLIC_*_ENABLED.

Env vars
NEXTAUTH_SECRET NEXTAUTH_URL DATABASE_URL BASE_URL STORAGE_FOLDER SPACES_BUCKET_NAME SPACES_ENDPOINT SPACES_KEY SPACES_SECRET NEXT_PUBLIC_DISABLE_REGISTRATION NEXT_PUBLIC_CREDENTIALS_ENABLED MAX_LINKS_PER_USER ARCHIVE_TAKE_COUNT OPENAI_API_KEY OPENAI_MODEL ANTHROPIC_API_KEY ANTHROPIC_MODEL OLLAMA_MODEL NEXT_PUBLIC_OLLAMA_ENDPOINT_URL OPENROUTER_API_KEY MEILI_HOST MEILI_MASTER_KEY EMAIL_SERVER EMAIL_FROM OIDC_WELLKNOWN_URL OIDC_CLIENT_ID OIDC_CLIENT_SECRET PLAYWRIGHT_WS_URL PROXY
Config files
.env docker-compose.yml
Prompt files
none
Accounts you need
an AI provider (optional, for tagging)S3-compatible storage (optional)Linkwarden Cloud account (cloud edition)

Source

Operable: what an agent can drive

Interface

OfficialAPIpublished by the builderremote or local

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
docs.linkwarden.app/api/api-introduction

Reach

Partial coverage. 8 of 10 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Save, update, and delete linksReachableapps/web/pages/api/v1/links and links/{id}
Retrieve preserved formats (screenshot, PDF, HTML)Reachableapi/v1/archives/{id} and links/{id}/archive
Organize into collections and sub-collectionsReachableapi/v1/collections and collections/{id}
Tag linksReachabletags in the link payload; docs list tags endpoints
Highlight and annotate in reader viewReachableapi/v1/highlights and links/{id}/highlights
Full text searchReachablesearch parameters on links index; docs list search
RSS feed subscriptionsReachabledocs API introduction lists RSS subscriptions
Share collections publiclyReachableapi/v1/public/collections and public/links
AI taggingNot reachableruns automatically on save when a provider is configured; no endpoint to trigger it
Send to Wayback MachineUndeterminedoptional per-save behavior; no explicit endpoint seen

Code stack

Languages
TypeScript
Frameworks
Next.jsPrismaPlaywright
Package manager
yarn
Database
PostgreSQLMeilisearch
Hosting target
docker
Built
Human-written (recorded, never ranked)

Model stack

Providers
OpenAIAnthropicOllamaOpenRouterAzure OpenAIPerplexitycustom OpenAI-compatible
Models
none
Keys you need
OPENAI_API_KEY ANTHROPIC_API_KEY OPENROUTER_API_KEY AZURE_API_KEY PERPLEXITY_API_KEY NEXT_PUBLIC_OLLAMA_ENDPOINT_URL
Prompts live in
none

Evidence and confidence

FieldWhere it was seenConfidence
formFactorREADME and stack: Next.js web app with Docker install95%
executionModeloptional AI tagging with OpenAI, Anthropic, Ollama, OpenRouter, Azure, Perplexity keys in .env.sample85%
operabilitydocs.linkwarden.app/api: OpenAPI 1.0.0 with bearer auth; routes under apps/web/pages/api/v1; no mcp in the repo tree90%
effort.env.sample with documented variables; docs self-hosting guide90%
editionsREADME: official Cloud with 14-day trial; self-host free70%
activepushedAt 2026-09-02; 2.15 release on HN 2026-07-10–
provenanceproject from 2023, no agent markers in repo50%
reach80%

Open questions

  • Cloud plan names and prices (linkwarden.app pricing section did not render)
  • Whether tags and users have dedicated v1 endpoints or ride on links

Sources