Skip to main content
Glama
dgholamian

Bookmarks MCP Server

by dgholamian

Bookmarks MCP Server

Ein Postgres-gestützter Lesezeichen-Manager plus ein generisches REST-API-Tool, bereitgestellt als MCP-Server, damit ein LLM-Client (z. B. Claude Desktop) Lesezeichen in Ihrem Auftrag speichern, durchsuchen und verwalten kann.

Funktionen

  • Speichert Lesezeichen (url, title, description, tags) in Postgres über asyncpg

  • Stellt CRUD-Tools bereit: add_bookmark, list_bookmarks, get_bookmark, search_bookmarks, update_bookmark, delete_bookmark

  • Stellt DB-Inspektionstools bereit: list_tables, describe_table, run_query (nur SELECT, aus Sicherheitsgründen)

  • Stellt ein generisches REST-Tool bereit, api_request, das jede API aufruft, die Sie über API_BASE_URL in .env konfigurieren (beliebige Methode, Pfad, Query-Parameter, JSON-Body) — standardmäßig ist es für Microlink eingerichtet (kostenlos, ohne API-Schlüssel), um Link-Vorschauen (Titel/Beschreibung/Bild) einer URL abzurufen, bevor sie gespeichert wird

Related MCP server: veyra-bookmarks

Einrichtung

1. Datenbank

Erstellen Sie eine dedizierte Rolle und Datenbank (verwenden Sie nicht den Postgres-Superuser für die App selbst):

CREATE ROLE bookmarks_app WITH LOGIN PASSWORD 'choose-a-password';
CREATE DATABASE bookmarks OWNER bookmarks_app;

Erstellen Sie dann die Tabelle:

psql -U bookmarks_app -h localhost -d bookmarks -f schema.sql

2. Python-Umgebung

python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # macOS/Linux
pip install -r requirements.txt

3. .env konfigurieren

copy .env.example .env        # Windows
# cp .env.example .env        # macOS/Linux

Füllen Sie aus:

  • DATABASE_URL — die Verbindungszeichenfolge von bookmarks_app

  • API_BASE_URL / API_KEY — die REST-API, die api_request aufrufen soll (standardmäßig Microlink, das keinen Schlüssel benötigt; lassen Sie API_KEY für jede API leer, die keine Authentifizierung erfordert)

4. Ausführen

python src/server.py

Mit Claude Desktop verbinden

Fügen Sie einen Eintrag zu Ihrer claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "bookmarks": {
      "command": "/absolute/path/to/bookmarks-server/venv/Scripts/python.exe",
      "args": ["/absolute/path/to/bookmarks-server/src/server.py"]
    }
  }
}

Umgebungsvariablen werden aus .env gelesen (über python-dotenv, relativ zum Projektstammverzeichnis aufgelöst, unabhängig vom Arbeitsverzeichnis des Prozesses), sodass nichts Sensibles in die Claude-Konfiguration selbst muss.

Windows-Store-Installationen (MSIX) von Claude Desktop: Die Konfigurationsdatei befindet sich nicht am üblichen Pfad %APPDATA%\Claude\ — sie wird in einer Sandbox unter %LOCALAPPDATA%\Packages\<Claude package id>\LocalCache\Roaming\Claude\claude_desktop_config.json abgelegt. Beenden Sie Claude Desktop vollständig über die Systemleiste (nicht nur das Fenster schließen), bevor Sie sie bearbeiten, und starten Sie es dann neu.

Sicherheitshinweise

  • Alle Abfragen verwenden parametrisiertes SQL ($1, $2, ...) — kein string-basiertes SQL, also kein Injektionsrisiko aus Tool-Argumenten.

  • run_query erlaubt nur SELECT-Anweisungen. Schreibvorgänge laufen stattdessen über die dedizierten CRUD-Tools, was eine bewusst schmalere Angriffsfläche für einen LLM-gesteuerten Client darstellt.

  • bookmarks_app ist eine Nicht-Superuser-Rolle, die auf die bookmarks-Datenbank beschränkt ist — der Server verbindet sich nie als Postgres-Superuser.

  • .env ist in .gitignore aufgeführt. Committen Sie niemals echte Anmeldedaten — verwenden Sie .env.example als Vorlage.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables semantic search across browser bookmarks from Chrome, Firefox, Edge, Opera, and other browsers using natural language queries. Extracts and indexes bookmark content and metadata into a vector database for intelligent retrieval.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Bookmark manager for AI agents with tags, categories, and full-text search. Reads are free, writes require Veyra commit mode.
    8 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to save and search bookmarks using OpenAI's RAG capabilities for intelligent bookmark management and retrieval.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to save, search, and manage bookmarks with semantic search, automatic metadata extraction, and optional LLM-powered enrichment, all running locally.
    8
    6
    MIT