gts-repo-guardian
Automatiza la gestión de calidad de repositorios GitHub, permitiendo revisar, generar README, limpiar, y monitorizar repositorios.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gts-repo-guardianReview repository 'my-app' for quality issues"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gts-repo-guardian 🛡️
MCP (Model Context Protocol) para gestión y revisión automática de repositorios GitHub
📋 Descripción
gts-repo-guardian es un servidor MCP que automatiza la gestión de calidad de repositorios GitHub. Diseñado para mantener el estándar de documentación en los proyectos de @planetazuzu y GTS SOFTWARE.
Related MCP server: MCP GitHub README Generator
⚡ Características
Herramientas Disponibles
Herramienta | Descripción |
| Analiza un repo y genera informe de calidad (0-100) |
| Genera README profesional automáticamente |
| Limpia y estructura el repositorio |
| Revisión masiva de todos los repos de un usuario |
| Aplica mejoras automáticamente |
| Monitoriza repos y alerta sobre problemas |
🚀 Instalación
git clone https://github.com/PlanetaZero/gts-repo-guardian.git
cd gts-repo-guardian
npm install
npm run build⚙️ Configuración
Copia
.env.examplea.env:
cp .env.example .envGenera un token de GitHub en: https://github.com/settings/tokens
Asigna el token en
.env:
GITHUB_TOKEN=tu_token_aqui🔧 Uso con OpenCode
Añade a tu configuración de OpenCode:
{
"mcpServers": {
"gts-repo-guardian": {
"command": "node",
"args": ["/ruta/a/gts-repo-guardian/dist/index.js"],
"env": {
"GITHUB_TOKEN": "tu_token_aqui"
}
}
}
}🔧 Uso con Claude Desktop
Añade a ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"gts-repo-guardian": {
"command": "node",
"args": ["/ruta/a/gts-repo-guardian/dist/index.js"],
"env": {
"GITHUB_TOKEN": "tu_token_aqui"
}
}
}
}📊 Sistema de Puntuación
Puntuación | Color | Significado |
80-100 | 🟢 Verde | Excelente |
50-79 | 🟡 Amarillo | Necesita mejoras |
0-49 | 🔴 Rojo | Necesita trabajo urgente |
Reglas de Calidad
README.md existe y tiene >200 palabras: 30 pts
Repo tiene descripción en GitHub: 15 pts
Repo tiene al menos 3 topics: 10 pts
Licencia presente: 10 pts
.gitignore apropiado al stack: 10 pts
package.json con nombre y descripción: 10 pts
Carpetas organizadas correctamente: 10 pts
.env.example presente si hay variables: 5 pts
📁 Estructura del Proyecto
gts-repo-guardian/
├── src/
│ ├── index.ts # Servidor MCP principal
│ ├── tools/
│ │ ├── review.ts # Revisión de repos
│ │ ├── readme.ts # Generación de READMEs
│ │ ├── clean.ts # Limpieza y estructura
│ │ ├── batch.ts # Revisión masiva
│ │ ├── improve.ts # Aplicar mejoras
│ │ └── monitor.ts # Monitorización continua
│ ├── templates/
│ │ ├── readme-sanitario.md
│ │ ├── readme-tech.md
│ │ └── readme-lab.md
│ └── config/
│ ├── rules.ts # Reglas de calidad
│ └── profiles.ts # Configuración de perfiles
├── package.json
├── tsconfig.json
├── .env.example
└── README.md👤 Autor
Javier Fernández · @planet://github.com/azuzu Técnico de Emergencias Sanitarias · +25 años · La Rioja, España GTS SOFTWARE
📄 Licencia
MIT License - ver LICENSE para más detalles.
Available Tools
6 toolsapply_improvementsB
Aplica las mejoras automáticamente basándose en el informe de review
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Dueño del repositorio | |
| improvements | Yes | Lista de mejoras a aplicar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates automatic application of improvements, which implies mutation, but does not explain what files or settings are changed, whether the operation is reversible, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler or redundancy. The core action and its basis are communicated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and a non-trivial inputs array, the description is too sparse. It does not clarify what 'improvements' should contain, how they will be applied to the repository, or what the operational impact is, leaving an agent with insufficient guidance for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already documented meaningfully. The description adds minimal semantic value beyond the schema, mainly connecting the improvements to a review report.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Aplica') and a resource ('las mejoras'), making the core action clear. It is distinguishable from siblings like review_repository or clean_repository, though it does not explicitly contrast itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'basándose en el informe de review' implies this tool should be used after a review report exists, which gives some contextual guidance. However, it does not explicitly state when not to use it or mention alternatives such as clean_repository.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clean_repositoryC
Limpia y estructura un repositorio automáticamente
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Dueño del repositorio |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing side effects. It signals an automated mutation but does not say whether it deletes files, modifies histories, creates commits or pull requests, requires permissions, or is reversible. The word 'automáticamente' adds only minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no filler and is front-loaded with the action. It is easy to parse, though the brevity is also the reason behavioral and usage details are missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, and whose name suggests a potentially destructive cleanup operation, this description is incomplete. An agent cannot predict what will happen to the repository, what the result will look like, or how this relates to a review or improvement workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters with 100% coverage, so the baseline is 3. The description adds no additional parameter-level meaning beyond referring to the repository, but it also does not need to compensate for missing schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('limpia y estructura') and a clear resource ('un repositorio'), so an agent can identify this as a repository cleanup/organization tool. However, it does not specify what 'cleaning' or 'structuring' concretely involves, and it does not distinguish itself from the sibling tool apply_improvements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus review_repository, apply_improvements, generate_readme, or the other siblings. There are no prerequisites, no workflow context, and no exclusions. The only usage signal is the verb itself, which is not enough for confident tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_readmeB
Genera un README profesional automáticamente basado en el código del repo
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Dueño del repositorio | |
| template | No | Tipo de template a usar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says the README is generated 'automáticamente' from code, but it does not disclose whether the tool writes to the repository, overwrites an existing README, requires permissions, or returns the content. Given that the tool appears to create or modify a file, this lack of side-effect information is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the tool's purpose without unnecessary bulk. The word 'profesional' is slightly stylistic rather than operational, but the overall definition remains appropriately concise and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description is thin on operational detail: it does not explain the return value, whether the README is committed to the repository, how the code analysis works, or what the template parameter controls. An agent could select the correct tool from name and description alone, but it would lack enough context to predict side effects or interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema documents all three parameters with 100% coverage, so the description does not need to repeat them. The description adds no semantic value beyond the schema: it does not clarify what 'template' values like 'sanitario', 'tech', or 'lab' mean, nor how owner and repo are used. Per the high-coverage baseline, this is adequate but not enhanced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Genera' and identifies a concrete deliverable ('un README profesional') plus the input source ('basado en el código del repo'). This clearly distinguishes the tool from siblings like review_repository, clean_repository, and apply_improvements, which perform different operations. The term 'profesional' adds little precision, but the core action/resource pairing is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when a README should be generated from repository code. However, it does not explicitly state when to use this tool versus the sibling tools, nor does it mention any exclusions or prerequisites. The usage guidance is therefore present only by inference, not by direct statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_all_repositoriesA
Revisa todos los repos públicos de un perfil GitHub
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Usuario de GitHub |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Review' suggests a read-only analysis, but the description does not state whether it modifies anything, what it returns, whether authentication is needed, or how the bulk review behaves across repos.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It conveys the tool's purpose and scope efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description covers the core purpose and input, but it fails to clarify expected output or behavioral details. It is minimally viable but leaves an agent guessing about the result of calling the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the sole parameter username is already described as 'GitHub user'. The description adds little beyond restating the profile concept, so it meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('review') and resource ('all public repos of a GitHub profile'), clearly distinguishing it from the sibling review_repository, which targets a single repo. The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope 'all public repos of a GitHub profile' implies when to use it versus review_repository, but it never explicitly mentions alternatives or exclusion criteria. The guidance is present only implicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_repositoryA
Analiza un repositorio GitHub y genera informe de calidad con puntuación 0-100
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Dueño del repositorio |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral disclosure burden. It communicates the core behavior—analyzing and generating a report with a numeric score—but does not clarify side effects, authentication/network requirements, or whether the report is returned directly or persisted somewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence that front-loads the action and the concrete output. There is no filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the core purpose is adequately stated, but the lack of an output schema and annotations leaves gaps around the report's structure and potential side effects. The absence of guidance versus review_all_repositories also weakens completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both owner and repo parameters described, so the baseline is 3. The description itself adds no parameter-level details beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (analyze), the resource (GitHub repository), and the output (quality report with a 0-100 score). The singular 'un repositorio' helps distinguish it from sibling review_all_repositories and other tools like generate_readme or clean_repository.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for analyzing one specific GitHub repository, but it provides no explicit guidance about when to use this tool versus review_all_repositories or other sibling tools. No alternatives or exclusions are mentioned, leaving the agent to infer the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_repositoriesC
Monitoriza repos y alerta sobre problemas
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Usuario de GitHub a monitorizar | |
| daysInactive | No | Días de inactividad para alertar |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says the tool monitors repos and alerts about problems, but it does not disclose whether this is read-only, whether it creates background jobs, sends notifications, stores state, or what constitutes a 'problem.' This leaves significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler words. It front-loads the core action, though it could use extra space to clarify what 'problemas' means without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, absence of an output schema, and vague behavioral language, the description is insufficient for an agent to understand the full context of invocation, expected results, or side effects. The schema covers parameters, but the broader behavior and outcome remain unclear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the parameters, including descriptions for username and daysInactive. The tool description adds no parameter-level information beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Monitoriza repos' and 'alerta sobre problemas.' It is distinguishable from sibling tools like review_repository and clean_repository, though the term 'problemas' is vague and no explicit sibling differentiation is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives such as review_repository or review_all_repositories. The intended use is only implied by the purpose phrase, with no exclusions, prerequisites, or comparison to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v1.0.0- First observed
apply_improvements - First observed
clean_repository - First observed
generate_readme - First observed
review_all_repositories - First observed
review_repository - First observed
watch_repositories
TDQS
Scored across 6 tools
Most tools are clearly distinct: review, generate README, clean, bulk review, apply improvements, and watch. The main overlap is between clean_repository and apply_improvements, both of which modify a repo, though their stated intents are different enough to be workable.
All tool names follow a consistent snake_case verb_noun pattern, such as review_repository, generate_readme, and watch_repositories. The naming is predictable and makes the action of each tool immediately clear.
Six tools is well within the ideal range for a focused repo management server. Each tool covers a distinct part of the repo guarding workflow without unnecessary bloat.
The surface covers core lifecycle needs: review, improve, clean, document, bulk review, and monitor repos. Missing pieces like rollback/revert or report retrieval are minor and can be worked around.
Maintenance
Related MCP Connectors
Create, deploy, and operate MCP servers directly from your GitHub repositories.
Scan any public GitHub MCP-server repo for security issues. 37 MCP-specific L1 rules, 8 languages.
A MCP server built for developers enabling Git based project management with project and personal…
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceComprehensive MCP server for analyzing GitHub pull requests, detecting security vulnerabilities, assessing code quality, and providing risk ratings across multiple languages.2 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that analyzes GitHub repositories and automatically generates README.md files. Supports multiple AI providers and offers web, MCP tool, and n8n workflow modes.1Creative Commons Zero v1.0 Universal
- FlicenseNot gradedqualityDmaintenanceMCP server that provides structured briefs for public GitHub repositories, including metadata, key files, release notes, and activity snapshots.-
- AlicenseNot gradedqualityBmaintenanceAn MCP server for automated code review of GitHub pull requests. It checks security, quality, and license issues, and provides tools to list, inspect, and review PRs.15 npmMIT