mcp-github-server
Allows interaction with GitHub API, providing tools for managing repositories, pull requests, issues, commits, releases, tags, webhooks, branches, and performing searches on code, issues, users, and commits.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-github-serverlist my open pull requests"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🐙 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-serverInstalació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
Ve a GitHub Settings > Developer settings > Personal access tokens > Tokens (classic)
Haz clic en "Generate new token (classic)"
Dale un nombre descriptivo (ej: "MCP Server")
Selecciona los scopes:
✅
repo(Full control of private repositories)✅
read:org(opcional, para organizaciones)
Haz clic en "Generate token"
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.jsonLinux:
~/.config/Claude/claude_desktop_config.jsonWindows:
%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-serverO busca el ejecutable:
# macOS/Linux:
which mcp-github
which mcp-github-server
# Windows (PowerShell/CMD):
where mcp-github
where mcp-github-serverNota: 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 filtrosget_repository- Obtiene detalles de un repositoriosearch_repositories- Busca repositorios en GitHub
Pull Requests
list_pull_requests- Lista PRscreate_pull_request- Crea un PRget_pull_request- Obtiene detalles de un PRmerge_pull_request- Mergea un PR (merge, squash, rebase)close_pull_request- Cierra un PRupdate_pull_request- Actualiza un PRadd_pull_request_review- Agrega una reviewlist_pull_request_reviews- Lista reviews de un PR
Issues
list_issues- Lista issuescreate_issue- Crea un issueupdate_issue- Actualiza un issueclose_issue- Cierra un issueadd_issue_comment- Agrega un comentariolist_issue_comments- Lista comentarios
Búsqueda
search_code- Busca código en repositoriossearch_issues- Busca issues y PRssearch_users- Busca usuariossearch_commits- Busca commits
Commits
get_commit- Obtiene detalles de un commitlist_commits- Lista commits con filtroscompare_commits- Compara commits o branches
Releases y Tags
list_releases- Lista releasesget_release- Obtiene detalles de un releasecreate_release- Crea un releaselist_tags- Lista tagscreate_tag- Crea un tag
Webhooks
list_webhooks- Lista webhooksget_webhook- Obtiene detalles de un webhookcreate_webhook- Crea un webhookupdate_webhook- Actualiza un webhookdelete_webhook- Elimina un webhookping_webhook- Hace ping a un webhook
Branches
list_branches- Lista branchesprotect_branch- Protege una rama
Otros
get_user_info- Obtiene información del usuarioget_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.jssea 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
npxque 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:
Ejecuta en PowerShell o CMD:
npm list -g mcp-github-serverBusca la ruta en la salida (normalmente algo como):
C:\Users\tu_usuario\AppData\Roaming\npm\node_modules\mcp-github-serverUsa 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:
Usar npx (más simple):
{ "command": "npx", "args": ["-y", "mcp-github-server"] }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
npxpara evitar problemas con rutas
📚 Documentación Completa
Para más información sobre desarrollo, contribución, testing y características avanzadas, consulta:
README.DEV.md - Documentación completa para desarrolladores
GitHub Repository - Código fuente y issues
💖 Sponsor este Proyecto
Si este proyecto te resulta útil, considera patrocinarme:
Tu apoyo ayuda a mantener y mejorar este proyecto. ¡Gracias! 🙏
👨💻 Desarrollador
Desarrollado con ❤️ por Pablo Arismendi
GitHub: @pblarismendi
📝 Licencia
MIT
📞 Soporte
Si encuentras algún problema o tienes preguntas:
Abre un issue en GitHub
Consulta la documentación completa para desarrolladores
Available Tools
39 toolsadd_issue_commentB
Agrega un comentario a un issue
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Contenido del comentario en Markdown | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| issue_number | Yes | Número del issue |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Comentario de la review en Markdown | |
| repo | Yes | Nombre del repositorio | |
| event | Yes | Tipo de review: APPROVE (aprobado), REQUEST_CHANGES (cambios solicitados), COMMENT (solo comentario) | |
| owner | Yes | Propietario del repositorio | |
| pull_number | Yes | Número del pull request |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| issue_number | Yes | Número del issue |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| pull_number | Yes | Número del pull request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | SHA o branch base (commit anterior) | |
| head | Yes | SHA o branch head (commit nuevo) | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Cuerpo del issue en Markdown | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| title | Yes | Título del issue | |
| labels | No | Etiquetas para el issue | |
| assignees | No | Usuarios asignados al issue |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | Branch de destino (branch donde se mergeará) | |
| body | No | Cuerpo del pull request en Markdown | |
| head | Yes | Branch de origen (branch que contiene los cambios) | |
| repo | Yes | Nombre del repositorio | |
| draft | No | Si es true, crea el PR como draft | |
| owner | Yes | Propietario del repositorio | |
| title | Yes | Título del pull request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Descripción del release en Markdown | |
| name | No | Nombre del release (default: igual que tag_name) | |
| repo | Yes | Nombre del repositorio | |
| draft | No | Si es true, crea el release como draft | |
| owner | Yes | Propietario del repositorio | |
| tag_name | Yes | Nombre del tag (ej: 'v1.0.0') | |
| prerelease | No | Si es true, marca como prerelease | |
| target_commitish | No | SHA o branch para el release (default: rama principal) |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| tag | Yes | Nombre del tag (ej: 'v1.0.0') | |
| repo | Yes | Nombre del repositorio | |
| type | No | Tipo de objeto (default: 'commit') | commit |
| owner | Yes | Propietario del repositorio | |
| object | No | SHA del commit a taggear (default: HEAD) | |
| message | Yes | Mensaje del tag |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL del webhook (endpoint que recibirá los eventos) | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| active | No | Si el webhook está activo (default: true) | |
| events | No | Eventos a suscribir (ej: ['push', 'pull_request']). Si no se especifica, se suscribe a todos | |
| secret | No | Secreto para firmar los payloads (opcional pero recomendado) | |
| content_type | No | Tipo de contenido (default: 'json') | json |
| insecure_ssl | No | Permitir certificados SSL no verificados (0=no, 1=sí, default: '0') | 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| hook_id | Yes | ID del webhook |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | SHA del commit, branch o tag | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch, tag o commit SHA (por defecto: rama principal) | |
| path | Yes | Ruta del archivo en el repositorio | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| pull_number | Yes | Número del pull request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Tag del release (alternativa a release_id) | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| release_id | No | ID del release |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio (usuario u organización) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| hook_id | Yes | ID del webhook |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| per_page | No | ||
| protected | No | Filtrar solo ramas protegidas |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sha | No | SHA o branch para listar commits (default: rama principal) | |
| page | No | ||
| path | No | Filtrar commits que afectan un archivo o directorio específico | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| since | No | Fecha desde (ISO 8601, ej: 2024-01-01T00:00:00Z) | |
| until | No | Fecha hasta (ISO 8601, ej: 2024-12-31T23:59:59Z) | |
| author | No | Filtrar por autor (usuario de GitHub) | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| per_page | No | ||
| issue_number | Yes | Número del issue |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| state | No | Estado del issue | open |
| labels | No | Etiquetas separadas por comas para filtrar | |
| assignee | No | Usuario asignado al issue | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| pull_number | Yes | Número del pull request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | Filtrar por branch de destino | |
| head | No | Filtrar por branch de origen (formato: usuario:branch) | |
| page | No | ||
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| state | No | open | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Número de página | |
| sort | No | Ordenar por: created, updated, pushed, o full_name | updated |
| type | No | Tipo de repositorio: all (todos), owner (solo donde eres dueño), member (donde eres miembro) | all |
| per_page | No | Número de resultados por página (máximo 100) | |
| direction | No | Dirección del ordenamiento | desc |
| visibility | No | Filtrar por visibilidad del repositorio | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| pull_number | Yes | Número del pull request | |
| commit_title | No | Título del commit de merge (opcional) | |
| merge_method | No | Método de merge: merge (crea merge commit), squash (combina en un commit), rebase (rebase linear) | merge |
| commit_message | No | Mensaje del commit de merge (opcional) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| hook_id | Yes | ID del webhook |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| branch | Yes | Nombre de la rama a proteger (ej: 'main') | |
| require_pr | No | Requerir PR antes de mergear | |
| enforce_admins | No | Aplicar protección también a administradores | |
| allow_deletions | No | Permitir eliminar la rama | |
| allow_force_pushes | No | Permitir force pushes | |
| required_approvals | No | Número de aprobaciones requeridas (default: 1) | |
| dismiss_stale_reviews | No | Descartar aprobaciones obsoletas cuando se agregan nuevos commits | |
| require_code_owner_reviews | No | Requerir revisión de code owners |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | Ordenar por fecha de indexación (solo 'indexed' está disponible) | indexed |
| order | No | Dirección del ordenamiento | desc |
| query | Yes | Query de búsqueda (ej: 'function calculateTotal repo:owner/repo', 'TODO language:typescript') | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | Campo por el cual ordenar | committer-date |
| order | No | Dirección del ordenamiento | desc |
| query | Yes | Query de búsqueda (ej: 'author:username repo:owner/repo', 'fix bug in:message') | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | Campo por el cual ordenar | updated |
| order | No | Dirección del ordenamiento | desc |
| query | Yes | Query de búsqueda (ej: 'is:issue is:open label:bug repo:owner/repo', 'author:username is:pr') | |
| per_page | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | stars | |
| order | No | desc | |
| query | Yes | Query de búsqueda (ej: 'language:typescript stars:>100') | |
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| sort | No | Campo por el cual ordenar | followers |
| order | No | Dirección del ordenamiento | desc |
| query | Yes | Query de búsqueda (ej: 'location:argentina language:typescript', 'followers:>100') | |
| per_page | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure, 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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Nuevo cuerpo del issue en Markdown | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| state | No | Estado del issue | |
| title | No | Nuevo título del issue | |
| labels | No | Nuevas etiquetas (reemplaza las existentes) | |
| assignees | No | Nuevos asignados (reemplaza los existentes) | |
| issue_number | Yes | Número del issue |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | Cambiar el branch base del pull request | |
| body | No | Nueva descripción del pull request en Markdown | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| state | No | Estado del pull request | |
| title | No | Nuevo título del pull request | |
| pull_number | Yes | Número del pull request |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Nueva URL del webhook | |
| repo | Yes | Nombre del repositorio | |
| owner | Yes | Propietario del repositorio | |
| active | No | Si el webhook está activo | |
| events | No | Nuevos eventos a suscribir | |
| secret | No | Nuevo secreto para firmar los payloads | |
| hook_id | Yes | ID del webhook | |
| content_type | No | Tipo de contenido | |
| insecure_ssl | No | Permitir certificados SSL no verificados |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It 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.
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.
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.
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.
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.
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.
39 tool updates
v1.0.2- First observed
add_issue_comment - First observed
add_pull_request_review - First observed
close_issue - First observed
close_pull_request - First observed
compare_commits - First observed
create_issue - First observed
create_pull_request - First observed
create_release - First observed
create_tag - First observed
create_webhook - First observed
delete_webhook - First observed
get_commit - First observed
get_file_content - First observed
get_pull_request - First observed
get_release - First observed
get_repository - First observed
get_user_info - First observed
get_webhook - First observed
list_branches - First observed
list_commits - First observed
list_issue_comments - First observed
list_issues - First observed
list_pull_request_reviews - First observed
list_pull_requests - First observed
list_releases - First observed
list_repositories - First observed
list_tags - First observed
list_webhooks - First observed
merge_pull_request - First observed
ping_webhook - First observed
protect_branch - First observed
search_code - First observed
search_commits - First observed
search_issues - First observed
search_repositories - First observed
search_users - First observed
update_issue - First observed
update_pull_request - First observed
update_webhook
TDQS
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.
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.
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.
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
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
An MCP server that gives your AI access to the source code and docs of all public github repos
Create, deploy, and operate MCP servers directly from your GitHub repositories.
A MCP server built for developers enabling Git based project management with project and personal…
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Related MCP Servers
- FlicenseBqualityDmaintenanceAn 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-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to directly manage GitHub repositories, including PRs, issues, and code search, using natural language.MIT
- FlicenseNot gradedqualityDmaintenanceA 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.-
- AlicenseNot gradedqualityBmaintenanceAn MCP server that enables GitHub API operations such as managing repositories, issues, and pull requests through natural language.467ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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