-
Notifications
You must be signed in to change notification settings - Fork 46
Closed
Description
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?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels