Skip to main content

Distributed search database with semantic indexing and MCP server

Project description

MeshDB

Distributed full-text search engine with LLM conversation indexing.

Part of MeshPOP — Layer 4 (Search)

Features

  • Full-text search with SQLite FTS5 across all servers (BM25 ranking, snippets)
  • LLM Conversation Indexing — indexes Q&A from Claude Code, Cowork, Cursor, ChatGPT, Gemini across all 14 servers
  • Multi-server discovery — automatically finds and indexes conversations on remote servers via vssh protocol
  • MCP-driven discover — connected AIs can register their own conversation storage paths
  • Semantic search with vector embeddings (ChromaDB)
  • Auto-indexing with file change detection (hash-based skip)

Install

pip install meshpop-db

Usage

Document Search

meshdb search "nginx config"         # Full-text search across all servers
meshdb find "config.json"            # Find files by name
meshdb semantic "how to deploy"      # Semantic vector search
meshdb status                        # Database status

Conversation Search

# Index local conversations (Claude Code, Cursor, ChatGPT, Gemini)
meshdb-conv index

# Index local + all remote servers (d1, d2, g1, g2, g3)
meshdb-conv index --remote

# Search across all indexed AI conversations
meshdb-conv search "wireguard setup"
meshdb-conv search "PyPI upload" --source claude --project MeshPOP

# Show what conversation files exist on this machine
meshdb-conv discover

# Status — shows chunks by source, server, project
meshdb-conv status

JSON Agent Protocol (for remote vssh calls)

meshdb-conv json discover           # List discovered session files as JSON
meshdb-conv json chunks <filepath>  # Parse file into Q&A chunks as JSON
meshdb-conv json search <query>     # Search and return JSON
meshdb-conv json status             # Stats as JSON

MCP Tools

Add to Claude Desktop / Claude Code config:

{
  "mcpServers": {
    "meshdb": {
      "command": "python3",
      "args": ["/path/to/meshdb-mcp-server.py"]
    }
  }
}

Available tools:

Tool Description
meshdb_search Full-text search across all servers (244K+ files)
meshdb_find Find files by filename
meshdb_read Read indexed file content
meshdb_conversations Search LLM conversations (Claude, Cursor, ChatGPT, Gemini)
meshdb_conv_read Read full Q&A chunk
meshdb_conv_discover Discover/register conversation sources; trigger indexing
meshdb_semantic Semantic code search via ChromaDB
meshdb_status Database status across all servers

Architecture

m1 (macOS) ─── direct SQLite ─── meshdb.db (central)
  │
  ├── vssh ──→ d2: json discover → json chunks → insert
  ├── vssh ──→ g1: json discover → json chunks → insert
  ├── vssh ──→ g2: json discover → json chunks → insert
  ├── vssh ──→ g3: json discover → json chunks → insert
  └── vssh ──→ d1: json discover → json chunks → insert

Conversation sources discovered automatically:

Source Format Path
Claude Code JSONL ~/.claude/projects/**/*.jsonl
Cowork JSONL ~/Library/.../local-agent-mode-sessions/**/*.jsonl
Cursor SQLite ~/.config/Cursor/User/workspaceStorage/*/state.vscdb
ChatGPT JSON ~/Downloads/chatgpt_export/conversations.json
Gemini JSONL/JSON ~/.gemini/history/**/*

MCP-driven discovery: Connected AIs can register new sources via meshdb_conv_discover tool — no code changes needed.

Current Stats

  • 34,500+ Q&A chunks indexed across 7 servers
  • 1,589 unique sessions from Claude Code, Cowork, Cursor
  • Coverage: 2025-12 to 2026-03
  • Indexing speed: ~17s for 231 remote files across 5 servers

Links

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meshpop_db-1.0.2.tar.gz (30.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meshpop_db-1.0.2-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file meshpop_db-1.0.2.tar.gz.

File metadata

  • Download URL: meshpop_db-1.0.2.tar.gz
  • Upload date:
  • Size: 30.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for meshpop_db-1.0.2.tar.gz
Algorithm Hash digest
SHA256 68165991d88b0114c5471b6428988a0847b85f51721a815d194a01a657860339
MD5 23e4176795299c78cd1c85cfb24cb206
BLAKE2b-256 66186e07e2d407f3435874e5c393f358bf23178b6b17eab753c3fc275f5041d7

See more details on using hashes here.

File details

Details for the file meshpop_db-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: meshpop_db-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 31.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for meshpop_db-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d95060be2d9eb0828794d4f176cc79920f0590088f6447dcc222906eb7b5adc7
MD5 53d1911709eca2d9c3e8e72872f9fce2
BLAKE2b-256 7c911ef8515a546b2899edad79a89645afdbb8834601d751867991fa8bea4b94

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page