MCP Filesystem Server
RIG MCP Tools
Сервер протокола контекста модели (MCP), предоставляющий интеллектуальный анализ кода, архитектурные инсайты на основе графов и файловые операции для ИИ-ассистентов.
Обзор
RIG MCP Tools объединяет три уровня интеллектуальных возможностей:
Статический анализ — Граф интеллектуального анализа репозитория (RIG), построенный на основе парсинга AST (ts-morph, tree-sitter) и хранящийся в SQLite, что позволяет выполнять графовые запросы без затрат токенов LLM.
Семантический поиск — Поиск символов на основе эмбеддингов с использованием локальной модели (nomic-embed-text или совместимой). Эмбеддинги кэшируются в SQLite после первого запуска. Возвращает точные фрагменты кода вместо целых файлов — минимизирует использование токенов.
Инструменты на базе LLM — Набор инструментов, которые вызывают настраиваемый API, совместимый с OpenAI, для рассуждений на естественном языке о коде.
Related MCP server: CodeXRay
Установка
Из npm
npx rig-mcp-toolsИз исходного кода
git clone <repository-url>
cd rig-mcp-tools
npm install
npm run buildDocker
docker build -t rig-mcp-tools .
docker run rig-mcp-toolsКонфигурация
MCP-клиент (Claude Desktop, Cursor и т.д.)
{
"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"
}
}
}
}Переменные окружения
Переменная | По умолчанию | Описание |
|
| Корневой путь рабочей области |
|
| Эндпоинт LLM API (совместимый с OpenAI) |
|
| Модель для инструментов на базе LLM |
|
| Эндпоинт API эмбеддингов |
|
| Модель для семантического поиска |
Инструменты LLM и эмбеддингов являются опциональными — все инструменты статического анализа работают без какого-либо API.
Доступные инструменты
RIG — Графовый анализ
Эти инструменты индексируют репозиторий в граф SQLite через парсинг AST и запрашивают его без вызова LLM.
get_smart_context
Получение наиболее релевантных файлов и символов для запроса с использованием центральности графа и оценки ключевых слов.
{ "rootPath": "/project", "text": "authentication flow" }get_architectural_metrics
Краткий обзор архитектуры репозитория: основные узлы, точки входа и стабильные основы, ранжированные по центральности графа.
{ "rootPath": "/project" }graph_analyzer
Анализ сложности на уровне компонентов с обнаружением «горячих точек» и рекомендациями по рефакторингу.
{ "rootPath": "/project" }generate_call_graph
Генерация графов вызовов или диаграмм зависимостей между компонентами, файлами или символами.
{
"rootPath": "/project",
"level": "component",
"format": "mermaid",
"maxDepth": 5
}level: "component" | "file" | "symbol"format: "mermaid" | "dot" | "json"
generate_diagram
Генерация архитектурных диаграмм C4, диаграмм последовательности, графов вызовов или визуализаций зависимостей из 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
Хирургическое извлечение функции или класса из исходного файла в целевой файл с использованием координат символов RIG.
{
"rootPath": "/project",
"sourceFile": "src/utils/helpers.ts",
"symbolName": "formatDate",
"targetFile": "src/utils/date.ts"
}Файловые операции
Чистые инструменты файловой системы, граф или LLM не требуются.
read_files
Чтение содержимого до 10 файлов за один вызов.
{ "files": ["src/index.ts", "src/config.ts"] }write_code_unit
Запись или перезапись файла с определенным содержимым. При необходимости создает родительские каталоги.
{ "path": "src/utils/new-file.ts", "content": "export const foo = 1;" }ls_tree
Вывод структуры каталогов в виде дерева ASCII.
{ "path": "/project/src", "maxDepth": 3 }search_code
Рекурсивный поиск текста или регулярных выражений по всей кодовой базе.
{ "path": "/project/src", "pattern": "useEffect", "useRegex": false }inspect_symbols
Извлечение сигнатур классов и функций из файла с использованием анализа AST (ts-morph).
{ "file": "src/tools/index.ts" }run_shell_task
Выполнение разрешенных команд оболочки.
{ "command": "npm run build", "timeout": 60000 }Разрешенные префиксы: 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.
Анализ качества
Инструменты статического анализа, LLM не требуются.
detect_patterns
Обнаружение антипаттернов, «запахов» кода и проблем безопасности с использованием анализа Babel AST.
{ "sourceCode": "...", "filePath": "src/auth/login.ts" }suggest_refactor
Обнаружение возможностей для рефакторинга: длинные функции, глубокая вложенность, магические числа, дублирующийся код и отсутствующие аннотации типов.
{
"file_path": "src/services/user.ts",
"max_suggestions": 10,
"min_priority": 3,
"include_diff": true
}Необходимо предоставить либо file_path, либо code_snippet.
analyze_dependencies
Построение облегченного графа зависимостей файлов TypeScript через анализ импортов. Возвращает узлы, циклические зависимости и формат DOT для Graphviz.
{ "rootPath": "/project/src" }На базе эмбеддингов
Требуются EMBEDDING_API_URL и EMBEDDING_MODEL. Эмбеддинги генерируются один раз для каждого символа и кэшируются в .rig/index.db — последующие запросы эмбеддят только строку запроса.
search_semantic
Семантический поиск символов с использованием векторного сходства. Возвращает наиболее релевантные функции и классы с их фрагментами кода. Используйте это перед read_files, чтобы избежать загрузки целых файлов в контекст. Эмбеддинги генерируются один раз для каждого символа и кэшируются в .rig/index.db.
{
"repoPath": "/project",
"query": "how is authentication handled",
"maxResults": 5,
"threshold": 0.3
}На базе LLM
Требуются GLM_API_URL и GLM_MODEL.
analyze_logic
Задайте вопрос на естественном языке о фрагменте кода. Использует настроенную LLM для рассуждения о поведении, намерениях или логике.
{
"filePath": "/project/src/auth/login.ts",
"question": "What edge cases does this miss?"
}Предпочитайте filePath вместо code, чтобы избежать передачи содержимого файлов через контекст.
smart_summarize
Генерация интеллектуального резюме файла кода, включая импорты, экспорты, назначение и ключевые зависимости.
{ "filePath": "/project/src/services/user.ts", "maxLength": 200 }generate_unit_tests
Генерация юнит-тестов vitest для конкретной функции или класса. Использует индекс RIG для извлечения только тела метода (а не всего файла) — эффективно по токенам. Охватывает основной сценарий, граничные случаи и случаи ошибок.
{
"repoPath": "/project",
"symbolName": "createUser",
"filePath": "src/services/user.ts"
}filePath требуется только в том случае, если символ существует в нескольких файлах.
investigate_ts_fix
Запуск tsc --noEmit и использование LLM для объяснения и предложения минимальных исправлений для каждой ошибки TypeScript. Эффективно по токенам: передает только фрагмент вокруг строки с ошибкой (±8 строк), а не весь файл.
{
"repoPath": "/project",
"filePath": "src/services/user.ts",
"maxErrors": 5
}filePath и maxErrors являются опциональными. Опустите filePath для исследования всех ошибок в репозитории.
Архитектура
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)Предварительная индексация репозитория
Для больших кодовых баз выполните предварительную индексацию перед использованием инструментов RIG:
npx tsx src/cli/index.ts /path/to/project --db /path/to/project/.rig/index.dbОпции: --max-files <n>, --include-tests, --json
Разработка
npm run build # Compile TypeScript
npm run dev # Run in development mode
npm test # Run test suite
npm run clean # Clean build artifactsЛицензия
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