Skip to main content
Glama

repo-guardian

Servidor MCP que expone herramientas de salud del repositorio para que cualquier agente pueda proteger repositorios — detectar dependencias fijadas/no fijadas, problemas de cumplimiento de licencias, secretos incrustados y código muerto.

Características

  • audit_dependencies — Analiza pyproject.toml, requirements*.txt y setup.py; señala fijaciones exactas que pueden no recibir parches de seguridad y dependencias sin restricciones de versión.

  • check_licenses — Escanea las licencias declaradas de las dependencias para detectar problemas de cumplimiento (copyleft GPL/AGPL, licencias desconocidas, incompatibilidades de licencia con la licencia del proyecto).

  • scan_for_secrets — Busca claves de AWS, tokens de GitHub, tokens de Slack, claves de API de Google, claves de Stripe, bloques de claves privadas, asignaciones de contraseñas, tokens Bearer y cadenas de alta entropía.

  • find_dead_code — Detecta importaciones de Python no utilizadas, funciones sin uso y archivos huérfanos.

Todos los escáneres no requieren dependencias externas (solo stdlib) y nunca provocan fallos en la sesión de MCP: los errores se devuelven como resultados de herramientas.

Related MCP server: sdlc-integrity-mcp

Instalación

pip install repo-guardian

Para desarrollo:

git clone https://github.com/prem-the-dev/repo-guardian.git
cd repo-guardian
pip install -e ".[dev]"

Inicio rápido (Claude Desktop / Cursor / Windsurf)

Añade esto a la configuración de tu cliente MCP:

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "repo-guardian": {
      "command": "python",
      "args": ["-m", "repo_guardian"]
    }
  }
}

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "repo-guardian": {
      "command": "python",
      "args": ["-m", "repo_guardian"]
    }
  }
}

Windsurf (.codeium/windsurf/mcp.json)

La misma configuración que la de Cursor.

Gemini CLI (gemini/.gemini/.mcp.json)

{
  "mcpServers": {
    "repo-guardian": {
      "command": "python",
      "args": ["-m", "repo_guardian"]
    }
  }
}

Hermes Agent

Copia el mcp.json incluido en tu perfil de Hermes o combínalo con tu configuración existente del servidor MCP:

cp mcp.json ~/.hermes/profiles/mcp-specialist/mcp.json
hermes profile reload
{
  "mcpServers": {
    "repo-guardian": {
      "command": "python",
      "args": ["-m", "repo_guardian"]
    }
  }
}

Ejemplos de uso

Una vez configurado, cualquier agente puede invocar las herramientas:

Auditar dependencias

audit_dependencies(path="/path/to/my-project")

Devuelve:

{
  "status": "ok",
  "scanned_files": ["pyproject.toml", "requirements.txt"],
  "total_dependencies": 4,
  "pinned_dependencies": [
    {"name": "Django", "version_spec": "==4.2.7", "classification": "pinned"}
  ],
  "potential_issues": [
    {"type": "pinned_exact", "dependency": "Django", "message": "..."}
  ]
}

Comprobar licencias

check_licenses(path="/path/to/my-project")

Devuelve:

{
  "status": "ok",
  "project_license": "MIT",
  "restricted_licenses": [],
  "unknown_licenses": [...],
  "potential_issues": []
}

Buscar secretos

scan_for_secrets(path="/path/to/my-project", max_file_size_mb=5)

Devuelve:

{
  "status": "ok",
  "total_findings": 3,
  "findings": [
    {"type": "aws_access_key", "file": ".env", "line": 2, "confidence": "high"},
    {"type": "github_token", "file": "config.py", "line": 5, "confidence": "high"}
  ]
}

Encontrar código muerto

find_dead_code(path="/path/to/my-project")

Devuelve:

{
  "status": "ok",
  "unused_imports": [
    {"type": "unused_import", "file": "main.py", "line": 3, "name": "unused_module"}
  ],
  "unused_functions": [
    {"type": "unused_function", "file": "main.py", "line": 12, "name": "unused_function"}
  ],
  "orphaned_files": [...]
}

Ejecutar las pruebas

python -m pytest tests/ -v

Arquitectura

graph TD
    A[MCP Client<br/>Claude/Cursor/Windsurf/Hermes] -->|stdio JSON-RPC| B[MCP Server<br/>repo_guardian]
    B --> C[Tool Registry<br/>tools/list + tools/call]
    C --> D[audit_dependencies]
    C --> E[check_licenses]
    C --> F[scan_for_secrets]
    C --> G[find_dead_code]
    D --> D1[pyproject.toml parser]
    D --> D2[requirements.txt parser]
    D --> D3[setup.py parser]
    E --> E1[SPDX license DB<br/>offline lookup]
    E --> E2[Project license<br/>detect]
    F --> F1[Pattern matchers<br/>AWS/GH/Slack/etc]
    F --> F2[Shannon entropy<br/>high-entropy scan]
    G --> G1[AST parser<br/>imports + defs]
    G --> G2[Cross-file<br/>usage tracker]

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/prem-the-dev/repo-guardian'

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