MCP Filesystem Server
RIG MCP-Werkzeuge
Ein Model Context Protocol (MCP)-Server, der intelligente Code-Analyse, graphbasierte Architektureinblicke und Dateivorgänge für KI-Assistenten bereitstellt.
Übersicht
RIG MCP-Werkzeuge kombiniert drei Intelligenzebenen:
Statische Analyse — Ein Repository Intelligence Graph (RIG), der aus AST-Parsing (ts-morph, tree-sitter) erstellt und in SQLite gespeichert wird, was Graph-Abfragen ohne LLM-Kosten ermöglicht.
Semantische Suche — Einbettungsbasierte Symbolabfrage unter Verwendung eines lokalen Modells (nomic-embed-text oder kompatibel). Einbettungen werden nach dem ersten Durchlauf in SQLite zwischengespeichert. Gibt präzise Code-Schnipsel anstelle ganzer Dateien zurück — minimiert den Token-Verbrauch.
LLM-gestützte Werkzeuge — Eine Teilmenge von Werkzeugen, die eine konfigurierbare OpenAI-kompatible API für natürlichsprachliches Schlussfolgern über Code aufrufen.
Related MCP server: CodeXRay
Installation
Von npm
npx rig-mcp-toolsVon der Quelle
git clone <repository-url>
cd rig-mcp-tools
npm install
npm run buildDocker
docker build -t rig-mcp-tools .
docker run rig-mcp-toolsKonfiguration
MCP-Client (Claude Desktop, Cursor, etc.)
{
"mcpServers": {
"rig-tools": {
"command": "node",
"args": ["/path/to/dist/index.js"],
"env": {
"WORKSPACE_PATH": "/your/project",
"GLM_API_URL": "http://localhost:1234/v1/chat/completions",
"GLM_MODEL": "qwen2.5-coder-7b-instruct-mlx@8bit",
"EMBEDDING_API_URL": "http://localhost:1234/v1/embeddings",
"EMBEDDING_MODEL": "text-embedding-nomic-embed-text-v1.5"
}
}
}
}Umgebungsvariablen
Variable | Standard | Beschreibung |
|
| Stammverzeichnis des Arbeitsbereichs |
|
| LLM-API-Endpunkt (OpenAI-kompatibel) |
|
| Modell für LLM-gestützte Werkzeuge |
|
| Einbettungs-API-Endpunkt |
|
| Modell für semantische Suche |
LLM- und Einbettungswerkzeuge sind optional — alle statischen Analysewerkzeuge funktionieren ohne API.
Verfügbare Werkzeuge
RIG — Graph-Analyse
Diese Werkzeuge indizieren das Repository über AST-Parsing in einen SQLite-Graphen und fragen diesen ab, ohne ein LLM aufzurufen.
get_smart_context
Abrufen der relevantesten Dateien und Symbole für eine Abfrage unter Verwendung von Graph-Zentralität und Keyword-Scoring.
{ "rootPath": "/project", "text": "authentication flow" }get_architectural_metrics
Zusammenfassung der Repository-Architektur: Kernknoten, Einstiegspunkte und stabile Grundlagen, sortiert nach Graph-Zentralität.
{ "rootPath": "/project" }graph_analyzer
Komplexitätsanalyse auf Komponentenebene mit Hotspot-Erkennung und Refactoring-Empfehlungen.
{ "rootPath": "/project" }generate_call_graph
Generieren von Aufrufdiagrammen oder Abhängigkeitsdiagrammen zwischen Komponenten, Dateien oder Symbolen.
{
"rootPath": "/project",
"level": "component",
"format": "mermaid",
"maxDepth": 5
}level: "component" | "file" | "symbol"format: "mermaid" | "dot" | "json"
generate_diagram
Generieren von C4-Architekturdiagrammen, Sequenzdiagrammen, Aufrufdiagrammen oder Abhängigkeitsvisualisierungen aus dem RIG.
{
"rootPath": "/project",
"type": "c4-container",
"format": "mermaid",
"focus": "auth",
"maxDepth": 3,
"style": "default"
}type: "c4-context" | "c4-container" | "c4-component" | "sequence" | "call-graph" | "dependency-graph"format: "mermaid" | "plantuml" | "dot"style: "default" | "compact" | "detailed"
extract_method
Chirurgisches Extrahieren einer Funktion oder Klasse aus einer Quelldatei in eine Zieldatei unter Verwendung von RIG-Symbolkoordinaten.
{
"rootPath": "/project",
"sourceFile": "src/utils/helpers.ts",
"symbolName": "formatDate",
"targetFile": "src/utils/date.ts"
}Dateivorgänge
Reine Dateisystemwerkzeuge, kein Graph oder LLM erforderlich.
read_files
Inhalt von bis zu 10 Dateien in einem einzigen Aufruf lesen.
{ "files": ["src/index.ts", "src/config.ts"] }write_code_unit
Eine Datei mit spezifischem Inhalt schreiben oder überschreiben. Erstellt bei Bedarf übergeordnete Verzeichnisse.
{ "path": "src/utils/new-file.ts", "content": "export const foo = 1;" }ls_tree
Verzeichnisstruktur als ASCII-Baum auflisten.
{ "path": "/project/src", "maxDepth": 3 }search_code
Text- oder Regex-Muster rekursiv in der Codebasis suchen.
{ "path": "/project/src", "pattern": "useEffect", "useRegex": false }inspect_symbols
Klassen- und Funktionssignaturen aus einer Datei mittels AST-Analyse (ts-morph) extrahieren.
{ "file": "src/tools/index.ts" }run_shell_task
Zulässige Shell-Befehle ausführen.
{ "command": "npm run build", "timeout": 60000 }Zulässige Präfixe: npm test, npm run, npm list, npx vitest, npx tsc, npx eslint, node --version, tsc, git status, git diff, git log, git show, git blame, ls, pwd, cat, wc.
Qualitätsanalyse
Statische Analysewerkzeuge, kein LLM erforderlich.
detect_patterns
Anti-Patterns, Code-Smells und Sicherheitsprobleme mittels Babel-AST-Analyse erkennen.
{ "sourceCode": "...", "filePath": "src/auth/login.ts" }suggest_refactor
Refactoring-Möglichkeiten erkennen: lange Funktionen, tiefe Verschachtelung, magische Zahlen, doppelter Code und fehlende Typannotationen.
{
"file_path": "src/services/user.ts",
"max_suggestions": 10,
"min_priority": 3,
"include_diff": true
}Entweder file_path oder code_snippet muss angegeben werden.
analyze_dependencies
Erstellen eines leichtgewichtigen Abhängigkeitsgraphen von TypeScript-Dateien durch Import-Analyse. Gibt Knoten, zirkuläre Abhängigkeiten und das DOT-Format für Graphviz zurück.
{ "rootPath": "/project/src" }Einbettungsbasiert
Erfordert EMBEDDING_API_URL und EMBEDDING_MODEL. Einbettungen werden einmal pro Symbol generiert und in .rig/index.db zwischengespeichert — nachfolgende Abfragen betten nur die Abfragezeichenfolge ein.
search_semantic
Semantische Symbolsuche mittels Vektorähnlichkeit. Gibt die relevantesten Funktionen und Klassen mit ihren Code-Schnipseln zurück. Verwenden Sie dies vor read_files, um das Laden ganzer Dateien in den Kontext zu vermeiden. Einbettungen werden einmal pro Symbol generiert und in .rig/index.db zwischengespeichert.
{
"repoPath": "/project",
"query": "how is authentication handled",
"maxResults": 5,
"threshold": 0.3
}LLM-gestützt
Erfordert GLM_API_URL und GLM_MODEL.
analyze_logic
Stellen Sie eine natürlichsprachliche Frage zu einem Codeabschnitt. Verwendet das konfigurierte LLM, um über Verhalten, Absicht oder Logik zu schlussfolgern.
{
"filePath": "/project/src/auth/login.ts",
"question": "What edge cases does this miss?"
}Bevorzugen Sie filePath gegenüber code, um das Übergeben von Dateiinhalten durch den Kontext zu vermeiden.
smart_summarize
Generieren Sie eine intelligente Zusammenfassung einer Codedatei, einschließlich Importen, Exporten, Zweck und wichtigen Abhängigkeiten.
{ "filePath": "/project/src/services/user.ts", "maxLength": 200 }generate_unit_tests
Generieren Sie Vitest-Unit-Tests für eine bestimmte Funktion oder Klasse. Verwendet den RIG-Index, um nur den Methodenkörper (nicht die ganze Datei) zu extrahieren — token-effizient. Deckt den Happy Path, Grenzfälle und Fehlerfälle ab.
{
"repoPath": "/project",
"symbolName": "createUser",
"filePath": "src/services/user.ts"
}filePath ist nur erforderlich, wenn das Symbol in mehreren Dateien existiert.
investigate_ts_fix
Führen Sie tsc --noEmit aus und verwenden Sie das LLM, um jeden TypeScript-Fehler zu erklären und minimale Korrekturen vorzuschlagen. Token-effizient: übergibt nur den Schnipsel um die Fehlerzeile (±8 Zeilen), nicht die ganze Datei.
{
"repoPath": "/project",
"filePath": "src/services/user.ts",
"maxErrors": 5
}filePath und maxErrors sind optional. Lassen Sie filePath weg, um alle Fehler im gesamten Repository zu untersuchen.
Architektur
src/
├── cli/ # rig-indexer CLI (pre-index a repo into .rig/index.db)
├── graph/ # RIG graph engine (indexer, parsers, SQLite storage, types)
├── security/ # Path validation and safe extension checks
└── tools/ # MCP tool implementations (19 tools)Vorindizierung eines Repositorys
Für große Codebasen, vor der Verwendung von RIG-Werkzeugen vorindizieren:
npx tsx src/cli/index.ts /path/to/project --db /path/to/project/.rig/index.dbOptionen: --max-files <n>, --include-tests, --json
Entwicklung
npm run build # Compile TypeScript
npm run dev # Run in development mode
npm test # Run test suite
npm run clean # Clean build artifactsLizenz
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
AI-powered codebase analysis — call graphs, security, dead code, complexity. 150+ tools.
Codebase intelligence for AI agents — dead code, blast radius, ownership.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to perform high-performance code search and analysis across multiple languages using symbol indexing, regex text search, and structural AST pattern matching. It also provides tools for technology stack detection and dependency analysis with persistent caching for optimized performance.10MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to query a pre-built semantic knowledge graph of code, reducing token usage and tool calls. Supports 16 tools for code exploration, analysis, and context building.23 npm8MIT
- AlicenseNot gradedqualityCmaintenanceProvides a semantic understanding of your codebase by parsing with tree-sitter and building a graph of symbols and dependencies. Enables AI assistants to navigate code, analyze changes, and discover architecture using 18 tools with minimal context overhead.12 npm1MIT
- AlicenseNot gradedqualityAmaintenanceProvides a dependency graph of any local repository with tools for change impact, transitive dependents, health audits, and more, enabling AI coding agents to see structure and refactor safely.4,912 npm4MIT