Skip to main content
Glama
williamRR

MCP Filesystem Server

by williamRR

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: PT-MCP (Paul Test Man Context Protocol)

Установка

Из npm

npx rig-mcp-tools

Из исходного кода

git clone <repository-url>
cd rig-mcp-tools
npm install
npm run build

Docker

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"
      }
    }
  }
}

Переменные окружения

Переменная

По умолчанию

Описание

WORKSPACE_PATH

/workspace

Корневой путь рабочей области

GLM_API_URL

http://localhost:1234/v1/chat/completions

Эндпоинт LLM API (совместимый с OpenAI)

GLM_MODEL

qwen2.5-coder-7b-instruct-mlx@8bit

Модель для инструментов на базе LLM

EMBEDDING_API_URL

http://localhost:1234/v1/embeddings

Эндпоинт API эмбеддингов

EMBEDDING_MODEL

text-embedding-nomic-embed-text-v1.5

Модель для семантического поиска

Инструменты 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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides intelligent code context and analysis through semantic compression, AST parsing, and multi-language support. Offers 60-80% token reduction while enabling AI assistants to understand codebases through local analysis, OpenAI-enhanced insights, and GitHub repository integration.
    6
    22
    3
    MIT
  • F
    license
    B
    quality
    Not graded
    maintenance
    Provides comprehensive codebase analysis and semantic understanding through integrated knowledge graphs, enabling AI assistants to understand project structure, patterns, dependencies, and context through multiple analysis tools and format generators.
    9
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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.
    7
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    13
    7
    MIT

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/williamRR/mcp-filesystem-rig'

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