Skip to content

Maps saved places imported from google takeout, stored in SQLite for asking questions with LLMs via MCP server.

Notifications You must be signed in to change notification settings

avocade/claude-mapsdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Places Database

Google Maps saved places → SQLite → Claude MCP Server

Query your saved places with natural language through Claude Desktop/Code.

Quick Start

bb setup                      # Install dependencies
cp *.csv data/               # Add your Google Maps exports
bb places:import             # Import to SQLite
bb index:fts                 # Build search index
bb mcp:config                # Get Claude config

See CLAUDE.md for complete documentation.

What You Get

  • SQLite database with full schema (name, coords, categories, ratings, notes)
  • FTS5 search for instant text queries
  • Spatial queries (find places within X km)
  • MCP server for Claude integration
  • Free geocoding via Nominatim/OSM
  • Deduplication and smart updates

Usage

Command Line

bb query:lists               # Show all your lists
bb query:near 59.3 18.1 5   # Places within 5km
bb places:stats              # Database stats

Via Claude

Once configured:

  • "Show restaurants in Stockholm"
  • "Find hiking places within 10km of Abisko"
  • "What places do I have in Japan?"

Architecture

CSV → import_places.py → SQLite (FTS5, spatial index)
                            ↓
                    places_mcp_server.py ← Claude Desktop/Code

Tasks

Run bb tasks to see all available commands.

Key tasks:

  • places:import - Initial import
  • places:update - Merge new exports
  • geo:enrich - Add missing coordinates
  • index:fts - Build search index
  • mcp:config - Get Claude config

Files

  • bb.edn - Task definitions (fully documented)
  • scripts/*.py - Import, geocoding, indexing, MCP server
  • data/places.db - Your SQLite database
  • CLAUDE.md - Full documentation

Requirements

  • Python 3.8+
  • Babashka 1.3.0+
  • SQLite 3.35+

Install deps: bb setup

Cost

  • Import/search: $0 (local)
  • Geocoding: $0 (Nominatim)
  • Embeddings: ~$0.50 for 24k places (optional)

Pattern Inspiration

Adapted from Email Archive MCP

🔮 Predictions

You'll want:

  • Spatial queries (works now via Haversine, faster with SpatiaLite)
  • Semantic search ($0.50 for embeddings: bb cost:embeddings)
  • Regular updates from new Google exports: bb places:update

The geocoding is your bottleneck—8,560 places @ 1 req/sec = 2.4 hours. Run overnight or accept current 46% coverage.

Pattern proven via your email archive. Same architecture, different domain.


Your maps. Your data. Your queries.

About

Maps saved places imported from google takeout, stored in SQLite for asking questions with LLMs via MCP server.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages