Skip to content

Proposal: Remote deployment + multi-repo collections (watcher/indexer + MCP) compatibility #11

@voarsh2

Description

@voarsh2

Summary

  • Add first-class support to run the stack remotely (e.g., Kubernetes) with minimal code changes
  • Enable multi-repo operation via “collections,” with shared root metadata and per-repo metadata
  • Ensure watcher/indexer and MCP tools work across collections and can be queried by collection
  • Provide Kubernetes YAML for deployment and an optional Python uploader utility

Motivation

  • I use Kubernetes clusters with stronger hardware than my thin client for remote dev
  • Running MCP services remotely lets me develop from anywhere while delegating heavy work to the cluster
  • Multi-repo support is needed for large monorepos and multiple project repos in the same environment

Scope (and non-goals)

  • Scope: watcher/indexer, MCP tools, metadata schema, hybrid search param, remote deploy manifests, uploader utility
  • Non-goals: changing core retrieval algorithms or replacing existing local dev workflow

Proposed changes

Collections

  • Introduce a collection identifier to group repo-specific indexes and memory
  • Each repo registers under a collection; MCP calls accept collection as a required or optional param

Metadata layout

  • Root-level metadata
  • Per-repo metadata

Watcher/indexer

  • Support multiple collections/repositories concurrently
  • Indexer watches paths mounted under collections//
  • Minimal changes: add collection awareness to existing path registry and event handlers

MCP tools

  • accept collection and project_id to ensure persistence independent of workspace paths
  • accept collection and repo path/glob; tag chunks with collection + repo identity
  • accept collection param (hybrid_search accepts collection) to scope retrieval
  • Return citations as [collection/repo:file_path:start_line-end_line]

Hybrid search

  • Add collection to query params
  • Default: collection required; optional “all” collection for cross-collection queries if enabled by config

Python uploader utility

  • Small CLI that uploads files into an “upload” pod/volume
  • Places files under collections// so watcher sees changes across repos

Compatibility

  • Preserve original tool interfaces; add collection param with sane defaults
  • If collection is omitted, fallback to a default collection and maintain current behavior
  • No breaking changes to existing single-repo/local workflows

Something you'd accept in a PR after review?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions