trackmcp
Back to directory
YohannHommet

repo-lens-mcp

View on GitHub

MCP Server to connect and fetch info from your local repositories

0 stars TypeScriptOthers Updated Mar 19, 2026

Documentation


Why Use This?

The problem: You're working in your frontend repo and need to find a backend API endpoint. Or you're debugging and need to find where a function is defined across your monorepo. With Claude Code, you can search the current repository, but what about your other local projects?

The solution: Repo Lens lets you declare your repositories once in a YAML config file — or search any directory ad-hoc — and search across all of them simultaneously using AST-based structural search. Find the exact function signature, class definition, or API route you need without leaving your current context.

Use Cases

  • Frontend + Backend development: Search backend API routes while working in your frontend repo
  • PHP + JS/TS projects: Find PHP classes, traits, and interfaces alongside TypeScript types
  • Microservices architecture: Find function definitions across multiple services
  • Monorepo navigation: Search across packages without switching directories
  • Code exploration: Understand how different projects in your ecosystem connect

Quickstart

bash
npx repo-lens-mcp

Key Features

AST-Based Intelligence

Unlike grep-style text search, Repo Lens uses **ast-grep** (written in Rust) to parse code into Abstract Syntax Trees:

  • Structural accuracy: Distinguish between `class User` and `const User`
  • Export awareness: Find only exported functions, or include private ones
  • Signature extraction: Get full function signatures, not just names

Search any directory instantly with the `paths` parameter — no configuration required:

  • Pass directory paths directly to any search tool
  • Declare persistent repos in `repolens.yaml` with aliases for repeated use
  • Mix both: registered repos + ad-hoc paths in the same query

Declare your repositories once and search them all at once:

  • Static YAML config — declare once, search always
  • Filter by repository alias or search all
  • Results include repository context

API Route Discovery

Map all API endpoints across Express, NestJS, Fastify, and Laravel projects. Find that `/users/:id` endpoint in seconds.


Installation

Add this to your `claude_desktop_config.json` (or VS Code MCP settings):

json
{
  "mcpServers": {
    "repo-lens": {
      "command": "npx",
      "args": ["-y", "repo-lens-mcp", "--config", "/home/user/repolens.yaml"]
    }
  }
}

Restart Claude, and you're ready to go.

Local Development

bash
git clone https://github.com/YohannHommet/repo-lens-mcp.git
cd repo-lens-mcp
pnpm install
pnpm build
pnpm dev

Configuration

Config File (`repolens.yaml`)

Create a YAML config file declaring your repositories:

yaml
# repolens.yaml
repositories:
  - path: ~/projects/backend-api
    alias: backend
  - path: ~/projects/frontend-app
    alias: frontend
  - path: ~/projects/shared-lib

`~` is expanded to your home directory automatically.

Config Path Resolution

1. `--config ` CLI argument (explicit — fails if file not found)

2. Default: `~/.config/repo-lens-mcp/repolens.yaml` (graceful — returns empty if not found, ad-hoc paths still work)

Environment Variables

VariableDefaultDescription
`MCP_LOG_LEVEL``info`Log level: `debug`, `info`, `warn`, `error`

Example:

json
{
  "env": {
    "MCP_LOG_LEVEL": "debug"
  }
}

Capabilities

Repository Listing (1 tool)

ToolDescription
`repolens_list_repositories`List all configured repositories (read-only)

Symbol Search (3 tools)

AST-based structural search powered by ast-grep. Supports JavaScript/TypeScript and PHP (classes, traits, interfaces, enums, functions, methods, constants):

ToolDescription
`repolens_find_functions`Find function/method definitions in JS/TS and PHP (supports wildcards like `handle*`)
`repolens_find_classes`Find class definitions (also finds PHP traits)
`repolens_find_types`Find interfaces and type aliases (PHP: interfaces only)

All search tools accept:

  • `paths` — Ad-hoc directory paths to search (comma-separated, no registration needed)
  • `repoFilter` — Filter registered repositories by alias

API Route Discovery (1 tool)

ToolDescription
`repolens_find_api_routes`Map API endpoints across Express, NestJS, Fastify, Laravel

Usage Examples

1. Search Any Directory (No Configuration)

> "Find all functions starting with 'handle' in my backend"

code
repolens_find_functions(paths: "/home/user/projects/backend", name: "handle*")

2. List Configured Repos

> "What repos are available?"

code
repolens_list_repositories()

3. Find an API Endpoint

> "Find the Express route that handles POST requests to /login"

code
repolens_find_api_routes(repoFilter: "backend", method: "POST", pathPattern: "/login")

4. Find a Specific Class

> "Where is the UserService class defined?"

code
repolens_find_classes(name: "UserService")

What About Text Search / File Operations?

Repo Lens focuses on multi-repository AST-based search. For text search and file operations within your current repository, use Claude Code's built-in tools (Grep, Read, Glob) which are optimized for single-repo use.

This separation keeps Repo Lens fast and focused on what it does best: cross-repository structural code intelligence.


License

AGPL-3.0

This software is free to use. If you modify and distribute it (or run it as a network service), you must share your source code under the same license.


Built with care by Yohann Hommet

Frequently asked questions

What is repo-lens-mcp?

repo-lens-mcp is MCP Server to connect and fetch info from your local repositories

How do I install repo-lens-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is repo-lens-mcp open source?

Yes — it is hosted on GitHub at https://github.com/YohannHommet/repo-lens-mcp.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP