Skip to main content
Glama
fubaritico

rag-legacy

by fubaritico

vite-mf-monorepo-rag

Local RAG system for semantic recall of the vite-mf-monorepo legacy codebase from Claude Code.

Goal

Allow Claude Code, when working in the Next.js project, to find legacy code and patterns by meaning — not by filename. Instead of searching by file name or regex, Claude Code calls recall("how was token refresh handled?") and gets back the most semantically relevant chunks from the legacy codebase.

Related MCP server: RAGex

How it works

1. INDEXING (one-time, then re-run when legacy changes)
   pnpm index
   → walks vite-mf-monorepo (349 files)
   → chunks each file into overlapping segments
   → embeds each chunk via nomic-embed-text (Ollama, local)
   → stores chunks + embeddings in MongoDB Atlas (legacy_chunks)

2. RECALL (at query time, triggered by Claude Code)
   Claude Code calls the recall() MCP tool with a natural language query
   → query is embedded via nomic-embed-text
   → vector search in MongoDB Atlas finds the top N most similar chunks
   → Claude Code receives file paths + content ranked by semantic similarity

Stack

Component

Choice

Embeddings

nomic-embed-text via Ollama (local, 768 dimensions)

Vector store

MongoDB Atlas M0 — rag-cluster / rag / legacy_chunks

Vector index

Atlas Vector Search — cosine similarity, filters on filePath, package, app

MCP server

Local stdio server exposing recall() to Claude Code

Language

TypeScript

Prerequisites

Ollama

Ollama must be running locally — it handles all embedding generation.

  1. Download and install from ollama.com

  2. Pull the embedding model:

ollama pull nomic-embed-text
  1. Verify:

ollama list

Ollama must be running in the background before indexing or using recall.

Structure

src/
  indexer/
    index.ts      # indexing pipeline entry point
    walk.ts       # recursive file walker with ignore rules
    classify.ts   # classifies files as app or package
    chunk.ts      # splits large files into overlapping chunks
  retriever/
    recall.ts     # embeds query + runs Atlas vector search
  mcp/
    server.ts     # stdio MCP server exposing recall() to Claude Code

Indexed projects

  • Legacy (vite-mf-monorepo) — indexed in MongoDB Atlas

  • Next (nextjs-multizone-tmdb) — read live by Claude Code, not indexed

Indexing rules

Indexed: .ts, .tsx, .md — source files and config files

Ignored: node_modules, dist, __mf__temp, .netlify, scripts/, *.test.ts, *.spec.ts, *.d.ts, *.css, *.json, *.sh, .env*, vitest.config.ts, vitest.setup.ts

Setup

pnpm install
cp .env.example .env  # fill in MONGODB_URI and LEGACY_PATH

Environment variables

Variable

Description

MONGODB_URI

MongoDB Atlas connection string

LEGACY_PATH

Absolute path to the vite-mf-monorepo root

MCP server setup (nextjs-multizone-tmdb)

The MCP server must be registered in the Next.js project so Claude Code can call recall().

Create .mcp.json at the root of nextjs-multizone-tmdb:

{
  "mcpServers": {
    "rag-legacy": {
      "type": "stdio",
      "command": "pnpm",
      "args": ["--prefix", "/absolute/path/to/vite-mf-monorepo-rag", "run", "mcp"],
      "env": {
        "MONGODB_URI": "your_mongodb_uri",
        "LEGACY_PATH": "/absolute/path/to/vite-mf-monorepo"
      }
    }
  }
}

Then in Claude Code, run /mcp and accept the server when prompted.

Scripts

pnpm index        # run the full legacy indexing pipeline
pnpm mcp          # start the MCP server (Claude Code does this automatically)
pnpm build        # compile TypeScript
pnpm lint         # ESLint
pnpm type-check   # type check without compilation

Re-indexing

Run pnpm index whenever the legacy codebase changes. The pipeline clears legacy_chunks and re-indexes everything from scratch.

F
license - not found
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides semantic code intelligence to help users search, navigate, and analyze entire codebases using plain English. It enables Claude to perform architectural overviews, bug detection, and refactor suggestions through local semantic search and keyword indexing.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching and retrieving Claude Code conversation history via hybrid semantic and keyword search, allowing the agent to access its own past interactions.
    4
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables semantic search over codebases using natural language queries, returning relevant code snippets with source locations. Integrates with Claude Code for automatic codebase exploration.
    1
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Code intelligence for coding agents: semantic, AST, graph, and full-text search. 279+ languages.

  • Token-efficient search for coding agents over public and private documentation.

  • Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fubaritico/vite-mf-monorepo-rag'

If you have feedback or need assistance with the MCP directory API, please join our Discord server