Bookmarks MCP Server
Bookmarks MCP Server
Postgres をバックエンドにしたブックマークマネージャーと、汎用 REST API ツールを MCP サーバーとして公開するものです。LLM クライアント(例: Claude Desktop)があなたの代わりにブックマークを保存、検索、管理できるようにします。
機能
asyncpgを介してブックマーク(url, title, description, tags)を Postgres に保存しますCRUD ツールを公開します:
add_bookmark、list_bookmarks、get_bookmark、search_bookmarks、update_bookmark、delete_bookmarkDB 検査ツールを公開します:
list_tables、describe_table、run_query(安全性のため SELECT のみ)汎用 REST ツール
api_requestを 1 つ公開します。これは.envのAPI_BASE_URLで設定した任意の API を呼び出します(メソッド、パス、クエリパラメータ、JSON ボディは任意)。デフォルトでは、URL を保存する前にリンクプレビュー(title/description/image)を取得するために Microlink(無料、API キー不要)を使用する設定になっています。
Related MCP server: veyra-bookmarks
セットアップ
1. データベース
専用のロールとデータベースを作成します(アプリ自体には Postgres スーパーユーザーを使用しないでください):
CREATE ROLE bookmarks_app WITH LOGIN PASSWORD 'choose-a-password';
CREATE DATABASE bookmarks OWNER bookmarks_app;次にテーブルを作成します:
psql -U bookmarks_app -h localhost -d bookmarks -f schema.sql2. Python 環境
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
pip install -r requirements.txt3. .env を設定
copy .env.example .env # Windows
# cp .env.example .env # macOS/Linux記入する項目:
DATABASE_URL—bookmarks_appの接続文字列API_BASE_URL/API_KEY—api_requestに呼び出させたい REST API(デフォルトは Microlink。キーは不要です。認証を必要としない API の場合はAPI_KEYを空のままにしてください)
4. 実行
python src/server.pyClaude Desktop に接続
claude_desktop_config.json にエントリを追加します:
{
"mcpServers": {
"bookmarks": {
"command": "/absolute/path/to/bookmarks-server/venv/Scripts/python.exe",
"args": ["/absolute/path/to/bookmarks-server/src/server.py"]
}
}
}環境変数は .env から読み込まれます(python-dotenv 経由。プロセスの作業ディレクトリに関係なくプロジェクトルートからの相対パスで解決されます)。そのため、機密情報を Claude の設定自体に含める必要はありません。
Windows Store (MSIX) 版の Claude Desktop: 設定ファイルは通常の %APPDATA%\Claude\ パスにはありません。%LOCALAPPDATA%\Packages\<Claude package id>\LocalCache\Roaming\Claude\claude_desktop_config.json の下にサンドボックス化されています。編集する前に、Claude Desktop をウィンドウを閉じるだけでなく、システムトレイから完全に終了してから、再起動してください。
セキュリティに関する注意事項
すべてのクエリはパラメータ化された SQL(
$1、$2、...)を使用します。文字列を組み立てた SQL はないため、ツール引数からのインジェクションリスクはありません。run_queryはSELECTステートメントのみを許可します。書き込みは代わりに専用の CRUD ツールを経由します。これは LLM 駆動のクライアントに対して意図的に攻撃面を狭くした設計です。bookmarks_appはbookmarksデータベースに限定された非スーパーユーザーロールです。サーバーが Postgres スーパーユーザーとして接続することはありません。.envは gitignore されています。実際の認証情報をコミットしないでください。テンプレートとして.env.exampleを使用してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
Save, search, read, tag, and organize your bookmarks from AI assistants with OAuth sign-in.
Versioned agent memory in your own Postgres: portable context, permissioned, audit trail.
Save and organize web finds in persistent, user-controlled collections for AI assistants.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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.1Apache 2.0
- AlicenseNot gradedqualityDmaintenanceBookmark manager for AI agents with tags, categories, and full-text search. Reads are free, writes require Veyra commit mode.8 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to save and search bookmarks using OpenAI's RAG capabilities for intelligent bookmark management and retrieval.MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to save, search, and manage bookmarks with semantic search, automatic metadata extraction, and optional LLM-powered enrichment, all running locally.86MIT