mcp.json•4.83 kB
{
"mcpServers": {
"bookmarkGeni": {
"name": "Bookmark Geni",
"version": "1.0.0",
"description": "MCP server for processing browser bookmarks, extracting HTML content and metadata, and semantic search",
"command": "bash",
"args": [
"scripts/start_mcp_server.sh"
],
"cwd": ".",
"env": {
"PYTHON_PATH": "python3"
},
"transport": "stdio",
"capabilities": {
"tools": [
{
"name": "generate_bookmarks_metadata",
"description": "Generate metadata for bookmarks from selected browsers. Reads bookmark files, extracts URLs and folders, fetches HTML content, extracts descriptions from HTML metadata, creates embeddings using all-MiniLM-L6-v2 sentence transformer model, and stores them in ChromaDB.",
"parameters": {
"browsers": {
"type": "string",
"description": "Comma-separated list of browser names (e.g., 'Chrome', 'Chrome,Safari') or 'All' for all browsers. Defaults to 'Chrome' if not provided.",
"required": false
},
"interactive": {
"type": "boolean",
"description": "Whether to prompt for browser selection (not implemented in MCP, handled by CLI)",
"required": false,
"default": false
}
},
"returns": {
"type": "string",
"description": "JSON string with generation results including processed count, skipped URLs, and statistics"
}
},
{
"name": "query_bookmarks",
"description": "Query bookmarks using semantic search. Performs RAG (Retrieval-Augmented Generation) to find relevant bookmarks based on natural language queries.",
"parameters": {
"query": {
"type": "string",
"description": "Search query string",
"required": true
},
"limit": {
"type": "integer",
"description": "Maximum number of results to return",
"required": false,
"default": 10
},
"where": {
"type": "object",
"description": "Metadata filter dictionary (e.g., {'folder': 'Work'} or {'browser': 'Chrome'})",
"required": false
}
},
"returns": {
"type": "string",
"description": "JSON string with matching bookmarks including URL, name, description, folder, browser, and relevance score"
}
},
{
"name": "list_browsers",
"description": "List all available browsers with detected bookmark paths. Shows which browsers are installed and where their bookmark files are located.",
"parameters": {},
"returns": {
"type": "string",
"description": "JSON string with browser information including available browsers and their bookmark file paths"
}
},
{
"name": "get_stats",
"description": "Get statistics about the bookmark database. Returns total bookmark count and collection information.",
"parameters": {},
"returns": {
"type": "string",
"description": "JSON string with database statistics including total bookmarks, collection name, and database path"
}
},
{
"name": "export_embeddings",
"description": "Export all embeddings and metadata to a pickle file. This allows transferring data to a remote server.",
"parameters": {
"pickle_path": {
"type": "string",
"description": "Path to save the pickle file (default: data/bookmarks_embeddings.pkl)",
"required": false
}
},
"returns": {
"type": "string",
"description": "JSON string with export results including file path and size"
}
},
{
"name": "import_embeddings",
"description": "Import embeddings and metadata from a pickle file. This allows loading data on a remote server.",
"parameters": {
"pickle_path": {
"type": "string",
"description": "Path to the pickle file to import",
"required": true
}
},
"returns": {
"type": "string",
"description": "JSON string with import results including total bookmarks imported"
}
}
]
}
}
}
}