Imagine you spent four hours researching a topic last week. You visited 50 different websites. Now you need to find that one specific PDF you opened, but you cannot remember the name.
Searching your browser history manually is painful. The built-in search bar is often terrible.
Imagine if you could just ask your AI: "List all the PDF files I visited last Tuesday."
The AI scans your history and gives you the exact list in seconds. You do not need to be a programmer. You do not need to export CSV files. You just ask.
How This Works
This works because of a technology called SQLite.
SQLite is a single-file database. It is lightweight, fast, and it is everywhere. It is likely the most used database engine in the world.
Your computer is full of these files. They are the silent engine behind the apps you use every day:
- Web Browsers: Chrome, Safari, and Firefox store your history and cookies in SQLite.
- Chat Apps: iMessage, Skype, and WhatsApp store your messages in SQLite.
- Productivity Tools: Apps like Things 3 or VS Code use SQLite to remember your tasks and settings.
Usually, this data is locked inside binary files. It is accessible only to the app itself. We need a way to give your AI access to these files.
The Bridge: MCP
This is where the Model Context Protocol (MCP) comes in. MCP allows AI models to connect to external tools and data sources.
I used a specific tool called the SQLite MCP Server. It acts as a translator. It lets the AI open these database files and run commands on them.
This works with Claude Desktop, but because MCP is an open standard, it also works with LM Studio, Jan, Cherry Studio, and many others.
The Toolkit
The SQLite MCP Server gives the AI a specific set of tools to act like a database admin:
- sqlite_set_db_path: Mounts any .db or .sqlite file dynamically during the chat.
- sqlite_list_tables: Maps out the database structure.
- sqlite_get_table_info: Checks schema and column types so queries do not fail.
- sqlite_run_query: Runs standard read-only SQL SELECT commands to extract the data.
The best part is that you load databases at runtime. You do not hardcode paths in a config file. You just tell the AI to "Open this file" and it switches context instantly.
The Example: Analyzing Chrome History
Here is how I used this to crack open my browsing data using Claude.
Step 1: Preparation
Active apps lock their database files. You cannot read them while the app is open. I made a copy of my Chrome history to a temporary folder called /tmp/claude/History.
Step 2: Connection
I told the AI to load the file. It used the sqlite_set_db_path tool to latch onto the database.
Step 3: Analysis
I did not need to know the table names. The AI used sqlite_list_tables to find the visits and urls tables. Then it ran the queries automatically to answer my questions.
Step 4: The Result
It processed 1,300+ rows in seconds. It gave me a behavioral breakdown of my top visited domains and usage habits.
Where to Find Your Data
Since you can load any file on the fly, here are the types of data hiding on your drive. You must check the app documentation or your Library folder to find the specific file.
- Chrome History:
.../Chrome/Default/History - Safari History:
~/Library/Safari/History.db - Firefox History:
.../Profiles/<profile>/places.sqlite - iMessage:
~/Library/Messages/chat.db - Things 3:
.../Group Containers/.../main.sqlite - VS Code:
.../User/globalStorage/state.vscdb
How to set this up
Add this to your client configuration. No API keys and no environment variables are needed.
{
"mcpServers": {
"@airabbit/sqlite-mcp-server": {
"command": "npx",
"args": ["-y", "@airabbit/sqlite-mcp-server@latest"]
}
}
}
Learn more about configuring MCP servers here:
https://modelcontextprotocol.io/quickstart#installing-mcp-servers



Top comments (0)