Skip to main content
Glama
williamRR

MCP Filesystem Server

by williamRR

Herramientas MCP RIG

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona análisis de código inteligente, perspectivas de arquitectura basadas en grafos y operaciones de archivos para asistentes de IA.

Descripción general

Las herramientas MCP RIG combinan tres capas de inteligencia:

  • Análisis estático — Un Grafo de Inteligencia de Repositorio (RIG) construido a partir del análisis de AST (ts-morph, tree-sitter) almacenado en SQLite, lo que permite consultas de grafos sin costo de LLM.

  • Búsqueda semántica — Recuperación de símbolos basada en incrustaciones (embeddings) utilizando un modelo local (nomic-embed-text o compatible). Las incrustaciones se almacenan en caché en SQLite después de la primera ejecución. Devuelve fragmentos de código precisos en lugar de archivos completos, lo que minimiza el uso de tokens.

  • Herramientas impulsadas por LLM — Un subconjunto de herramientas que llaman a una API compatible con OpenAI configurable para el razonamiento en lenguaje natural sobre el código.

Related MCP server: PT-MCP (Paul Test Man Context Protocol)

Instalación

Desde npm

npx rig-mcp-tools

Desde el código fuente

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

Configuración

Cliente MCP (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"
      }
    }
  }
}

Variables de entorno

Variable

Predeterminado

Descripción

WORKSPACE_PATH

/workspace

Ruta raíz del espacio de trabajo

GLM_API_URL

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

Punto final de la API de LLM (compatible con OpenAI)

GLM_MODEL

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

Modelo para herramientas impulsadas por LLM

EMBEDDING_API_URL

http://localhost:1234/v1/embeddings

Punto final de la API de incrustaciones

EMBEDDING_MODEL

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

Modelo para búsqueda semántica

Las herramientas de LLM y de incrustación son opcionales; todas las herramientas de análisis estático funcionan sin ninguna API.

Herramientas disponibles

RIG — Análisis de grafos

Estas herramientas indexan el repositorio en un grafo SQLite mediante el análisis de AST y lo consultan sin llamar a ningún LLM.

get_smart_context

Recupere los archivos y símbolos más relevantes para una consulta utilizando la centralidad del grafo y la puntuación de palabras clave.

{ "rootPath": "/project", "text": "authentication flow" }

get_architectural_metrics

Resumen ejecutivo de la arquitectura del repositorio: centros principales, puntos de entrada y bases estables clasificadas por centralidad de grafo.

{ "rootPath": "/project" }

graph_analyzer

Análisis de complejidad a nivel de componente con detección de puntos críticos y recomendaciones de refactorización.

{ "rootPath": "/project" }

generate_call_graph

Genere grafos de llamadas o diagramas de dependencia entre componentes, archivos o símbolos.

{
  "rootPath": "/project",
  "level": "component",
  "format": "mermaid",
  "maxDepth": 5
}

level: "component" | "file" | "symbol"
format: "mermaid" | "dot" | "json"

generate_diagram

Genere diagramas de arquitectura C4, diagramas de secuencia, grafos de llamadas o visualizaciones de dependencia desde el 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

Extraiga quirúrgicamente una función o clase de un archivo fuente a un archivo de destino utilizando coordenadas de símbolos RIG.

{
  "rootPath": "/project",
  "sourceFile": "src/utils/helpers.ts",
  "symbolName": "formatDate",
  "targetFile": "src/utils/date.ts"
}

Operaciones de archivo

Herramientas de sistema de archivos puras, no se requiere grafo ni LLM.

read_files

Lea el contenido de hasta 10 archivos en una sola llamada.

{ "files": ["src/index.ts", "src/config.ts"] }

write_code_unit

Escriba o sobrescriba un archivo con contenido específico. Crea directorios principales según sea necesario.

{ "path": "src/utils/new-file.ts", "content": "export const foo = 1;" }

ls_tree

Enumere la estructura del directorio como un árbol ASCII.

{ "path": "/project/src", "maxDepth": 3 }

search_code

Busque texto o patrones de expresiones regulares de forma recursiva en toda la base de código.

{ "path": "/project/src", "pattern": "useEffect", "useRegex": false }

inspect_symbols

Extraiga firmas de clases y funciones de un archivo mediante análisis de AST (ts-morph).

{ "file": "src/tools/index.ts" }

run_shell_task

Ejecute comandos de shell permitidos.

{ "command": "npm run build", "timeout": 60000 }

Prefijos permitidos: 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.


Análisis de calidad

Herramientas de análisis estático, no se requiere LLM.

detect_patterns

Detecte antipatrones, olores de código y problemas de seguridad mediante el análisis de AST de Babel.

{ "sourceCode": "...", "filePath": "src/auth/login.ts" }

suggest_refactor

Detecte oportunidades de refactorización: funciones largas, anidamiento profundo, números mágicos, código duplicado y falta de anotaciones de tipo.

{
  "file_path": "src/services/user.ts",
  "max_suggestions": 10,
  "min_priority": 3,
  "include_diff": true
}

Se debe proporcionar file_path o code_snippet.

analyze_dependencies

Construya un grafo de dependencias ligero de archivos TypeScript mediante el análisis de importaciones. Devuelve nodos, dependencias circulares y formato DOT para Graphviz.

{ "rootPath": "/project/src" }

Impulsado por incrustaciones (Embeddings)

Requiere EMBEDDING_API_URL y EMBEDDING_MODEL. Las incrustaciones se generan una vez por símbolo y se almacenan en caché en .rig/index.db; las consultas posteriores solo incrustan la cadena de consulta.

search_semantic

Búsqueda semántica de símbolos mediante similitud vectorial. Devuelve las funciones y clases más relevantes con sus fragmentos de código. Use esto antes de read_files para evitar cargar archivos completos en el contexto. Las incrustaciones se generan una vez por símbolo y se almacenan en caché en .rig/index.db.

{
  "repoPath": "/project",
  "query": "how is authentication handled",
  "maxResults": 5,
  "threshold": 0.3
}

Impulsado por LLM

Requiere GLM_API_URL y GLM_MODEL.

analyze_logic

Haga una pregunta en lenguaje natural sobre un fragmento de código. Utiliza el LLM configurado para razonar sobre el comportamiento, la intención o la lógica.

{
  "filePath": "/project/src/auth/login.ts",
  "question": "What edge cases does this miss?"
}

Prefiera filePath sobre code para evitar pasar el contenido del archivo a través del contexto.

smart_summarize

Genere un resumen inteligente de un archivo de código que incluya importaciones, exportaciones, propósito y dependencias clave.

{ "filePath": "/project/src/services/user.ts", "maxLength": 200 }

generate_unit_tests

Genere pruebas unitarias de vitest para una función o clase específica. Utiliza el índice RIG para extraer solo el cuerpo del método (no todo el archivo), lo que es eficiente en tokens. Cubre la ruta feliz, casos extremos y casos de error.

{
  "repoPath": "/project",
  "symbolName": "createUser",
  "filePath": "src/services/user.ts"
}

filePath solo es necesario si el símbolo existe en varios archivos.

investigate_ts_fix

Ejecute tsc --noEmit y utilice el LLM para explicar y sugerir correcciones mínimas para cada error de TypeScript. Eficiente en tokens: solo pasa el fragmento alrededor de la línea de error (±8 líneas), no todo el archivo.

{
  "repoPath": "/project",
  "filePath": "src/services/user.ts",
  "maxErrors": 5
}

filePath y maxErrors son opcionales. Omita filePath para investigar todos los errores en todo el repositorio.


Arquitectura

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)

Pre-indexación de un repositorio

Para bases de código grandes, pre-indexe antes de usar las herramientas RIG:

npx tsx src/cli/index.ts /path/to/project --db /path/to/project/.rig/index.db

Opciones: --max-files <n>, --include-tests, --json

Desarrollo

npm run build   # Compile TypeScript
npm run dev     # Run in development mode
npm test        # Run test suite
npm run clean   # Clean build artifacts

Licencia

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.
    14
    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