bookmark-manager-mcp

infinitepi-io/bookmark-manager-mcp

3.3

If you are the rightful owner of bookmark-manager-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Bookmark Manager MCP is a server designed to manage bookmarks with persistent storage, integrating seamlessly with MCP-compatible clients.

Tools
2
Resources
0
Prompts
0

MseeP.ai Security Assessment Badge

Verified on MseeP

šŸ”– Bookmark Manager MCP

A Model Context Protocol (MCP) server for managing bookmarks with persistent storage

Docker Hub GitHub TypeScript MCP

šŸ“‹ Overview

This MCP server provides a simple yet powerful bookmark management system that integrates seamlessly with Claude and other MCP-compatible clients. It offers persistent storage, categorization, and easy retrieval of your bookmarks.

✨ Features

  • šŸ“ Persistent Storage: Bookmarks are saved to ~/.data/bookmarks.json
  • šŸ·ļø Categories: Organize bookmarks with custom categories
  • šŸ” Resource Discovery: Browse bookmarks by category using MCP resources
  • 🐳 Container Support: Ready-to-use container image (Docker/Podman)
  • ⚔ TypeScript: Type-safe implementation with Zod validation
  • šŸ”— MCP Integration: Full Model Context Protocol compliance

šŸ› ļø Installation

šŸ”§ Claude Code Integration

# Add to Claude Code (Docker)
docker pull mindriftfall2infinitepiio/bookmark-manager-mcp:latest
claude mcp add bookmark-manager -- docker run \
    --rm \
    --interactive \
    --volume ~/.data:/app/.data \
    mindriftfall2infinitepiio/bookmark-manager-mcp:latest

# Or with Podman
podman pull mindriftfall2infinitepiio/bookmark-manager-mcp:latest
claude mcp add bookmark-manager -- podman run \
    --rm \
    --interactive \
    --volume ~/.data:/app/.data \
    mindriftfall2infinitepiio/bookmark-manager-mcp:latest

šŸ”§ VS Code Integration

# Docker
docker pull mindriftfall2infinitepiio/bookmark-manager-mcp:latest

# Or Podman
podman pull mindriftfall2infinitepiio/bookmark-manager-mcp:latest
  • Create .vscode/mcp.json
{
  "servers": {
    "bookmark-manager": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--volume",
        "~/.data:/app/.data",
        "mindriftfall2infinitepiio/bookmark-manager-mcp:latest"
      ]
    }
  }
}

For Podman users:

{
  "servers": {
    "bookmark-manager": {
      "command": "podman",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--volume",
        "~/.data:/app/.data",
        "mindriftfall2infinitepiio/bookmark-manager-mcp:latest"
      ]
    }
  }
}

Local Development

# Clone the repository
git clone https://github.com/infinitepi-io/bookmark-manager-mcp.git
cd bookmark-manager-mcp

# Install dependencies
pnpm install

# Development mode
pnpm run dev

# Build for production
pnpm run build
pnpm start

šŸš€ Usage

GitHub Copilot (VS Code)

Agent Mode + Natural Language or # prefix

Add bookmark for GitHub at https://github.com category development

#add bookmark: title "GitHub", url "https://github.com"

#list all my bookmarks in development category

Claude Code (CLI)

Usage: @ prefix

claude @bookmark-manager add bookmark for GitHub at https://github.com

claude @bookmark-manager search development bookmarks

claude @bookmark-manager list all bookmarks

MCP Resources Available

  • bookmarks://all - All bookmarks
  • bookmarks://mcp - MCP-related bookmarks
  • bookmarks://general - General bookmarks
  • bookmarks://{category} - Custom category bookmarks

Example Usage with Claude

Add a bookmark for "OpenAI Documentation" with URL "https://docs.openai.com" in category "ai"

List all my bookmarks

Show me all MCP-related bookmarks

šŸ’¾ Data Storage

Storage Location

  • Local: ~/.data/bookmarks.json
  • Container (Docker/Podman): /app/.data/bookmarks.json (mount your local ~/.data directory)

Data Format

[
  {
    "title": "Model Context Protocol",
    "url": "https://modelcontextprotocol.io/introduction",
    "category": "mcp"
  },
  {
    "title": "infinitepi-io",
    "url": "https://github.com/infinitepi-io",
    "category": "general"
  }
]

Data Persistence

  • Automatic Creation: If no bookmarks file exists, default bookmarks are created
  • Error Handling: Graceful error handling for file operations
  • Backup Strategy: Simple JSON format allows easy backup and restoration

🐳 Container Configuration

Image Details

  • Base Image: node:22-alpine
  • Size: Optimized for minimal footprint
  • Volumes: /app/.data for persistent storage

šŸ“Š Technical Details

Dependencies

  • @modelcontextprotocol/sdk: ^1.13.2
  • zod: ^3.25.67 (Schema validation)
  • Node.js: 22+
  • TypeScript: 5.0+

Build Process

# TypeScript compilation with esbuild
esbuild index.ts --bundle --platform=node --target=node22 --format=esm --outfile=dist/index.js

Architecture

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”    ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”    ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│   MCP Client    │◄──►│  MCP Server     │◄──►│  JSON Storage   │
│   (Claude)      │    │  (This App)     │    │  (~/.data/)     │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜    ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜    ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

Synching your bookmark to S3 or vice versa BYOS3(Bring your own s3 on aws)

šŸ¤ Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

šŸ“ License

This project is licensed under the Apache License 2.0.

šŸ‘¤ Author

Satish Tripathi

šŸ†˜ Support