Turning My Bookmark Service into a Personal AI Librarian with MCP
/ 4 min read
Table of Contents
In a previous post, I introduced pokke, a minimalist bookmarking service I built for my own use. The goal was simple: a place to toss interesting URLs without the friction of heavy, commercial alternatives.
However, as with any “read later” service, I soon ran into a familiar problem. My collection of bookmarks was growing, but my consumption wasn’t keeping up. It was becoming a graveyard of good intentions—a list of articles I wanted to read but rarely revisited.
I realized that simply storing links wasn’t enough. I needed a way to make this information active. I didn’t want to search my bookmarks; I wanted my bookmarks to find me, and more importantly, I wanted them to connect with the things I was already thinking about.
Enter the Model Context Protocol
I’ve been experimenting with the Model Context Protocol (MCP), an open standard that allows AI models to interact with external data and tools. It occurred to me that pokke shouldn’t just be a database; it should be an MCP server.
The implementation was surprisingly straightforward. I exposed a /mcp endpoint on the pokke API. By doing this, I could plug my custom bookmark service directly into an AI environment (like Claude Desktop) just by adding a simple configuration:
{ "mcpServers": { "pokke-api": { "type": "http", "url": "https://api.pokke.femto-cloud.com/mcp", "headers": { "Authorization": "Bearer ${POKKE_API_KEY}" } } }}This JSON snippet effectively turns my passive database into an active tool that an AI agent can query.
Connecting the Dots
The real power of this setup isn’t just in summarizing articles—generic AI tools can do that. The goal was to build a bridge between new information (my bookmarks) and existing context (my local knowledge base/notes).
I created a prompt to act as a “librarian.” I asked the AI to digest my recent bookmarks, categorize them, and—crucially—connect them to topics I have stored in my local file system (my “second brain”).
Here is the prompt I used:
Use the pokke MCP to summarize the digest of recent pokke bookmark articles. Divide them by category. Please indicate what I am interested in and provide suggestions linking them to the knowledge currently in my file system. Also, include advice on what keywords I should use to deepen my thinking in future intellectual exploration activities. Write it out to a markdown file named with the date and time.
The result was fascinating. The AI didn’t just tell me what the articles were about; it told me why they mattered to me.
For example, when it analyzed an article about uv (the Python package manager), it didn’t just stop at “it’s fast.” It linked the article to my existing notes on Rust tooling:
Insight: You have an interest in Rust through your study note
Implementing Transformer in Rust.md. The case ofuvsuggests that performance comes not just from the language speed but from design and adherence to modern standards. This is a key takeaway for your own tool development.
Similarly, it found a deep connection between a seemingly unrelated article about the “Leftpad” problem and my notes on testing strategies:
Breaking “provably correct” Leftpad
Insight: This relates to the discussions in
Testing.mdandTestPyramid.md. The gap between being “according to spec” and “according to user expectation” cannot always be bridged by formal methods alone. Even “provably correct” code can fail in the face of messy realities like Unicode implementation details.
A Growing Trend
I’m not the only one exploring this direction. I recently watched a demonstration by Algolia, Prototype an AI-Powered Bookmark Manager with n8n and Algolia MCP server, where they used MCP to build a searchable, intelligent bookmark manager. It validates the idea that we are moving away from static lists toward dynamic, AI-assisted knowledge management.
However, my approach differs slightly in that I am less interested in search and more interested in synthesis. I want the AI to act as a catalyst, mixing fresh external inputs with my internal accumulated knowledge to spark new ideas.
Closing the Loop
The next step is automation. I plan to set up a workflow where this “Digest & Insight” report is generated automatically every week and sent to my Slack.
Imagine receiving a weekly notification that says: “Here are the articles you saved, here is how they relate to the code you wrote last month, and here are the concepts you should explore next.”
By turning pokke into an MCP server, it has evolved from a simple storage bin into an active partner in my intellectual life. It’s no longer just about saving URLs; it’s about ensuring that the information I consume actually feeds into my growth as an engineer.