by nduc99911
MCP server: repo map, code search, and token-aware context packs for AI coding agents
# Add to your Claude Code skills
git clone https://github.com/nduc99911/repo-context-mcpGuides for using ai agents skills like repo-context-mcp.
repo-context-mcp is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by nduc99911. MCP server: repo map, code search, and token-aware context packs for AI coding agents. It has 63 GitHub stars.
repo-context-mcp's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/nduc99911/repo-context-mcp" and add it to your Claude Code skills directory (see the Installation section above).
repo-context-mcp is primarily written in TypeScript. It is open-source under nduc99911 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh repo-context-mcp against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
MCP server that helps AI coding agents understand a repository — without dumping the entire monorepo into the prompt.
Works with Codex, Claude Code, Cursor, Cline, and any client that speaks Model Context Protocol.
AI agents waste tokens re-walking node_modules, missing entrypoints, or pasting random files. repo-context-mcp exposes three focused tools:
| Tool | Purpose |
|---|---|
repo_map |
Lightweight tree + manifests/entrypoints |
search_code |
Fast substring search with path:line hits |
pack_context |
Token-budgeted markdown pack for LLM prompts |
Local-only. No cloud. No telemetry. Stdio transport.
# run from source
git clone https://github.com/nduc99911/repo-context-mcp.git
cd repo-context-mcp
npm install
npm run build
# or via npx (after publish)
npx -y repo-context-mcp
Requires Node.js 18+.
npm run build
# repository map
node dist/cli.js map .
node dist/cli.js map examples/sample-repo
# search
node dist/cli.js search login examples/sample-repo
# token-aware pack
node dist/cli.js pack . --focus auth,api --max-tokens 8000
# JSON for scripts / CI
node dist/cli.js map . --json
node dist/cli.js pack . --focus src --json
After global install / npx:
npx repo-context-mcp map .
npx repo-context-mcp pack . --focus auth
{
"mcpServers": {
"repo-context": {
"command": "npx",
"args": ["-y", "repo-context-mcp"],
"env": {
"REPO_CONTEXT_ROOT": "/absolute/path/to/your/repo"
}
}
}
}
Settings → MCP → add server with command npx and args ["-y", "repo-context-mcp"].
REPO_CONTEXT_ROOT=/path/to/repo node /path/to/repo-context-mcp/dist/server.js
From this repository after build:
npm run build
node dist/cli.js serve
# or: node dist/server.js
See also examples/mcp-config.claude.json and examples/mcp-config.local.json.
Optional env:
| Variable | Meaning |
|---|---|
REPO_CONTEXT_ROOT |
Default repository root when tools omit root |
Each tool also accepts an explicit root argument.
repo_maproot?: string
max_depth?: number # default 6
max_entries?: number # default 400
Returns a markdown tree, file count, and likely entrypoints (package.json, README.md, src/index.ts, AGENTS.md, …). Skips node_modules, .git, dist, etc.
search_codequery: string
root?: string
max_results?: number # default 50
case_sensitive?: boolean
Substring search across source-like extensions.
pack_contextroot?: string
focus?: string[] # keywords / path fragments to prioritize
max_tokens?: number # default 12000 (approx)
max_files?: number # default 40
Ranks files (entrypoints + focus matches), respects a rough token budget (~4 chars/token), and returns a single markdown document ready to paste into an agent prompt or PR review.
You can use the core without MCP:
import {
buildRepoMap,
formatRepoMap,
searchCode,
packContext,
} from "repo-context-mcp";
const map = buildRepoMap({ root: process.cwd() });
console.log(formatRepoMap(map));
const hits = searchCode({ root: process.cwd(), query: "TODO" });
const pack = packContext({
root: process.cwd(),
focus: ["auth"],
maxTokens: 8000,
});
console.log(pack.markdown);
npm install
npm test
npm run build
# map the sample tree
node --input-type=module -e "import { buildRepoMap, formatRepoMap } from './dist/index.js'; console.log(formatRepoMap(buildRepoMap({ root: 'examples/sample-repo' })));"
root.See SECURITY.md.
v0.1.1 — MCP server + CLI + gitignore + PR Action.
Roadmap:
.gitignore respectmap / search / pack) + --jsonfind_symbol.repo-contextignore)See CONTRIBUTING.md.
npm install
npm test
npm run lint
npm run build
MIT © Nguyen Duc
Built as a real maintainer / agent-tooling utility for the MCP ecosystem — not a placeholder repo. Issues and PRs welcome.