Skip to main content
Glama
pblarismendi

mcp-github-server

by pblarismendi

🐙 Servidor MCP para GitHub

Un servidor completo de Model Context Protocol (MCP) para interactuar con GitHub. Permite gestionar repositorios, issues, pull requests, branches, commits, releases, webhooks y mucho más desde Cursor o Claude Desktop.

✨ Características Principales

  • Gestión completa de repositorios (listar, buscar, obtener detalles)

  • Pull Requests (crear, mergear, cerrar, actualizar, reviews)

  • Issues (crear, actualizar, cerrar, comentarios)

  • Búsqueda avanzada (código, issues, usuarios, commits)

  • Gestión de commits (obtener detalles, listar, comparar)

  • Releases y Tags (crear, listar, obtener detalles)

  • Webhooks (crear, actualizar, eliminar, ping)

  • Protección de ramas (configurar reglas de protección)

  • Multiplataforma (macOS, Linux, Windows)

Related MCP server: GitHub MCP Server

🚀 Instalación Rápida

Requisitos

  • Node.js 18+ instalado

  • npm o pnpm

  • Personal Access Token de GitHub con permisos repo

Instalación desde npm

npm install -g mcp-github-server
# o con pnpm:
pnpm add -g mcp-github-server

Instalación desde código fuente

git clone https://github.com/pblarismendi/mcp-github-server.git
cd mcp-github-server
npm install
npm run build

🔑 Configuración

1. Obtener un Personal Access Token de GitHub

  1. Ve a GitHub Settings > Developer settings > Personal access tokens > Tokens (classic)

  2. Haz clic en "Generate new token (classic)"

  3. Dale un nombre descriptivo (ej: "MCP Server")

  4. Selecciona los scopes:

    • repo (Full control of private repositories)

    • read:org (opcional, para organizaciones)

  5. Haz clic en "Generate token"

  6. Copia el token inmediatamente (solo se muestra una vez)

2. Configurar en Cursor/Claude Desktop

Cursor

Ubicación: ~/.cursor/mcp.json o .cursor/mcp.json en tu workspace

Configuración - Método 1: Con npx (Recomendado - Más Simple)

Este método no requiere encontrar rutas absolutas ni instalar globalmente:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "mcp-github-server"],
      "env": {
        "GITHUB_TOKEN": "tu_token_aqui"
      }
    }
  }
}

Configuración - Método 2: Con ruta absoluta

Si prefieres usar una instalación global, usa la ruta absoluta:

{
  "mcpServers": {
    "github": {
      "command": "node",
      "args": ["RUTA_ABSOLUTA/dist/index.js"],
      "env": {
        "GITHUB_TOKEN": "tu_token_aqui"
      }
    }
  }
}

Ejemplos de rutas:

  • macOS: "/Users/tu_usuario/.npm-global/lib/node_modules/mcp-github-server/dist/index.js"

  • Linux: "/usr/local/lib/node_modules/mcp-github-server/dist/index.js"

  • Windows: "C:\\Users\\tu_usuario\\AppData\\Roaming\\npm\\node_modules\\mcp-github-server\\dist\\index.js"

Claude Desktop

Ubicación:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Configuración: (igual que Cursor)

3. Encontrar la ruta de instalación (Solo si usas Método 2)

Si instalaste globalmente con npm/pnpm y necesitas la ruta absoluta, encuentra la ruta con:

npm list -g mcp-github-server
# o
pnpm list -g mcp-github-server

O busca el ejecutable:

# macOS/Linux:
which mcp-github
which mcp-github-server

# Windows (PowerShell/CMD):
where mcp-github
where mcp-github-server

Nota: Si where mcp-github-server no encuentra nada en Windows, usa el Método 1 con npx que no requiere encontrar rutas.

💻 Uso Básico

Una vez configurado, el servidor MCP estará disponible en Cursor o Claude Desktop. Puedes usar comandos como:

  • "Lista mis repositorios"

  • "Muéstrame los PRs abiertos del repositorio X"

  • "Crea un issue en el repositorio Y"

  • "Busca código que contenga 'function calculate'"

🛠️ Herramientas Disponibles

Repositorios

  • list_repositories - Lista repositorios con filtros

  • get_repository - Obtiene detalles de un repositorio

  • search_repositories - Busca repositorios en GitHub

Pull Requests

  • list_pull_requests - Lista PRs

  • create_pull_request - Crea un PR

  • get_pull_request - Obtiene detalles de un PR

  • merge_pull_request - Mergea un PR (merge, squash, rebase)

  • close_pull_request - Cierra un PR

  • update_pull_request - Actualiza un PR

  • add_pull_request_review - Agrega una review

  • list_pull_request_reviews - Lista reviews de un PR

Issues

  • list_issues - Lista issues

  • create_issue - Crea un issue

  • update_issue - Actualiza un issue

  • close_issue - Cierra un issue

  • add_issue_comment - Agrega un comentario

  • list_issue_comments - Lista comentarios

Búsqueda

  • search_code - Busca código en repositorios

  • search_issues - Busca issues y PRs

  • search_users - Busca usuarios

  • search_commits - Busca commits

Commits

  • get_commit - Obtiene detalles de un commit

  • list_commits - Lista commits con filtros

  • compare_commits - Compara commits o branches

Releases y Tags

  • list_releases - Lista releases

  • get_release - Obtiene detalles de un release

  • create_release - Crea un release

  • list_tags - Lista tags

  • create_tag - Crea un tag

Webhooks

  • list_webhooks - Lista webhooks

  • get_webhook - Obtiene detalles de un webhook

  • create_webhook - Crea un webhook

  • update_webhook - Actualiza un webhook

  • delete_webhook - Elimina un webhook

  • ping_webhook - Hace ping a un webhook

Branches

  • list_branches - Lista branches

  • protect_branch - Protege una rama

Otros

  • get_user_info - Obtiene información del usuario

  • get_file_content - Lee archivos o directorios

🐛 Solución de Problemas

Error: "GITHUB_TOKEN no está configurado"

  • Verifica que el token esté en la configuración de Cursor/Claude Desktop

  • Asegúrate de que no haya espacios antes o después del token

Error: "Bad credentials"

  • Tu token puede haber expirado

  • Genera un nuevo token en GitHub y actualiza la configuración

El servidor no se conecta

  • Verifica que la ruta al archivo dist/index.js sea correcta y absoluta (si usas Método 2)

  • Asegúrate de haber instalado el paquete correctamente

  • Revisa los logs de Cursor/Claude Desktop para ver errores específicos

  • Solución rápida: Usa el Método 1 con npx que no requiere rutas absolutas

Problemas Específicos de Windows

El ejecutable no se encuentra después de instalar globalmente

Problema: Después de ejecutar npm install -g mcp-github-server, el comando where mcp-github-server no encuentra nada.

Solución 1 (Recomendada): Usa npx en lugar de buscar el ejecutable:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "mcp-github-server"],
      "env": {
        "GITHUB_TOKEN": "tu_token_aqui"
      }
    }
  }
}

Solución 2: Encuentra la ruta manualmente:

  1. Ejecuta en PowerShell o CMD:

    npm list -g mcp-github-server
  2. Busca la ruta en la salida (normalmente algo como):

    C:\Users\tu_usuario\AppData\Roaming\npm\node_modules\mcp-github-server
  3. Usa la ruta completa en la configuración:

    {
      "mcpServers": {
        "github": {
          "command": "node",
          "args": ["C:\\Users\\tu_usuario\\AppData\\Roaming\\npm\\node_modules\\mcp-github-server\\dist\\index.js"],
          "env": {
            "GITHUB_TOKEN": "tu_token_aqui"
          }
        }
      }
    }

El archivo .cmd no se creó después de la instalación global

Problema: Windows necesita archivos .cmd o .exe pero npm no los creó automáticamente.

Solución: Esto es normal y no es un problema. Puedes usar cualquiera de estos métodos:

  1. Usar npx (más simple):

    {
      "command": "npx",
      "args": ["-y", "mcp-github-server"]
    }
  2. Usar node directamente con la ruta:

    {
      "command": "node",
      "args": ["RUTA_COMPLETA/dist/index.js"]
    }

Problemas con rutas en Windows

  • Usa barras normales / o dobles backslashes \\

  • Ejemplo: "C:\\Users\\Usuario\\...\\dist\\index.js" o "C:/Users/Usuario/.../dist/index.js"

  • Recomendación: Usa npx para evitar problemas con rutas

📚 Documentación Completa

Para más información sobre desarrollo, contribución, testing y características avanzadas, consulta:

💖 Sponsor este Proyecto

Si este proyecto te resulta útil, considera patrocinarme:

GitHub Sponsors

Tu apoyo ayuda a mantener y mejorar este proyecto. ¡Gracias! 🙏

👨‍💻 Desarrollador

Desarrollado con ❤️ por Pablo Arismendi

📝 Licencia

MIT

📞 Soporte

Si encuentras algún problema o tienes preguntas:

Available Tools

39 tools
add_issue_commentB

Agrega un comentario a un issue

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesContenido del comentario en Markdown
repoYesNombre del repositorio
ownerYesPropietario del repositorio
issue_numberYesNúmero del issue

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of explaining behavioral traits. It only states the action without disclosing side effects, permission requirements, error handling, or state changes. The write nature is implied but not expanded upon.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no redundant information. It is front-loaded with the primary action and clearly formatted, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is straightforward, but the description does not mention expected outcomes, return values, or any conditional behavior. Given the absence of annotations and output schema, the description covers only the bare minimum and lacks the context needed for an agent to anticipate results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, with each parameter described. The description adds no additional parameter meaning beyond the schema, matching the baseline score for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('adds a comment') and the resource ('an issue'), making the tool's purpose unambiguous. It distinguishes from sibling tools like create_issue or list_issue_comments by specifying a comment is being added to an existing issue.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as update_issue or add_pull_request_review. The description lacks any mention of prerequisites, conditions, or exclusions, leaving the agent without direction on tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_pull_request_reviewA

Agrega una review (aprobación, cambios solicitados, comentario) a un pull request

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoComentario de la review en Markdown
repoYesNombre del repositorio
eventYesTipo de review: APPROVE (aprobado), REQUEST_CHANGES (cambios solicitados), COMMENT (solo comentario)
ownerYesPropietario del repositorio
pull_numberYesNúmero del pull request

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must convey behavioral details. It only states the action and review types, but does not disclose side effects (e.g., whether it creates a new review or replaces an existing one), required permissions, authentication needs, or response behavior. This is a notable gap for a mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that immediately conveys the core purpose without redundancy. It is front-loaded and contains no wasted words, fitting the high bar for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema is fully populated, which covers parameter understanding. However, without an output schema, the description does not explain the return value or any post-conditions (e.g., how the review appears on the PR). The lack of annotations and behavioral context prevents it from being fully complete, but the core usage is clear enough for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description mentions the review types which correspond to the 'event' enum, but adds no additional semantic detail beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action: adding a review to a pull request, with the three possible review types (approval, changes requested, comment). This distinguishes it from sibling tools like merge_pull_request or list_pull_request_reviews, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the description—add a review when the user wants to submit feedback on a pull request—but it does not explicitly mention when to use this versus alternatives like create_pull_request or update_pull_request. No exclusions or alternative guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

close_issueC

Cierra un issue

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio
issue_numberYesNúmero del issue

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description discloses only the basic action ('closes an issue'). It does not mention state changes, required permissions, side effects, or error behavior, leaving significant behavioral transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short, direct sentence that is appropriately sized and front-loaded. Every word earns its place, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description is too minimal to fully convey the tool's behavior. It misses success feedback, potential errors, and contextual usage scenarios, leaving critical gaps for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for all three parameters (repo, owner, issue_number), giving 100% coverage. The description adds no additional semantic information beyond what the schema offers, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Cierra un issue' clearly states the verb (closes) and resource (issue), making the core action understandable. It distinguishes from close_pull_request in sibling tools, but it doesn't provide additional differentiation from update_issue which could also close an issue.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It simply states the action without any contextual direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

close_pull_requestA

Cierra un pull request sin mergearlo

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio
pull_numberYesNúmero del pull request

TDQS

A3.9/5.0
Behavior3/5

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 behavior. It clarifies that the action does not merge the PR, which is a key behavioral trait. However, it does not disclose any side effects, permission requirements, or whether the action is reversible, leaving gaps for an agent to infer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that is front-loaded and contains zero redundant words. It effectively communicates the core action and the key distinction in a minimal format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with only 3 parameters and no output schema, but the description does not mention what the tool returns (e.g., the updated PR object or a confirmation) or any error conditions. Given the lack of annotations and output schema, the description is adequate but not fully complete for an agent to reliably invoke and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for all three parameters (owner, repo, pull_number), achieving 100% schema description coverage. The tool description adds no additional parameter details, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb and resource: 'Cierra un pull request' (closes a pull request). The added 'sin mergearlo' (without merging) explicitly distinguishes it from sibling tools like merge_pull_request, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you want to close a pull request without merging. It provides clear context for the operation, though it does not explicitly name alternatives (e.g., merge_pull_request) or state when not to use it. The 'sin mergearlo' clause gives a strong signal about its exclusive use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_commitsB

Compara dos commits o branches y muestra las diferencias

ParametersJSON Schema
NameRequiredDescriptionDefault
baseYesSHA o branch base (commit anterior)
headYesSHA o branch head (commit nuevo)
repoYesNombre del repositorio
ownerYesPropietario del repositorio

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior. It mentions comparing and showing differences but does not clarify output format, permissions required, rate limits, or any side effects. This is insufficient for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no redundant information. It efficiently conveys the tool's core function without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is relatively simple, but with no output schema, the description should hint at what kind of differences are shown (e.g., file-level diff, commit metadata). The absence of this detail leaves a gap in understanding the full behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for parameters like base and head; it merely restates their purpose at a high level.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action: compare two commits or branches and show differences. It effectively distinguishes from sibling tools like get_commit or list_commits by focusing on comparison.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not mention when to use this tool over alternatives, nor does it provide prerequisites or exclusions. The intended use is only implied by the tool's name and basic description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_issueB

Crea un nuevo issue en un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoCuerpo del issue en Markdown
repoYesNombre del repositorio
ownerYesPropietario del repositorio
titleYesTítulo del issue
labelsNoEtiquetas para el issue
assigneesNoUsuarios asignados al issue

TDQS

B3/5.0
Behavior1/5

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 only states that it creates an issue, but does not disclose side effects, authentication requirements, idempotency, or any other behavioral traits. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately conveys the core functionality. There is no wasted wording or unnecessary detail, making it highly efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters and no output schema, the description is too sparse to be contextually complete. It lacks usage guidance, behavioral transparency, and any notes on expected outcomes or limitations. While the schema is rich, the description does not compensate for the missing context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all 6 parameters, so the schema already documents the parameters thoroughly. The description adds no additional meaning beyond the schema, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Crea un nuevo issue en un repositorio' uses a specific verb ('crea') and resource ('issue') with a clear scope ('en un repositorio'). It clearly distinguishes this from sibling tools like update_issue, close_issue, and list_issues, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or alternative tools. The description simply states what it does without contextualizing its usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_pull_requestB

Crea un nuevo pull request en un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
baseYesBranch de destino (branch donde se mergeará)
bodyNoCuerpo del pull request en Markdown
headYesBranch de origen (branch que contiene los cambios)
repoYesNombre del repositorio
draftNoSi es true, crea el PR como draft
ownerYesPropietario del repositorio
titleYesTítulo del pull request

TDQS

B3.3/5.0
Behavior2/5

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 only states that the tool creates a pull request, without mentioning side effects, required permissions, validation behavior, or what happens on failure. For a mutation operation, this lack of depth leaves agents uncertain about consequences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no redundant words. It conveys the core action efficiently and is appropriately sized for a tool whose parameters are already fully described in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the schema provides complete parameter documentation, the description lacks contextual information about when to use this tool and what behavioral expectations (e.g., draft support, required branches) exist. For a 7-parameter mutation tool with no annotations, the description is minimally adequate but leaves gaps in usage and behavior context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, meaning every parameter is already documented. The description adds no additional parameter-level detail. Per the rubric, a high-coverage schema warrants a baseline of 3, as the schema does the heavy lifting and the description is not required to compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action ('creates') and the specific resource ('a new pull request in a repository'). It effectively distinguishes this tool from siblings like close_pull_request, update_pull_request, and merge_pull_request by using 'nuevo' (new), indicating creation rather than modification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives. It does not mention that this is for creating new PRs, while update_pull_request is for existing ones, nor does it specify any prerequisites like branch existence. Agents would have to infer usage context from the tool name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_releaseB

Crea un nuevo release en un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoDescripción del release en Markdown
nameNoNombre del release (default: igual que tag_name)
repoYesNombre del repositorio
draftNoSi es true, crea el release como draft
ownerYesPropietario del repositorio
tag_nameYesNombre del tag (ej: 'v1.0.0')
prereleaseNoSi es true, marca como prerelease
target_commitishNoSHA o branch para el release (default: rama principal)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It states the create action but omits any details about side effects (e.g., tag creation), permissions required, or return value. For a mutation tool, this is insufficient transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it adds little value beyond the tool name itself. It does not front-load any context about the tool's capabilities or edge cases, making it efficient but under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no annotations, no output schema), the description is too minimal. It fails to mention important context like draft/prerelease options, tag behavior, or what the response contains, leaving the agent under-informed for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all 8 parameters described in the input schema. The description adds no additional parameter meaning, but the baseline of 3 is appropriate because the schema fully documents each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Crea un nuevo release en un repositorio' clearly identifies the action (create), the resource (release), and the scope (in a repository). It distinguishes this tool from siblings like list_releases, get_release, and create_tag by specifying it creates a release rather than retrieving or listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage ('when you want to create a release') but provides no explicit guidance on when to use this tool versus alternatives like create_tag or create_pull_request. No exclusions or alternative recommendations are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_tagB

Crea un tag en un repositorio (sin release)

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYesNombre del tag (ej: 'v1.0.0')
repoYesNombre del repositorio
typeNoTipo de objeto (default: 'commit')commit
ownerYesPropietario del repositorio
objectNoSHA del commit a taggear (default: HEAD)
messageYesMensaje del tag

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden of behavioral disclosure. It only states that a tag is created, without mentioning permissions, side effects, handling of existing tags, or error behavior. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero extraneous words. It efficiently conveys the core purpose and key distinction from releases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite complete parameter documentation in the schema, the description provides no context about return values, failure modes, or prerequisites. For a mutation tool with no annotations and no output schema, this is insufficient for fully correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all parameters, so the description adds no extra parameter semantics. The baseline of 3 applies because the schema fully documents each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Crea un tag en un repositorio' with a specific verb and resource. The parenthetical '(sin release)' distinguishes it from the sibling create_release, eliminating ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'sin release' implicitly indicates when to use this tool over create_release, but it does not explicitly name the alternative or provide exclusion criteria. Some usage context is provided, but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_webhookB

Crea un nuevo webhook en un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL del webhook (endpoint que recibirá los eventos)
repoYesNombre del repositorio
ownerYesPropietario del repositorio
activeNoSi el webhook está activo (default: true)
eventsNoEventos a suscribir (ej: ['push', 'pull_request']). Si no se especifica, se suscribe a todos
secretNoSecreto para firmar los payloads (opcional pero recomendado)
content_typeNoTipo de contenido (default: 'json')json
insecure_sslNoPermitir certificados SSL no verificados (0=no, 1=sí, default: '0')0

TDQS

B3.2/5.0
Behavior2/5

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 only states the action without mentioning side effects, authentication requirements, validation behavior, or what happens after creation (e.g., whether a ping is sent). This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately states the core purpose with no filler. It is front-loaded and efficient, earning its place without extra words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite full schema coverage for parameters, the tool has 8 parameters and no output schema, yet the description provides no behavioral context, usage guidance, or return-value information. For a creation tool with many options, this minimal description is insufficient for an agent to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and every parameter has a clear description. The tool description adds no parameter information, but since the schema already documents all fields, the baseline of 3 is appropriate. The description does not detract from parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Crea un nuevo webhook en un repositorio' clearly states the action (creates a new webhook) and the target resource (a repository). The verb 'crea' distinguishes it from sibling tools like get_webhook, update_webhook, delete_webhook, and ping_webhook, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. The description does not mention any prerequisites, exclusions, or compare it to other webhook operations. Usage is only implied by the action itself, but no explicit contextual guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_webhookB

Elimina un webhook de un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio
hook_idYesID del webhook

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. However, it only states the basic delete action without disclosing side effects, permanence, permission requirements, or error behavior. A delete operation is clearly destructive, but the description does not explicitly add value beyond the verb itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that communicates the essence immediately without filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a simple tool with fully documented parameters, but the description lacks important context such as the destructive nature, recurrence to alternative webhook tools, or any operational caveats. Given the absence of annotations and output schema, more context could be expected, but the minimal description is not entirely inadequate for a straightforward delete action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides descriptions for all three parameters (owner, repo, hook_id) at 100% coverage. The tool description adds no additional parameter semantics, so it does not go beyond what the schema already offers. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Elimina' = deletes) and identifies the resource ('webhook de un repositorio'). It clearly distinguishes from sibling tools like get_webhook, create_webhook, and update_webhook by naming the delete action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, nor are there any conditions or prerequisites mentioned. The description simply states the operation without contextual direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_commitB

Obtiene detalles de un commit específico

ParametersJSON Schema
NameRequiredDescriptionDefault
refYesSHA del commit, branch o tag
repoYesNombre del repositorio
ownerYesPropietario del repositorio

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description is the only source of behavioral transparency. It merely states the action without disclosing read-only nature, error handling, or any special requirements like authentication or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence that efficiently states the purpose. It is front-loaded and contains no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations, but the description offers minimal context. It does not explain return values, edge cases, or relationship to sibling tools, making it incomplete for an agent to fully understand when and how to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully documents all three parameters (owner, repo, ref) with clear descriptions, including that ref can be a SHA, branch, or tag. The description adds no additional parameter semantics beyond the schema, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtiene detalles de un commit específico' clearly states the tool's action (gets) and resource (specific commit). It distinguishes itself from sibling tools like list_commits and compare_commits by focusing on a single commit's details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as list_commits or search_commits. No use cases, exclusions, or recommended scenarios are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_file_contentB

Obtiene el contenido de un archivo específico de un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoBranch, tag o commit SHA (por defecto: rama principal)
pathYesRuta del archivo en el repositorio
repoYesNombre del repositorio
ownerYesPropietario del repositorio

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states that content is retrieved, but does not clarify whether the content is raw text, base64-encoded, or how errors/rate limits are handled. For a read operation, this 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that efficiently communicates the core purpose without unnecessary words. It is well-structured and front-loaded, though slightly more detail could be added without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no annotations and no output schema, the description provides the basic purpose but lacks details about return values, potential edge cases (e.g., nonexistent file, binary content), or any behavioral constraints. It is minimally complete but leaves room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all four parameters, so the baseline is 3. The description itself does not add any parameter-specific meaning beyond what the schema already offers. It neither enhances nor detracts from the schema's clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Obtiene el contenido de un archivo específico de un repositorio' (gets the content of a specific file from a repository). It uses a specific verb and resource, and it distinguishes itself from sibling tools like get_repository or get_commit by focusing on file content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention any context, prerequisites, or exclusions. The user must infer usage solely from the purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pull_requestA

Obtiene información detallada de un pull request específico

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio
pull_numberYesNúmero del pull request

TDQS

A3.5/5.0
Behavior2/5

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 only states that the tool gets detailed information but does not disclose what fields are included, authentication requirements, rate limits, or potential errors. The minimal description adds little beyond the basic read operation implied by 'obtiene'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no redundant or filler content. It is appropriately front-loaded and concise, conveying the core purpose without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with only three well-documented parameters, but there is no output schema and no annotations. The description is minimal and does not explain what 'detailed information' includes (e.g., commits, reviews, comments), which could leave an agent uncertain about the return structure. It meets the minimum viable threshold but has clear gaps in coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides full descriptions for all three parameters (owner, repo, pull_number), achieving 100% coverage. The description adds no additional meaning to the parameters beyond the schema, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('obtiene' - gets) and resource ('pull request específico'), which distinguishes it from sibling tools like list_pull_requests. It is unambiguous and directly conveys what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for a specific pull request (as opposed to listing all), but it does not explicitly state when to use this tool over alternatives like list_pull_requests or merge_pull_request. No exclusions or alternative tools are mentioned, so guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_releaseB

Obtiene detalles de un release específico

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoTag del release (alternativa a release_id)
repoYesNombre del repositorio
ownerYesPropietario del repositorio
release_idNoID del release

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full behavioral burden. It only repeats the read nature implied by the name ('Obtiene') and does not disclose any additional traits such as error handling, required auth, or what happens if both tag and release_id are supplied. No value is added beyond the function name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that efficiently conveys the core purpose. There is no fluff or redundancy, and it gets straight to the point. It is appropriately sized for a simple retrieval tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description must compensate by explaining behavior and usage context. It fails to clarify the release identifier options (tag vs release_id), the required context, or return expectations. The tool is under-specified for its complexity (4 params, optional identifiers) and lacks essential guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with individual descriptions for each parameter. The tool description does not mention any parameter semantics or clarify the relationship between tag and release_id. This aligns with the baseline score of 3 for high schema coverage; the description adds nothing beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtiene detalles de un release específico' clearly states a specific verb (obtiene) and resource (detalles de un release específico), distinguishing it from sibling tools like list_releases. It precisely indicates this tool fetches details for one release, not a list or creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides zero guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or contrast with list_releases or get_repository. No context is given for choosing between tag and release_id, leaving the usage context entirely to the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_repositoryB

Obtiene información detallada de un repositorio específico

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio (usuario u organización)

TDQS

B3.1/5.0
Behavior2/5

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 only says 'gets detailed information,' which is a read operation, but provides no detail on what 'detailed' includes, whether authentication is required, error behavior, or response structure. This is barely above a tautology.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. It is front-loaded and easily readable. It could include more actionable guidance, but for its length it is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is insufficient for a complete tool definition. It does not explain what fields or details are returned, which is especially important since there is no output schema. It also does not mention typical response qualities (e.g., metadata like stars, forks, owner info) or any potential errors like 'repo not found.' Simple but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both parameters (owner and repo) have meaningful descriptions. The tool description does not add any additional parameter semantics, but the schema already handles them, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets detailed information of a specific repository, using a specific verb ('obtiene') and resource. It distinguishes from siblings like list_repositories or search_repositories by emphasizing 'específico' (specific), though it does not explicitly contrast with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need details of a single repository, but it does not explicitly state when to use this over siblings or mention any exclusions. For example, it does not say 'use search_repositories to find repos' or 'use list_repositories for all repos.' This is minimal but not misleading.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_infoB

Obtiene información del usuario autenticado

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It merely says 'gets info' without specifying whether authentication is required, what data is returned, or any side effects, which is minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundant content. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read tool, the description is adequate but not rich. It lacks specifics about the response payload or authentication requirements, which would be necessary for a fully complete description, especially since no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is trivially complete. No parameter descriptions are needed, and the description adds no additional semantic information beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves information about the authenticated user, using a specific verb and resource. It is distinct from sibling tools such as get_repository or get_commit, though it does not explicitly contrast with alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of exclusions, prerequisites, or related tools, leaving the agent without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_webhookA

Obtiene detalles de un webhook específico

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio
hook_idYesID del webhook

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the action without mentioning read-only nature, permission requirements, error behavior, or response format, which is a significant gap for a tool with no annotation safety hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core purpose without any unnecessary words. It efficiently communicates the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool, the description is adequate but incomplete. Since there is no output schema, it does not specify what 'detalles' includes (e.g., webhook URL, events, configuration), nor does it provide usage context such as prerequisites (e.g., needing the hook ID from list_webhooks).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with brief descriptions for owner, repo, and hook_id. The tool description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Obtiene detalles de un webhook específico' clearly states the action (gets details) and resource (a specific webhook), distinguishing it from sibling tools like list_webhooks. The scope is explicit and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when you need details of a single webhook identified by owner, repo, and hook_id. The word 'específico' (specific) differentiates it from list operations, though no explicit alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_branchesC

Lista las ramas de un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
repoYesNombre del repositorio
ownerYesPropietario del repositorio
per_pageNo
protectedNoFiltrar solo ramas protegidas

TDQS

C2.9/5.0
Behavior2/5

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 only states the basic action and does not reveal pagination behavior, filtering options (protected), output format, or any side effects. The schema hints at pagination via page/per_page, but the description adds no 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the action. It earns its place by being direct, though it could include more useful detail without becoming bloated. No redundancy or filler is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 5 parameters, no annotations, and no output schema, the description is too minimal to provide a complete picture. It does not mention pagination, filtering, return value structure, or when to prefer this over other list tools. The agent is left with a clear purpose but insufficient operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 60%: repo, owner, and protected have descriptions, but page and per_page do not. The tool description adds no explanation of parameters or their interplay. It doesn't compensate for the missing pagination semantics, leaving the agent without guidance on how to control result size or navigation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lista las ramas de un repositorio' clearly states a specific verb ('Lista') and resource ('las ramas de un repositorio'), making its function unambiguous. It distinguishes from siblings like list_repositories (which lists repos) and list_tags. Even though it lacks the owner/repo parameters, those are captured in the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool compared to alternatives. It doesn't mention use cases, prerequisites, or exclusions. With many sibling list tools, some indication of context or distinction would be valuable, but none is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_commitsA

Lista commits de un repositorio o branch específico

ParametersJSON Schema
NameRequiredDescriptionDefault
shaNoSHA o branch para listar commits (default: rama principal)
pageNo
pathNoFiltrar commits que afectan un archivo o directorio específico
repoYesNombre del repositorio
ownerYesPropietario del repositorio
sinceNoFecha desde (ISO 8601, ej: 2024-01-01T00:00:00Z)
untilNoFecha hasta (ISO 8601, ej: 2024-12-31T23:59:59Z)
authorNoFiltrar por autor (usuario de GitHub)
per_pageNo

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits itself. It only states that it lists commits, without covering pagination behavior, default branch fallback, output format, or any side effects. The schema hints at pagination via page/per_page, but the description adds no behavioral context beyond the core action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that immediately communicates the tool's purpose without any filler or redundancy. It is maximally concise for the information it conveys.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters and no output schema, the description plus the detailed schema provide adequate understanding of how to invoke it. However, the lack of guidance on return structure, pagination semantics, and differentiation from search_commits or get_commit leaves some gaps given the number of sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 78%, so the schema already documents most parameters. The description's phrase 'branch específico' adds minimal value since the sha parameter's schema description already states 'SHA o branch'. With high coverage, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Lista' (lists) with the resource 'commits' and scopes it to 'repositorio o branch específico'. This clearly distinguishes it from siblings like get_commit (retrieves a single commit) and search_commits (searches commits), leaving no ambiguity about its core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through its clear purpose but provides no explicit guidance on when to use this tool instead of alternatives. It does not mention that search_commits is better for complex queries or get_commit for individual commits, which would help an agent select the correct tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_issue_commentsC

Lista los comentarios de un issue

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
repoYesNombre del repositorio
ownerYesPropietario del repositorio
per_pageNo
issue_numberYesNúmero del issue

TDQS

C2.9/5.0
Behavior2/5

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 only restates the function name without revealing return format, ordering, pagination behavior, or any side effects. This adds minimal value beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundant words. It is front-loaded with the verb, but it lacks structural elements like usage hints or parameter details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, no annotations, and no output schema, the description is too minimal. It fails to mention pagination behavior, return format, or any caveats, making it inadequate for an agent to fully understand the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%: owner, repo, and issue_number have descriptions, but page and per_page do not. The description does not explain any parameter semantics or compensate for the undocumented pagination parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lista los comentarios de un issue' clearly states the action (list) and resource (comments of an issue). It distinguishes itself from siblings like list_issues (lists issues) and add_issue_comment (adds a comment).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only states the basic function without any context about pagination or filtering.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_issuesB

Lista los issues de un repositorio. Puedes filtrar por estado, etiquetas, asignado, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
repoYesNombre del repositorio
ownerYesPropietario del repositorio
stateNoEstado del issueopen
labelsNoEtiquetas separadas por comas para filtrar
assigneeNoUsuario asignado al issue
per_pageNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It only mentions listing and filter capability, omitting pagination behavior, return format, or read-only nature. For a 7-parameter tool, this 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is easy to parse and front-loads the main action. It could enumerate key parameters for scannability, but it remains appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no output schema, and no annotations, the description is under-specified. It fails to mention pagination, result structure, or interaction between filters, making it incomplete for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 71%, so the schema already explains most parameters. The description merely restates state, labels, and assignee without adding nuance, providing minimal extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists issues of a repository with a specific verb and resource. It distinguishes itself from sibling tools like list_pull_requests or search_issues by explicitly targeting repository issues.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing repository issues and mentions filter options, but it does not explicitly compare with search_issues or state when not to use this tool. Guidance is present but implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pull_request_reviewsB

Lista todas las reviews de un pull request

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio
pull_numberYesNúmero del pull request

TDQS

B3.2/5.0
Behavior2/5

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 only states that it lists all reviews, but does not mention pagination, ordering, authentication needs, rate limits, or the response format. This leaves significant behavioral aspects undisclosed for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and resource. Every word serves a purpose, and there is no redundancy or irrelevant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter list operation with no output schema, the description is adequate but minimal. It clearly states the action and scope, but could be more complete by indicating what the response contains (e.g., an array of review objects) or any required permissions. However, the operation is straightforward enough that this is not a major gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter (owner, repo, pull_number) having a Spanish description. The tool description adds no additional parameter meaning beyond what the schema already provides, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Lista' (lists) and clearly identifies the resource as 'reviews de un pull request' (reviews of a pull request). It distinguishes from sibling tools like add_pull_request_review and get_pull_request by focusing on the listing action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It lacks explicit context about which scenarios call for listing reviews as opposed to adding a review or fetching pull request details, and does not mention any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pull_requestsB

Lista los pull requests de un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoFiltrar por branch de destino
headNoFiltrar por branch de origen (formato: usuario:branch)
pageNo
repoYesNombre del repositorio
ownerYesPropietario del repositorio
stateNoopen
per_pageNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only states 'list', implying a read operation, but does not disclose pagination behavior, default state (open), sorting, or the nature of the response. This is inadequate for a tool that returns a list with multiple parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, extremely concise, and front-loaded with the core action. Every word is relevant and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description, combined with the schema, is minimally viable. It tells the agent what the tool does and the schema provides parameter details. However, without an output schema or any behavioral notes, the agent lacks information about return format, pagination, and default state. It is adequate but not complete for a tool with 7 parameters and no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 57%, with descriptions for owner, repo, base, and head. The description adds no parameter semantics beyond the schema. However, the schema itself provides reasonable detail (including defaults and enum for state), so the description does not need to compensate heavily. The missing semantics for page, per_page, and state are partially covered by default values and constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Lista los pull requests de un repositorio' clearly states the action (list) and resource (pull requests of a repository). It is specific and unambiguous, though it does not explicitly differentiate from sibling tools like get_pull_request or list_issues, which is a minor gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of filtering capabilities, default state, or that search_issues might be more appropriate for complex queries. The description simply states the action without context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_releasesC

Lista los releases de un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
repoYesNombre del repositorio
ownerYesPropietario del repositorio
per_pageNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden for behavioral disclosure. It does not mention pagination, return format, ordering, or any side effects. The agent is left unaware of important behavior like page/per_page parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. It is appropriately sized for a simple list operation, though it could be more informative without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations, output schema, and minimal description, the tool is under-specified. The agent needs to infer pagination behavior and response structure, which is a significant gap for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50% (owner and repo described). The description adds no information about the page or per_page parameters, leaving their semantics unclear. The description does not compensate for the missing schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list) and the resource (releases of a repository). While it doesn't explicitly distinguish from sibling tools like get_release, the verb and resource are specific enough to convey the core purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description simply states what it does without any exclusions or context about choosing it over get_release or other list operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_repositoriesA

Lista todos los repositorios (públicos y privados) de tu cuenta de GitHub. Puedes filtrar por visibilidad, tipo y ordenar los resultados.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoNúmero de página
sortNoOrdenar por: created, updated, pushed, o full_nameupdated
typeNoTipo de repositorio: all (todos), owner (solo donde eres dueño), member (donde eres miembro)all
per_pageNoNúmero de resultados por página (máximo 100)
directionNoDirección del ordenamientodesc
visibilityNoFiltrar por visibilidad del repositorioall

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. The verb 'Lista' implies a read-only operation, and the scope is clear, but the description does not disclose pagination behavior, rate limits, or authentication needs. These are partially covered by the schema's page/per_page parameters, so the gap is moderate rather than severe.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the purpose and then lists the key capabilities. It is concise and contains no redundant words or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward list tool, the description covers the essential purpose and scope, and the schema handles parameter details. It could have mentioned pagination limits or return value structure, but the absence of an output schema and the self-evident output type (repository list) make this acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All six parameters have detailed descriptions in the schema (100% coverage), so the baseline is 3. The description adds a high-level summary of filtering and sorting, but it does not provide additional semantic details beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the function: listing all public and private repositories from the user's GitHub account. The verb 'Lista' is specific, and the scope 'de tu cuenta de GitHub' distinguishes it from sibling tools like search_repositories (which searches broader) and get_repository (which fetches a single repo).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool ('de tu cuenta de GitHub') and mentions filtering/sorting capabilities, but it does not explicitly contrast it with alternatives such as search_repositories. There is no direct 'use this when' or 'instead of' guidance, so usage is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tagsC

Lista los tags de un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
repoYesNombre del repositorio
ownerYesPropietario del repositorio
per_pageNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only says 'lists tags' but doesn't mention pagination (page/per_page), auth requirements, rate limits, or return format. This leaves significant behavioral transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence that is free of fluff. However, it may be too terse, lacking any additional structure, but it is efficient in its wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and only 50% schema parameter coverage, the description is insufficient for an agent to fully understand the tool's context. It doesn't cover pagination behavior, result order, or differentiation from list_releases or list_branches.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides descriptions for owner and repo (50% coverage), but page and per_page are undocumented. The description doesn't explain these parameters or add any semantic detail beyond 'repository'. It doesn't compensate for the missing parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list) and resource (tags) in the context of a repository, distinguishing it from sibling tools like list_branches or list_repositories. The verb 'Lista' and noun 'tags' make the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives. There is no mention of use cases, prerequisites (e.g., having a repository with tags), or exclusions. The description simply states the action without contextual hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_webhooksB

Lista los webhooks de un repositorio

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
repoYesNombre del repositorio
ownerYesPropietario del repositorio
per_pageNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is minimal and does not disclose behavioral details such as pagination, authentication requirements, or the structure of the returned list. Since no annotations are provided, the description carries the full burden, which it fails to fulfill beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant words. It is front-loaded and efficiently conveys the core purpose, with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, pagination options, no output schema), the one-line description is insufficient. It does not explain what the response looks like, nor the effect of pagination parameters, making it incomplete for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers owner and repo with descriptions, but page and per_page parameters lack descriptions. The tool description does not mention these pagination parameters or add any meaning beyond what the schema already provides, leaving the undocumented parameters unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool lists webhooks for a repository, using the specific verb 'Lista' (lists) and the resource 'webhooks de un repositorio' (webhooks of a repository). This distinguishes it from sibling tools like get_webhook or create_webhook, which imply singular retrieval or creation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as get_webhook for a single webhook or create_webhook for creating one. It is a bare statement of functionality with no usage context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

merge_pull_requestB

Mergea un pull request. Soporta merge, squash y rebase

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio
pull_numberYesNúmero del pull request
commit_titleNoTítulo del commit de merge (opcional)
merge_methodNoMétodo de merge: merge (crea merge commit), squash (combina en un commit), rebase (rebase linear)merge
commit_messageNoMensaje del commit de merge (opcional)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that merge, squash, and rebase are supported, but fails to mention side effects (e.g., branch deletion), prerequisites (e.g., mergeable state, required reviews), or failure modes. This is comparable to a tool that lists updatable fields without deeper 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with two short sentences and no filler. The second sentence is somewhat redundant with the schema enum but still aids quick comprehension, so it earns a strong score without being perfect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 no output schema, the description is incomplete. It does not explain what the tool returns, what conditions must be met for merging, or any behavioral side effects, leaving an agent without sufficient context to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for parameters; it merely echoes the merge_method enum values without extra detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool merges a pull request, with a specific verb and resource. It also mentions supported merge methods (merge, squash, rebase), distinguishing it from siblings like close_pull_request or create_pull_request.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for merging pull requests but provides no explicit context for when to use it versus alternatives, nor any exclusion criteria. The purpose is evident from the name, but there is no guidance beyond that.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ping_webhookA

Envía un ping a un webhook para verificar que funciona

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio
hook_idYesID del webhook

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full responsibility for behavioral disclosure. It does not mention that pinging a webhook may trigger an actual delivery to the webhook URL, nor does it describe the expected response or potential side effects. This is a significant gap for a tool that performs an external call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that clearly states the action and purpose without fluff. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (3 params, no output schema), but the description lacks any explanation of the call's effects or response semantics. It adequately states the purpose but doesn't fully cover behavioral context given the absence of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage with descriptions for all three parameters (owner, repo, hook_id). The description adds no parameter-specific meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Envía un ping' and names the resource 'webhook', with the clear goal 'para verificar que funciona'. This distinguishes it from sibling tools like get_webhook or delete_webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'para verificar que funciona' provides clear context for when to use the tool—to test webhook functionality. However, it does not explicitly mention alternatives or exclusions, such as using get_webhook to inspect configuration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

protect_branchB

Protege una rama del repositorio. Requiere PRs para mergear y puede requerir aprobaciones.

ParametersJSON Schema
NameRequiredDescriptionDefault
repoYesNombre del repositorio
ownerYesPropietario del repositorio
branchYesNombre de la rama a proteger (ej: 'main')
require_prNoRequerir PR antes de mergear
enforce_adminsNoAplicar protección también a administradores
allow_deletionsNoPermitir eliminar la rama
allow_force_pushesNoPermitir force pushes
required_approvalsNoNúmero de aprobaciones requeridas (default: 1)
dismiss_stale_reviewsNoDescartar aprobaciones obsoletas cuando se agregan nuevos commits
require_code_owner_reviewsNoRequerir revisión de code owners

TDQS

B3.2/5.0
Behavior2/5

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 only mentions PR enforcement and approvals but fails to disclose that this modifies repository settings, may override existing protections, requires write permissions, or has any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the main purpose. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 parameters, no annotations, and no output schema, the description is too brief. It doesn't explain that the tool configures multiple branch protection settings, whether it replaces existing rules, or what the result of a successful call looks like.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters are documented. The description adds minimal extra meaning beyond referencing the PR requirement, but it doesn't add context about parameters like enforce_admins, allow_deletions, or required_approvals.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool protects a branch and requires PRs to merge, which is specific and distinguishes it from sibling search/PR tools. However, it could be more explicit about configuring comprehensive branch protection rules, not just PR requirements.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use this when you want to require pull requests and approvals before merging. However, there is no explicit when-to-use guidance, prerequisites (like admin permissions), or alternatives mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_codeB

Busca código en repositorios de GitHub. Permite encontrar archivos, funciones, clases, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNoOrdenar por fecha de indexación (solo 'indexed' está disponible)indexed
orderNoDirección del ordenamientodesc
queryYesQuery de búsqueda (ej: 'function calculateTotal repo:owner/repo', 'TODO language:typescript')
per_pageNo

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It mentions the capability to find files/functions/classes but does not disclose important behavioral traits like authentication requirements, rate limits, search indexing quirks, or result limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one line plus a short sentence, front-loaded, with no wasteful words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters, no annotations, and no output schema. The description provides only a basic purpose and lacks guidance on pagination, return format, and usage restrictions. It is under-specified for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, so the schema documents query, sort, and order. The description does not add parameter information beyond what is in the schema, and page/per_page remain undocumented. The baseline is 3, but the description does not compensate for the missing parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches code in GitHub repositories with a specific verb and resource, and gives examples of what can be found (files, functions, classes), distinguishing it from sibling search tools like search_repositories and search_issues.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for code searches but does not explicitly mention when to use alternatives such as search_repositories or search_issues. No exclusions or contrasting guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_commitsB

Busca commits en GitHub por mensaje, autor, fecha, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNoCampo por el cual ordenarcommitter-date
orderNoDirección del ordenamientodesc
queryYesQuery de búsqueda (ej: 'author:username repo:owner/repo', 'fix bug in:message')
per_pageNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are absent, so the description must carry the full burden of explaining behavior. It only states that it searches commits and by what fields, but does not disclose return format, pagination behavior, or any side effects. This is a significant gap for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant information, front-loading the primary purpose. It is appropriately concise, though it could benefit from a second sentence on usage context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters, no output schema, and no annotations. The description doesn't mention return values, pagination, or any operational details beyond the basic search action. For a search tool with this complexity, the description is insufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides descriptions for 3 of 5 parameters (query, sort, order), covering 60%. The description adds a little semantic context by mentioning searchable fields (message, author, date), but doesn't fully compensate for the undocumented page and per_page. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches commits, specifying search criteria (message, author, date, etc.). This distinguishes it from siblings like list_commits or get_commit, which have different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for finding commits by criteria, but provides no explicit guidance on when to use this over list_commits or search_repositories, nor any exclusions or alternatives. It's a minimal context with no explicit when-to-use or when-not-to-use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_issuesC

Búsqueda avanzada de issues y pull requests en GitHub

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNoCampo por el cual ordenarupdated
orderNoDirección del ordenamientodesc
queryYesQuery de búsqueda (ej: 'is:issue is:open label:bug repo:owner/repo', 'author:username is:pr')
per_pageNo

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure, but it offers only the adjective 'advanced' and the target resource. It fails to mention result format, pagination, rate limits, authentication, or any side effects. This is essentially a restatement of the tool's name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at one sentence, but it is under-specified. While brevity is a positive, the sentence provides only a generic purpose and lacks the substantive details needed for a search tool with five parameters and no annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with five parameters, no annotations, and no output schema, the description is severely incomplete. It explains neither the return value nor advanced query capabilities despite promising 'advanced' search. The schema partially helps, but the overall contextual picture is insufficient for an agent to invoke this tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-specific meaning beyond the schema. Schema description coverage is 60%, leaving page and per_page without descriptions; the tool description does not compensate for this gap. The query example in the schema is the only useful parameter context, and it comes from the schema, not the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs advanced search for issues and pull requests on GitHub, a specific verb and resource. It is distinct from sibling search tools targeting repositories, code, or users, though it does not explicitly contrast with list_issues or list_pull_requests.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as list_issues or search_repositories. It does not mention exclusions, prerequisites, or typical scenarios, leaving the agent without decision-making support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_repositoriesB

Busca repositorios en GitHub usando la API de búsqueda

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNostars
orderNodesc
queryYesQuery de búsqueda (ej: 'language:typescript stars:>100')
per_pageNo

TDQS

B3/5.0
Behavior2/5

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 only mentions 'using the search API' and does not describe rate limits, result limits, pagination behavior, or return format. This is a significant gap for a tool with multiple parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, front-loaded with the core purpose. It contains no fluff or repetition, earning a high score for conciseness, though it could be more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (5 parameters, no output schema, no annotations), the description is too sparse. It does not explain how to construct queries, handle pagination, or interpret results, leaving critical context for an agent to correctly use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema coverage is only 20% (only the query parameter has a description). The description mentions no parameters at all, so it adds no meaning beyond the schema. It fails to compensate for the undocumented parameters like page, sort, order, and per_page.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to search repositories on GitHub using the search API. It uses a specific verb ('search') and resource ('repositories'), distinguishing it from sibling tools like search_code and search_issues.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for repository search but does not explicitly contrast with alternatives like search_code or search_issues. It provides no when-to-use or when-not-to-use guidance, leaving the agent to infer based on the resource type.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_usersB

Busca usuarios en GitHub por nombre, email, ubicación, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNoCampo por el cual ordenarfollowers
orderNoDirección del ordenamientodesc
queryYesQuery de búsqueda (ej: 'location:argentina language:typescript', 'followers:>100')
per_pageNo

TDQS

B3.1/5.0
Behavior2/5

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, but it only states the search action without disclosing pagination, sorting defaults, authentication, or rate limits. For a search API, these are relevant behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence, front-loaded with the main action, but the trailing 'etc.' adds vagueness; still effective overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has 5 params and no output schema or annotations; description is too sparse to explain pagination, result shape, or how it differs from repository/issue search. Incomplete for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 60% of params with descriptions; the description adds that search can be by name, email, location, etc., which supplements the query parameter, but doesn't address page or per_page semantics. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Busca') and resource ('usuarios en GitHub') with search criteria, clearly distinguishing it from sibling search tools like search_repositories and search_code.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives; no mention of use cases or exclusions. Siblings like search_repositories exist but the description provides no comparative direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_issueB

Actualiza un issue existente (título, cuerpo, estado, labels, asignados)

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoNuevo cuerpo del issue en Markdown
repoYesNombre del repositorio
ownerYesPropietario del repositorio
stateNoEstado del issue
titleNoNuevo título del issue
labelsNoNuevas etiquetas (reemplaza las existentes)
assigneesNoNuevos asignados (reemplaza los existentes)
issue_numberYesNúmero del issue

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavioral traits. It only lists fields without explaining that labels and assignees replace existing ones, or mentioning permissions, reversibility, or effects on omitted fields. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently states the core action and key fields. Every word earns its place with no fluff or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no annotations, and no output schema, the description is too sparse. It omits crucial context like how partial updates behave, whether the issue must exist, what the response contains, and how to uniquely identify the issue (issue_number).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description merely lists field names (title, body, state, labels, assignees) without adding extra semantics beyond what the schema already provides, such as the replacement behavior for labels and assignees.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates an existing issue, using the specific verb 'Actualiza' and listing the mutable fields (title, body, state, labels, assignees). This distinguishes it from create_issue and close_issue by emphasizing the 'existing' resource, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for modifying existing issues, but does not explicitly state when to use this tool over close_issue or create_issue. It lacks alternative recommendations or exclusion criteria, leaving some ambiguity with the close_issue sibling that can also set state to closed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_pull_requestC

Actualiza el título, descripción o estado de un pull request

ParametersJSON Schema
NameRequiredDescriptionDefault
baseNoCambiar el branch base del pull request
bodyNoNueva descripción del pull request en Markdown
repoYesNombre del repositorio
ownerYesPropietario del repositorio
stateNoEstado del pull request
titleNoNuevo título del pull request
pull_numberYesNúmero del pull request

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It only says 'updates' without disclosing behavioral traits such as required permissions, side effects of changing base/state, or implications for the pull request mergeability. This is a significant gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no wasted words. It is well-structured and front-loaded, stating the main purpose directly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no annotations and no output schema, making the description the only source of context. It is too minimal for a 7-parameter mutation tool, omitting important details like the base branch update capability and the meaning of state transitions. This leaves the agent without necessary context for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already well-documented. The description restates title/description/state but adds no extra meaning, and importantly does not mention the 'base' parameter even though it is part of the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates the title, description, or state of a pull request, using a specific verb and resource. It distinguishes from siblings like merge/close by indicating it's for general updates, though it omits the 'base' field which is also updatable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., close_pull_request, merge_pull_request). It does not mention that changing state to 'closed' accomplishes the same as close_pull_request, nor does it advise when to use it for base branch changes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_webhookB

Actualiza un webhook existente

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoNueva URL del webhook
repoYesNombre del repositorio
ownerYesPropietario del repositorio
activeNoSi el webhook está activo
eventsNoNuevos eventos a suscribir
secretNoNuevo secreto para firmar los payloads
hook_idYesID del webhook
content_typeNoTipo de contenido
insecure_sslNoPermitir certificados SSL no verificados

TDQS

B3.1/5.0
Behavior2/5

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 only states that the webhook is updated, without mentioning permission requirements, reversibility, or which fields are affected. This is a significant gap for a mutating operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no filler words, making it very concise and easy to parse. However, its brevity borders on under-specification for a tool with nine parameters, but it still earnestly conveys the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with nine parameters and no output schema, the description is insufficient. It lacks information about what changes are applied, how the update affects existing settings, or what the response will contain. The schema covers parameters, but the overall context remains incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter has a descriptive label (e.g., 'Nueva URL del webhook'). The description itself adds no parameter semantics, but the schema already provides complete information, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Actualiza un webhook existente' (Updates an existing webhook) clearly states a specific verb (update) and resource (webhook), and the word 'existente' distinguishes it from create_webhook. This unambiguously conveys the tool's core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like create_webhook or delete_webhook. It does not mention prerequisites, side effects, or conditions, leaving the agent to infer the appropriate context from the tool name alone.

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. Dates show when Glama detected each change.

  1. 39 tool updatesv1.0.2
    • First observedadd_issue_comment
    • First observedadd_pull_request_review
    • First observedclose_issue
    • First observedclose_pull_request
    • First observedcompare_commits
    • First observedcreate_issue
    • First observedcreate_pull_request
    • First observedcreate_release
    • First observedcreate_tag
    • First observedcreate_webhook
    • First observeddelete_webhook
    • First observedget_commit
    • First observedget_file_content
    • First observedget_pull_request
    • First observedget_release
    • First observedget_repository
    • First observedget_user_info
    • First observedget_webhook
    • First observedlist_branches
    • First observedlist_commits
    • First observedlist_issue_comments
    • First observedlist_issues
    • First observedlist_pull_request_reviews
    • First observedlist_pull_requests
    • First observedlist_releases
    • First observedlist_repositories
    • First observedlist_tags
    • First observedlist_webhooks
    • First observedmerge_pull_request
    • First observedping_webhook
    • First observedprotect_branch
    • First observedsearch_code
    • First observedsearch_commits
    • First observedsearch_issues
    • First observedsearch_repositories
    • First observedsearch_users
    • First observedupdate_issue
    • First observedupdate_pull_request
    • First observedupdate_webhook

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a distinct resource and action, with clear separation between search, get, list, create, update, delete, and close operations. Even similar operations like close_issue and update_issue are distinct in purpose and description.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case, with verbs like list, get, create, update, delete, close, merge, and search. The naming clearly communicates the action and target resource without mixing conventions.

Tool Count2/5

With 39 tools, the server is significantly larger than typical MCP servers. While many GitHub operations are covered, the count exceeds the practical threshold for agent navigation, making it feel bloated and hard to manage.

Completeness3/5

The tool set covers many GitHub features—repos, issues, PRs, webhooks, releases, tags—but lacks repository creation, file operations, and delete/update for several resources such as issues, releases, and tags, creating dead ends in common workflows.

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

  • F
    license
    B
    quality
    D
    maintenance
    An MCP server that enables Claude and other compatible LLMs to interact with the GitHub API, supporting features like creating issues, retrieving repository information, listing issues, and searching repositories.
    4
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI agents to directly manage GitHub repositories, including PRs, issues, and code search, using natural language.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A working MCP server that connects to the real GitHub API, enabling users to manage repositories, issues, pull requests, and more through natural language in Claude Desktop.
    -

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/pblarismendi/mcp-github-server'

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