Gluecron
Server Details
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 62 tools
Several tool pairs are near-duplicates (read_file/repo_read_file, search_repos/repo_search, explain_repo/repo_explain_codebase) and generate_pr_description/generate_commit_message share the same engine. While most tools are distinct, an agent would struggle to pick the intended variant from these overlapping sets.
Almost all tools follow gluecron_verb_noun snake_case, making the set predictable. A small group (repo_health, repo_read_file, repo_search, pr_status_summary) uses noun_ or noun_noun forms, which is a minor deviation but not confusing.
62 tools is far beyond the recommended range and includes redundant variants that could be consolidated. The breadth of domains (repos, issues, PRs, workflows, AI, chat, leases) justifies a large surface, but not this many overlapping tools.
Core workflows are well covered: create/read/update/delete for repos, issue lifecycle, PR lifecycle, workflow dispatch/logs, search, security, and AI helpers. Notable gaps remain (no update issue/PR, no delete_branch, no list_branches/workflows), so agents may hit dead ends for routine operations.
Available Tools
62 toolsgluecron_acquire_leaseAInspect
Grab an exclusive lease on a target (e.g. a PR or branch) for an agent session. Returns null when another agent holds an active lease.
| Name | Required | Description | Default |
|---|---|---|---|
| target_id | Yes | ||
| duration_ms | No | Lease duration (default 5 minutes) | |
| target_type | Yes | e.g. 'pull_request', 'branch' | |
| agent_session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that acquiring a lease is an exclusive operation and returns null on failure, which adds value beyond annotations. However, it does not detail lease expiration or renewal behavior.
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 sentences with clear purpose and a key return condition. No unnecessary words, though parameter details are missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lease acquisition tool, the description covers core behavior but lacks details on lifecycle (e.g., release requirement) and parameter semantics, making it somewhat 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?
With only 50% schema description coverage, the description mentions target_type and target_id in examples but fails to explain agent_session_id or duration_ms. The schema already provides some description for duration_ms, but overall adds minimal semantic 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 acquires an exclusive lease on a target (e.g., PR or branch) for an agent session, and specifies the return value when lease is held by another. This distinguishes it from its sibling gluecron_release_lease.
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 coordinating exclusive access, but does not explicitly state when to use or when not to use. No alternatives or exclusions are mentioned, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_ai_cost_summaryARead-onlyInspect
Return AI spend rollups. Scope by one of: user_id (self), repo {owner,repo}, or agent_session_id. Defaults to caller's user spend.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | No | ||
| owner | No | ||
| scope | No | 'user' (default) | 'repo' | 'agent' | |
| agent_session_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. Description adds scoping and default behavior but does not disclose return format, data freshness, or other behavioral traits like 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?
Description is concise (two sentences) and front-loaded with the core purpose and scope options. No wasted 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?
No output schema is provided, and the description does not explain the rollup structure (fields, time period). The agent lacks full context to interpret the return value appropriately.
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 only 25%. Description adds meaning by explaining how to combine scope, repo, owner, and agent_session_id. However, it introduces 'user_id' which is not a parameter in the schema, potentially causing confusion.
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 it returns AI spend rollups and specifies scope options (user, repo, agent). It distinguishes itself from sibling tools that perform mutations or unrelated queries.
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?
Provides clear instructions on how to scope by user, repo (owner+repo), or agent_session_id, and notes default behavior. Does not explicitly mention when not to use or alternatives, but sibling tools are sufficiently distinct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_assign_issueBInspect
Assign an issue to a user. Gluecron does not yet have a dedicated assignee table; assignment is modelled as an assignee:<username> label so it integrates with existing label tooling. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| number | Yes | ||
| assignee | Yes | Username to assign |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=false and destructiveHint=false. The description adds that assignment is modeled as a label (behavioral detail) and requires 'repo' scope (authentication context), which goes beyond annotations.
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?
Three concise sentences with clear purpose, implementation detail, and a requirement. No redundant information; each sentence adds value.
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?
Adequate for a simple assignment tool, but missing details like whether it overwrites existing assignees, supports multiple assignees, or what the return behavior is. No output schema so description should provide more behavioral 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 only 25% (only assignee has a description). The tool description does not elaborate on any parameter semantics (e.g., what 'number' refers to), so it adds minimal value 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 'Assign an issue to a user' with a specific verb and resource. It explains the label-based implementation, differentiating it from standard assign but does not explicitly contrast with sibling tools like gluecron_label_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 on when to use this tool versus alternatives such as gluecron_label_issue. The only usage hint is 'Requires repo scope', a prerequisite, but no when-to-use or when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_atomic_multi_file_commitAInspect
Apply a set of file writes + deletes as a single atomic commit on a branch (creates the branch if it doesn't exist). The killer agent tool: blob/tree/commit/ref-update sequence. Each change is {path, content?, content_base64?, deleted?}. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| branch | Yes | ||
| changes | Yes | Array of {path, content?|content_base64?, deleted?} entries. | |
| message | Yes | ||
| base_branch | No | Branch to fork from when `branch` doesn't yet exist (default: repo default). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses branch creation side effect and atomic implementation ('blob/tree/commit/ref-update sequence'). While annotations show destructiveHint=false, the description adds context about mutation without contradiction.
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?
Three sentences with key information front-loaded. The promotional phrase 'The killer agent tool' is slightly extraneous but not harmful. Overall compact and efficient.
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?
Covers atomic behavior, branch creation, and change structure. Missing details on error handling, conflict resolution, and behavior when branch already exists (though implied). No output schema, but description compensates adequately.
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?
Enriches the changes parameter with clear structure ({path, content?, content_base64?, deleted?}) beyond schema's brief mention. However, owner, repo, branch, and message are not elaborated, leaving some interpretation to the user.
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?
Clearly states 'apply a set of file writes + deletes as a single atomic commit on a branch', providing a specific verb ('apply') and resource (multi-file commit). Distinguishes from sibling tools like write_file, delete_file, and create_branch by emphasizing atomicity and batch nature.
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?
Implicitly guides use for atomic multi-file operations, contrasting with single-file siblings. However, lacks explicit when-not-to-use or alternative recommendations beyond the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_cancel_workflow_runADestructiveInspect
Cancel a queued/running workflow run. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| run_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint: true and readOnlyHint: false. The description adds the scope requirement as behavioral context beyond annotations. It does not detail side effects, but given annotation coverage, the added value is significant.
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 sentences: first clearly states the tool's purpose, second adds a critical requirement. No redundancy or filler. Highly efficient.
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 required params, no output schema), but the description lacks details on the cancellation effect (e.g., whether it's reversible, what happens to associated logs). It meets minimal needs but could be more helpful with behavior details.
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 0% and the description does not elaborate on any of the three parameters (owner, repo, run_id). The mention of 'repo' scope is a permission requirement, not parameter documentation. This leaves the agent with no guidance on parameter meanings.
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 ('Cancel') and the resource ('a queued/running workflow run'), distinguishing it from sibling tools like gluecron_trigger_workflow and gluecron_get_workflow_run.
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?
It mentions a prerequisite ('Requires 'repo' scope') but does not provide explicit when-to-use, when-not-to-use, or alternatives. The scope requirement offers some guidance but leaves usage context incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_chat_continueAInspect
Send another message to an existing repo chat. Returns the assistant's reply. If the AI service does not answer this fails with a JSON-RPC error carrying {chat_id, ai_error} rather than returning apology copy as a reply.
| Name | Required | Description | Default |
|---|---|---|---|
| chat_id | Yes | ||
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing the failure behavior: if the AI service does not answer, it fails with a JSON-RPC error carrying {chat_id, ai_error} instead of returning apology copy. It also states that the tool returns the assistant's reply, which is not derivable from the readOnly or destructive flags.
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 two tight sentences that front-load the core action, then add return-value and error-disclosure information. Every sentence adds value and there is no redundant 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 two-parameter tool with no output schema, the description covers what it does, what it returns, and how it fails. It does not explain how to obtain chat_id or explicitly connect to the sibling gluecron_chat_with_repo, but 'existing repo chat' is enough context for invocation in most cases.
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 only names and types with zero description coverage, but the description compensates by characterizing chat_id as the identifier of an existing repo chat and message as the content of the follow-up message. Given only two simple string parameters, this is sufficient semantic guidance, though it could explicitly name the 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 opening phrase 'Send another message to an existing repo chat' names a specific verb, resource, and continuation scope, which clearly distinguishes it from starting a new chat such as gluecron_chat_with_repo. It also states the return value, the assistant's reply.
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?
'Another message to an existing repo chat' clearly implies this is the continuation tool, for use after a chat already exists, which separates it from sibling gluecron_chat_with_repo. It does not explicitly name the alternative or state a when-not-to-use condition, so it falls one step short of fully explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_chat_with_repoAInspect
Start a new chat with a repo: creates a chat row, sends the first user message, streams + persists the assistant reply. Returns {chat_id, reply}. If the AI service does not answer this fails with a JSON-RPC error carrying {chat_id, ai_error} — it never returns apology copy as a reply. Requires authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| title | No | Chat title (optional) | |
| message | Yes | Initial user message |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals several non-obvious behaviors: it creates and persists a chat row, streams the reply, returns {chat_id, reply}, fails via JSON-RPC error with {chat_id, ai_error} instead of apology copy, and requires authentication. This adds substantial context beyond the annotations (readOnlyHint=false, destructiveHint=false), with no contradiction.
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 three tight sentences: purpose/action first, return value second, failure behavior and auth third. Every sentence earns its place, with no repetition 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?
Without an output schema, the description explains the return shape and error behavior. It covers authentication and persistence. Missing items are explicit definitions for owner/repo and any rate-limit or streaming specifics, but for a moderately complex chat-start tool this is largely 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?
Schema coverage is 50%, and the description only clarifies 'message' as the first user message. The required parameters 'owner' and 'repo' are not semantically explained beyond the tool name's reference to 'repo'; 'title' is covered in the schema. This partially compensates for the gap but leaves required parameters under-documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Start a new chat with a repo', then details the actions: creates a chat row, sends the first user message, streams and persists the reply. This clearly distinguishes the tool from siblings like gluecron_chat_continue (new vs. continue) and explain/agent-session tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context that this is for starting a new chat, implicitly separating it from continuing an existing chat (gluecron_chat_continue). It does not explicitly name alternatives or state 'when not to use', so it falls short of a 5, but the intended usage is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_clone_urlARead-onlyInspect
Return the authenticated HTTPS clone URL for a repo + a credential-helper hint. Use this instead of embedding tokens in URLs. Returns {url, hint}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner username |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds value by specifying the return format {url, hint} and that it uses authenticated HTTPS, providing useful behavioral context beyond annotations.
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, using two sentences with no wasted words. The purpose is front-loaded, making it easy for an agent to quickly understand what the tool does.
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 tool with only two required parameters and no output schema, the description is complete. It explains the return object, provides usage guidance, and clarifies security best practices (avoid embedding tokens).
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%, with both parameters (owner, repo) having descriptions. The description does not add additional parameter-level meaning beyond what the schema provides, 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?
Description clearly states the tool returns an authenticated HTTPS clone URL and a credential-helper hint. The verb 'Return' and specific resource 'clone URL' make it distinct from sibling tools, none of which appear to provide clone URLs.
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 explicitly advises using this tool instead of embedding tokens in URLs, providing clear usage context. While it doesn't give when-not or alternatives, the guidance is sufficient for this straightforward tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_close_issueADestructiveIdempotentInspect
Close an open issue. Requires authenticated caller with write access. Idempotent — closing an already-closed issue is a no-op. Returns {state}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| number | Yes | Issue number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotency and destructive intent; the description adds value by spelling out the authenticated-write-access requirement, the concrete no-op behavior on already-closed issues, and the return shape. No contradiction with annotations.
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?
Three short, information-dense sentences with no filler. The core action is front-loaded, and each supporting sentence covers a distinct useful behavior: auth, idempotency, and return value.
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 low complexity and rich annotations, the description covers the essential behavioral context. It could be slightly more explicit about the actual content of the returned state (e.g., 'closed'), but the tool remains fully callable without that detail.
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 documents all three parameters with 100% coverage, so the description need not repeat parameter details. It adds no extra parameter semantics beyond the schema, which matches the baseline for full 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 states a specific action ('Close') on a specific resource ('open issue'), making the tool's purpose immediately clear. The name and description also naturally distinguish it from close_pr and reopen_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 gives useful context by noting that authenticated write access is required, which is a prerequisite. However, it does not explicitly discuss when to prefer this tool over alternatives like close_pr or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_close_prADestructiveIdempotentInspect
Close an open pull request without merging. Requires authenticated caller with write access. Idempotent. Returns {state}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| number | Yes | PR number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds the auth requirement and return value ({state}) beyond what annotations provide. It also states 'without merging,' which clarifies behavior. The idempotent claim is redundant with annotations, but the extra context about auth and return is valuable. No contradiction with annotations.
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 that front-loads the primary action, then provides necessary context (auth, idempotency, return). It is concise, with no filler words, and every clause adds value.
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 tool with no output schema, the description covers the essential aspects: purpose, auth, idempotency, and return value. It doesn't discuss error handling (e.g., if PR is already closed), but that is not critical for a basic tool. The information is sufficient for an agent to call 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 schema already documents all three parameters (owner, repo, number). The description does not add any additional parameter-specific meaning, so it meets the baseline for high coverage without further elaboration.
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: 'Close an open pull request without merging.' It specifies the resource (pull request) and the distinguishing condition (without merging), which differentiates it from merge_pr and close_issue. The verb 'close' is specific 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 the use case by saying 'without merging,' which contrasts with merge_pr, but it doesn't explicitly name alternatives or state when not to use it. It does provide a prerequisite ('Requires authenticated caller with write access'), which gives context but not explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_comment_issueAInspect
Add a comment to an existing issue. Requires authenticated caller with write access. Returns {commentId}.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Comment body (Markdown) | |
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| number | Yes | Issue number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a mutating but non-destructive operation. The description adds useful context beyond annotations by disclosing the write-access requirement and the return payload {commentId}. It does not cover side effects in detail, but with annotations present and a simple action, this is sufficient.
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 three short sentences, each earning its place: action, auth prerequisite, and return value. It is front-loaded with the core purpose and contains 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?
For a simple 4-parameter action with fully documented schema and clear annotations, the description covers the essential missing information: auth requirement and return shape. There is no output schema, but the {commentId} mention fills that gap. Nothing needed to invoke the tool correctly is missing.
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 four parameters are already documented in the schema. The description adds no new parameter-level detail; it only mentions the return value. This meets the baseline but does not exceed it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Add a comment to an existing issue' (comment, issue). It clearly distinguishes this from sibling tools like gluecron_create_issue (creation), gluecron_close_issue (state change), and especially gluecron_comment_pr (pull request comments) by scoping to 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 gives clear usage context: use it for existing issues, and it states the prerequisite of an authenticated caller with write access. It does not explicitly name alternatives or exclusions such as 'use comment_pr for pull requests,' so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_comment_prAInspect
Add a comment to a pull request. Requires authenticated caller with write access. Returns {commentId}.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Comment body (Markdown) | |
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| number | Yes | PR number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only and not destructive. The description adds meaningful context beyond annotations by requiring authenticated write access and revealing the return shape as {commentId}. This gives the agent useful behavioral expectations without contradicting the annotations.
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 tight sentence that front-loads the core action, then adds the two most important operational facts: auth requirement and return value. There is no filler or redundant restatement of the title or 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?
For a simple four-parameter mutation with no output schema, the description covers the essential context: action, auth requirement, and return value. It does not discuss error cases or rate limits, but the operation is simple enough that this is not a critical 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%, so the schema fully documents all four parameters. The description adds no extra parameter-level detail, which is acceptable given that the schema already carries the semantic load. 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 states a specific verb-resource pair: add a comment to a pull request. It clearly distinguishes this from the sibling gluecron_comment_issue by naming the target resource (pull request), so an agent can choose correctly without opening schemas.
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 makes the primary use case obvious and adds a prerequisite: authenticated write access. It does not explicitly mention alternatives for commenting on issues, but the purpose itself and the sibling naming provide enough context for this straightforward operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_create_agent_sessionAInspect
Mint a new agent-multiplayer session. Returns the plaintext token exactly once (store it). Requires 'admin' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable session name (unique per owner) | |
| repository_id | No | Optional repo to scope to | |
| branch_namespace | No | Optional branch namespace override | |
| budget_cents_per_day | No | Daily budget cap in cents (default 500) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (readOnlyHint=false) and no destruction (destructiveHint=false). Description adds that the session requires admin scope and the token is returned only once, providing behavioral context beyond annotations.
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: first describes the core action, second provides critical notes. No wasted words. Information is front-loaded.
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?
No output schema, but description clarifies the return value (a plaintext token). For a creation tool with only one required parameter, this is sufficient. Could mention error handling but not required.
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?
Input schema covers all 4 parameters with descriptions (100% coverage). The description does not add additional meaning about parameters, so 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 uses a specific verb 'Mint' to indicate creation of a new agent-multiplayer session. It clearly identifies the resource and distinguishes this tool from siblings that handle git operations, issues, and PRs.
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?
It provides key usage guidance: the token is returned exactly once (so store it) and requires 'admin' scope. No explicit alternatives or when-not-to-use, but no sibling tool serves the same purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_create_branchAInspect
Create a new branch ref pointing at an existing sha. Mirrors POST /api/v2/repos/.../git/refs. Requires 'repo' scope. Returns {ref, sha}.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | Target commit sha (40-hex) | |
| repo | Yes | ||
| owner | Yes | ||
| branch | Yes | New branch name (short form) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds behavioral context: it is a mutation (creates a branch), requires 'repo' scope, and mirrors an API. It does not discuss error conditions or idempotency, but the additions are sufficient.
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 three sentences: first states purpose, second references the API endpoint, third mentions scope and return value. It is concise, front-loaded, and contains no unnecessary 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?
For a simple creation tool with 4 parameters and no output schema, the description is fairly complete: it explains the action, API mirroring, required scope, and return format. However, it omits potential errors (e.g., branch already exists) and constraints, but overall adequate.
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% (sha and branch have descriptions; owner and repo do not). The tool description does not elaborate on parameters beyond schema, so it fails to compensate for the low coverage. No additional meaning is added for owner or repo.
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 creates a new branch ref pointing at an existing sha. It uses a specific verb ('create') and resource ('branch'), and distinguishes from sibling tools like glmecron_merge_pr or glmecron_create_pr.
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 clear context (mirrors API, requires 'repo' scope) but does not explicitly state when to use this tool vs alternatives or any exclusions. The usage is implied by the tool's focus on branch creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_create_issueAInspect
Create a new issue on a Gluecron repository. Requires authenticated caller with write access on the target repo. Returns {number, url}.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Issue body (Markdown). Optional. | |
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| title | Yes | Issue title |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful behavioral detail beyond the annotations by disclosing the authentication and authorization requirement and specifying the return shape as '{number, url}'. Since the annotations already indicate readOnlyHint=false and destructiveHint=false, the description's added context is meaningful, though it does not address side effects or idempotency.
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 three short sentences and each one earns its place: the action, the access requirement, and the return value. There is no filler, repetition, or unnecessary 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?
Given that there is no output schema, describing the return as {number, url} is valuable. The description also covers the key behavioral requirement (write access) and leaves parameter semantics to the complete schema. It could go slightly further by addressing potential error cases or alternative tool routes, but it is sufficiently complete for a simple creation 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 100%, so the parameters owner, repo, title, and body are all already described in the input schema. The description does not need to add parameter-level detail; it also does not go 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 states a specific action ('Create a new issue') on a specific resource ('a Gluecron repository'), making the tool's purpose unambiguous. It also distinguishes itself from related siblings like gluecron_create_pr, gluecron_close_issue, and gluecron_assign_issue by making clear it is specifically for creating a new 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 implies the primary use case — creating a new issue — and gives a useful access prerequisite by requiring an authenticated caller with write access. However, it does not explicitly say when to prefer this tool over alternatives or when to avoid it, such as distinguishing it from creating a pull request or commenting on an existing issue.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_create_prAInspect
Open a new pull request. head_branch is required; base_branch defaults to the repo default branch. Requires authenticated caller with write access. Returns {number, url}.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | PR body (Markdown). Optional. | |
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| title | Yes | PR title | |
| base_branch | No | Target branch (default: repo default branch) | |
| head_branch | Yes | Branch with the changes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a mutating, non-destructive operation(?). The description adds valuable behavioral detail: the required authenticated write access, the base_branch default behavior, and the return shape {number, url}. This goes beyond what annotations and schema provide.
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?
Three short sentences, each carrying necessary information: the action, the key parameter behavior, and the auth/return contract. No filler 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?
The description covers the core requirements, auth prerequisite, default branch behavior, and return format, which is complete enough for a tool with no output schema. It could add a brief note distinguishing from open_draft_pr, but that is more of a selection aid than a calling requirement.
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%, so all parameters already have descriptions. The description largely repeats schema details like head_branch being required and base_branch defaulting to the repo default branch witout adding new 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 states a specific verb and resource: 'Open a new pull request.' It is clear and actionable. However, it does not explicitly differentiate from the sibling tool open_draft_pr, so an agent must infer that this tool is for non-draft PRs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful prerequisites: head_branch is required, base_branch has a default, and the caller needs write access. It does not explicitly compare to alternatives like open_draft_pr or merge_pr, so usage guidance 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.
gluecron_delete_fileADestructiveInspect
Delete a file from a branch via git plumbing. Requires the existing blob sha (optimistic concurrency) and 'repo' scope. Mirrors DELETE /api/v2/contents.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | Current blob sha (40-hex) | |
| path | Yes | ||
| repo | Yes | ||
| owner | Yes | ||
| branch | Yes | ||
| message | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true; the description adds the concurrency requirement (sha) and 'mirrors DELETE /api/v2/contents', but does not explain commit behavior or side effects beyond the deletion.
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 extremely concise with two sentences, front-loading the purpose without any redundant or irrelevant 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?
Despite having 6 required parameters and no output schema, the description does not explain the purpose of 'path', 'branch', 'message', or what the response looks like, leaving significant gaps in understanding.
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?
With only 17% schema description coverage (only 'sha' has a description), the description adds meaning for 'sha' and hints at 'repo' scope, but the other 4 parameters (owner, path, branch, message) are left unexplained, insufficiently compensating for the low 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 explicitly states the action ('Delete a file from a branch via git plumbing'), which is specific and distinguishable from siblings like write_file (create/update) and delete_repo (delete entire 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 mentions prerequisites (requires blob sha and 'repo' scope), but does not provide explicit guidance on when to use this tool versus alternatives, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_delete_repoADestructiveInspect
Permanently delete a repository row (git data on disk is left untouched). Requires 'admin' access on the repo (owner, org owners/admins, admin collaborators) AND 'admin' token scope. Returns {deleted: true}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner username |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true, but the description adds valuable context: it specifies what is deleted (repository row) and what is preserved (git data on disk). It also discloses the return value and permission requirements. This goes beyond annotations without contradicting them.
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 two sentences, front-loaded with the main action. It packs in the key caveat (disk untouched), permission requirements, and return value without any fluff. Every sentence 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?
For a simple destructive operation with two parameters and no output schema, the description covers all essential aspects: action, effects, prerequisites, and return format. An agent has everything needed 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%, with both 'owner' and 'repo' documented in the schema. The description does not add extra parameter details, but the baseline of 3 is appropriate because the schema fully covers parameter semantics.
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: 'Permanently delete a repository row.' It specifies the resource (repository row) and distinguishes from siblings like gluecron_update_repo by emphasizing deletion. The note that git data on disk is left untouched further clarifies scope, 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?
It states the primary use case (deleting a repo) and explicitly lists required permissions (admin access and token scope). It doesn't mention when not to use it, but as the only deletion tool, no alternative exists. The disk caveat also guides usage by clarifying what is not affected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_explain_repoARead-onlyInspect
Return the cached AI 'explain this codebase' Markdown for a repo. Pure read — never triggers a new generation (use the web UI for that).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by explicitly stating 'Pure read — never triggers a new generation', which aligns with the readOnlyHint and provides specific behavioral context about caching. No contradictions.
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 extremely concise: two short sentences that front-load the purpose and immediately add a critical behavioral constraint. Every word adds value, 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?
For a simple read-only retrieval tool with two standard parameters and no output schema, the description adequately covers core behavior (returns cached Markdown), return format hint (Markdown), and safety profile (read-only). No missing information given the tool's simplicity.
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 0% and the description does not explain the 'owner' and 'repo' parameters beyond what is obvious from their names. With no additional parameter guidance, the description fails to help agents understand input format or 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 clearly states the tool returns cached AI Markdown for a repo. It uses specific verb 'Return' and resource 'cached AI explain this codebase Markdown', and distinguishes from tools that trigger new generations by explicitly saying 'never triggers a new generation'.
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 clear usage context: use this when you want the cached explanation without triggering a new generation. It implicitly contrasts with other tools that generate new explanations, but does not explicitly name sibling alternatives like 'repo_explain_codebase'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_find_symbolBRead-onlyInspect
Find definitions of a symbol by name within a repo. Wraps src/lib/symbols.findDefinitions.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Symbol name | |
| repo | Yes | ||
| owner | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds little beyond the safe read behavior. It mentions wrapping a library but no further behavioral traits (e.g., what happens if symbol not found, multiple definitions).
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 plus a note, which is appropriately concise and front-loaded. It conveys the core purpose without extraneous content.
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 3 required parameters, no output schema, and limited schema descriptions, the description does not provide enough context for correct invocation. Missing details on return format, error handling, and parameter relationships.
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 33% (only 'name' described). The tool description does not add meaning to the parameters beyond what the schema provides. For a tool with low schema coverage, the description should compensate but does not.
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 it finds definitions of a symbol by name within a repo. The title 'Find symbol' supports this. It distinguishes from siblings by specifying a niche operation (symbol definition lookup) not covered by other tools.
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 like semantic search or reading files. No when-not-to-use criteria or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_fork_repoAInspect
Fork a repository to the authenticated caller's namespace. Mirrors POST /:owner/:repo/fork. Returns {owner, repo, url}. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Source repo name | |
| owner | Yes | Source repo owner |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false. The description adds transparency by specifying it mirrors POST /:owner/:repo/fork, returns {owner, repo, url}, and requires 'repo' scope. No contradiction with annotations.
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 two sentences, each adding value: first states the action, second provides API details, return format, and scope requirement. 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?
For a simple tool with two parameters and no output schema, the description covers the core action, return values, and a scope prerequisite. It does not mention error handling or rate limits, but is sufficiently complete for typical use.
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%, with both parameters (repo, owner) described by the schema. The description does not add additional meaning beyond the schema, meeting the baseline for high 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 'Fork a repository to the authenticated caller's namespace,' specifying the verb (fork), resource (repository), and destination. It distinguishes from sibling tools as there are no other fork tools, 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 includes the requirement for a 'repo' scope, providing a prerequisite for use. However, it does not explicitly state when to use this tool versus alternatives, but since there are no directly competing fork tools, the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_generate_commit_messageARead-onlyInspect
Generate a commit message for a diff. Same engine as gluecron_generate_pr_description but explicit for the commit-message use case.
| Name | Required | Description | Default |
|---|---|---|---|
| diff | Yes | ||
| style | No | 'conventional' (default) or 'plain' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the tool's safety is clear. The description adds little beyond noting the same engine as a sibling, which is contextual but not behavioral. It doesn't disclose rate limits, auth needs, or output characteristics.
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 highly concise, using two efficient sentences that convey the purpose and key distinction without any fluff.
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 simple nature of the tool (2 parameters, no output schema), the description is minimally adequate but lacks details on the output format or commit message conventions. It is not fully complete for an agent to understand all implications.
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?
With 50% schema description coverage, the description does not compensate for the undocumented 'diff' parameter. The 'style' parameter has a brief description, but the tool description adds no further meaning to either parameter, leaving the agent to infer usage.
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 it generates a commit message for a diff, and explicitly distinguishes it from gluecron_generate_pr_description, ensuring the agent selects the correct tool for commit messages vs. PR descriptions.
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 a clear context by mentioning the sibling tool, implying when to use this (commit messages) versus the other (PR descriptions). However, it does not explicitly state when not to use it or provide alternatives, leaving room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_generate_pr_descriptionARead-onlyInspect
Generate an AI commit-message-style description for a diff. Uses src/lib/ai-commit-message.ts under the hood; gracefully degrades to a heuristic when ANTHROPIC_API_KEY is missing. Returns {subject, body}.
| Name | Required | Description | Default |
|---|---|---|---|
| diff | Yes | Unified-diff body | |
| style | No | 'conventional' (default) or 'plain' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds value by disclosing the internal module ('src/lib/ai-commit-message.ts') and graceful degradation to heuristic when ANTHROPIC_API_KEY is missing. This goes beyond annotations without contradicting them.
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 highly concise with two sentences: first states the purpose, second adds implementation detail and return type. Every sentence serves a function 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?
Given no output schema, the description includes the return shape ({subject, body}). Parameter semantics are covered in the schema. The behavior (AI vs heuristic) is explained. Minor gaps (e.g., diff size limits) are not critical 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% with both parameters ('diff' as 'Unified-diff body' and 'style' with default 'conventional' or 'plain'). The description does not add new parameter-level meaning but complements with return format and fallback behavior, resulting in a baseline score.
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 generates an AI commit-message-style description for a diff, specifying the verb ('generate') and resource ('commit-message-style description for a diff'). It differentiates from siblings like 'gluecron_generate_commit_message' by focusing on PR descriptions from diffs and mentioning the internal implementation.
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 diff-to-PR-description conversion but lacks explicit when-to-use guidance or comparisons with alternatives. It does not mention when not to use it or suggest siblings like 'gluecron_generate_commit_message' for other contexts, providing only implicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_generate_release_notesARead-onlyInspect
Generate release notes between two tags. Wraps src/lib/ai-release-notes.generateReleaseNotes. Returns the rendered Markdown + section data.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| to_tag | Yes | New tag | |
| from_tag | No | Previous tag (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds that it wraps a specific function and returns Markdown and section data, providing output structure beyond annotations. No contradictions.
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 with two sentences. The first sentence captures the core functionality, and the second adds output details without verbosity. Every sentence adds value.
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 moderate complexity (4 parameters, no output schema), the description covers purpose and output but lacks guidance on required parameters and usage context among many siblings. It does not explain that repo and owner are required or that from_tag is optional.
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 50% (only to_tag and from_tag have descriptions). The description mentions 'between two tags' but does not clarify the required owner and repo parameters or that from_tag is optional. It adds no new parameter details 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 clearly states the tool generates release notes between two tags and specifies the output format (rendered Markdown + section data). This sets it apart from sibling tools like gluecron_generate_commit_message or gluecron_generate_pr_description.
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 (generating release notes between tags) but does not provide explicit guidance on when not to use it or suggest alternative tools. No usage context or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_generate_testsAInspect
Generate tests for a PR via Claude. Wraps src/lib/ai-test-generator.generateTestsForPr. Mode 'follow-up-pr' opens a new PR; 'append-commit' commits onto the head branch. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | 'follow-up-pr' or 'append-commit' | |
| repo | Yes | ||
| owner | Yes | ||
| number | Yes | PR number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds that it wraps a function and requires 'repo' scope, but does not disclose additional behaviors such as cost, rate limits, or side effects beyond creating PRs/commits.
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 three sentences, each serving a distinct purpose: stating the main function, explaining modes, and noting scope requirement. No unnecessary words, and the purpose is front-loaded.
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 4 parameters and no output schema, the description covers the essential aspects (purpose, modes, scope). However, it could be more complete by explaining what the tool returns (e.g., PR URL or commit SHA) or any asynchronous 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 50% (mode and number have descriptions; repo and owner do not). The description adds context for the 'mode' parameter and mentions the required scope, but does not fully compensate for the missing schema descriptions. 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's verb ('Generate tests') and resource ('for a PR'). The two modes are specified, distinguishing it from sibling tools like gluecron_generate_commit_message or gluecron_generate_pr_description, which serve different purposes.
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 explains the two modes ('follow-up-pr' and 'append-commit') and their outcomes, and mentions the required 'repo' scope. However, it does not explicitly state when to use this tool over alternatives or when not to use it, though no direct competing sibling exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_get_agent_budgetBRead-onlyInspect
Return spent / cap / remaining cents for an agent session.
| Name | Required | Description | Default |
|---|---|---|---|
| agent_session_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, indicating safe read-only behavior. The description adds no additional behavioral details beyond confirming it returns data. Since annotations cover the safety profile, a score of 3 is appropriate.
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 conveys the tool's purpose without extraneous words. It is well front-loaded and 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?
Given the tool's simplicity (one parameter, no output schema, annotations present), the description is mostly complete. It specifies what is returned (spent, cap, remaining cents) and hints at the input (agent session). Minor gaps exist (e.g., error behavior), but for a read-only tool, this is sufficient.
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 only parameter, agent_session_id, has no description in the schema (0% coverage). The description does not elaborate on its format, meaning, or constraints, providing no added value beyond the schema's type definition.
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 it returns spent, cap, and remaining cents for an agent session, which directly describes the tool's function. The name 'gluecron_get_agent_budget' matches this purpose. No sibling tool appears to duplicate this functionality.
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 or any prerequisites. It merely states what the tool does, leaving the agent without contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_get_commitARead-onlyInspect
Fetch a single commit by SHA: metadata plus the list of files it changed (path, status, additions, deletions). Mirrors GET /api/v2/repos/.../commits/:sha. Patch bodies are NOT included — use gluecron_get_diff for those.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | Yes | Commit SHA | |
| repo | Yes | ||
| owner | Yes | ||
| include_files | No | Include the files-changed summary and stats (default true). Set false to skip the diff read on very large commits. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnlyHint=true and destructiveHint=false already declared, the description adds meaningful behavioral context: it details the response composition, states that patch bodies are deliberately omitted, and mirrors a specific REST endpoint. This goes beyond the annotations and helps the agent set correct expectations.
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 only two sentences, front-loads the core action, and packs in the endpoint reference, return-value summary, and a clear caveat with an alternative. Every sentence 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?
For a read-only, single-commit fetch with no output schema, the description covers what the response contains, what it omits, and how to get the omitted content. It is sufficient for an agent to call the tool correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%: sha and include_files are described in the schema, while owner and repo are not. The tool description indirectly clarifies owner/repo via the endpoint pattern and clarifies the meaning of the file list, but it does not compensate fully for the undocumented 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 starts with a specific verb and resource: 'Fetch a single commit by SHA' and lists exactly what is returned (metadata plus file changes with path, status, additions, deletions). It also explicitly contrasts with gluecron_get_diff by stating patch bodies are not included, so an agent can distinguish the two tools immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit when-not-to-use instruction: 'Patch bodies are NOT included — use gluecron_get_diff for those.' This directly names the alternative and the condition that selects it, which is exactly what a usage guideline should provide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_get_diffARead-onlyInspect
Read the actual changes in a commit or a branch range. Pass sha for one commit against its first parent, or base+head for everything head adds since the merge base (what a PR proposes). Returns {files:[{path, oldPath?, status, additions, deletions, binary, patch, patchTruncated}], stats, truncated}. Patch text is byte-capped; set include_patch=false for a files-changed summary only.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | No | Commit SHA — diffs it against its first parent | |
| base | No | Base ref (with `head`) | |
| head | No | Head ref (with `base`) | |
| repo | Yes | ||
| owner | Yes | ||
| include_patch | No | Include patch bodies (default true) | |
| max_patch_bytes | No | Total budget for patch text across all files (default 400000, max 2000000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavioral detail: it documents the return object shape, the `truncated` flag, and that patch text is byte-capped. This is valuable context beyond the structured fields and is consistent with the read-only annotation.
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?
Three focused sentences with zero fluff: purpose, invocation modes, return shape, and truncation caveat are all front-loaded and each sentence 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?
With no output schema, the description wisely includes the return shape and truncation semantics. It covers both call modes and the summary-only switch. A minor gap is that it doesn't explicitly state `sha` and `base`+`head` are mutually exclusive, though `or` implies 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?
Schema coverage is 71%, already covering most parameters, and the description adds the key relational semantics between `sha` vs `base`+`head`, plus the effect of `include_patch=false`. It doesn't detail `max_patch_bytes`, but that is already defined in 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 opens with a specific verb and resource: 'Read the actual changes in a commit or a branch range.' It clearly differentiates the tool from siblings like gluecron_get_commit or gluecron_get_pr by focusing on diff content and explicitly naming two diff modes.
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?
It gives concrete usage conditions: pass `sha` for one commit against its first parent, or `base`+`head` for the PR-style branch range. It doesn't name explicit alternatives or exclusions, but the context is clear enough for an agent to decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_get_prARead-onlyInspect
Fetch the full detail record of a pull request (title, body, state, branches, draft, author, timestamps). Authenticated callers only (the read tool surface still works anonymously).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| number | Yes | PR number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the list of returned fields and an authentication note, which is useful context. However, the auth note is somewhat ambiguous ('Authenticated callers only (the read tool surface still works anonymously)') and could confuse. It does not disclose error behavior, rate limits, or any side effects, but for a read tool with annotations, the additional field list provides reasonable value.
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 wasted words, and the action verb is front-loaded. The parenthetical about authentication adds a necessary caveat but is slightly awkward. It is efficient and readable, though the ambiguous auth phrasing slightly detracts from clarity.
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 output schema, the description compensates by listing the exact fields returned (title, body, state, branches, draft, author, timestamps), which is essential for an agent to know what it gets. For a simple read operation with annotations covering safety, this is largely complete. The auth note, while confusing, does alert the agent to a requirement. Missing details like error handling are minor for a read tool of this simplicity.
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% – each parameter (owner, repo, number) has a clear description. The tool description adds nothing about parameter semantics beyond what the schema provides. It lists the fields returned but not any parameter-specific details. Baseline 3 is appropriate when the schema fully documents 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 clearly states the verb 'Fetch' and the resource 'full detail record of a pull request', and enumerates the fields returned (title, body, state, branches, draft, author, timestamps). This distinguishes it from sibling tools like gluecron_list_prs, gluecron_search_prs, and gluecron_get_diff, which serve different purposes. The specificity leaves no ambiguity about 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 provides no guidance on when to use this tool versus alternatives like list_prs or search_prs. The only usage note is the authentication requirement, which is about caller eligibility rather than tool selection. An agent would have to infer that this is for a single PR by number based on the schema, but the description does not explicitly state selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_get_preview_urlARead-onlyInspect
Return the branch-preview URL + status for a (repo, branch) pair. Wraps branch-previews.getPreviewForBranch. Returns {ok:false, reason:'not enabled on this host'} when the host has no PREVIEW_DOMAIN (no preview would ever resolve).
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| branch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already indicate readOnlyHint=true and destructiveHint=false, establishing a safe read operation. The description adds value by disclosing that the tool wraps an internal function and returns a specific error shape when the host is misconfigured. The success return format is only partially described ('URL + status'), but the added context goes beyond the annotations.
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 consists of two concise sentences. The first states the primary action and inputs, and the second adds a critical error condition. Every sentence serves a purpose with no padding, making it highly efficient and front-loaded.
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 three required parameters and no output schema, the description covers the error case but omits details about the success response shape. It also fails to explain the 'owner' parameter. While the tool is simple, the missing parameter guidance and incomplete output description leave moderate gaps.
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 description coverage is 0%, so the description must compensate for parameter meaning. However, the description mentions only 'repo' and 'branch', omitting the 'owner' parameter. It does not explain what each parameter represents or provide any insights beyond their names, leaving the agent with incomplete guidance.
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 returns a branch-preview URL and status for a given repository and branch pair. It specifies the verb 'return' and the resource 'branch-preview URL + status', and the mention of wrapping an internal function adds precision. Among siblings, no other tool serves this purpose, making it well-differentiated.
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 the tool should be used to retrieve a preview URL for a branch, and it provides a specific condition (host without PREVIEW_DOMAIN) that leads to an error response. While it doesn't explicitly state when not to use it or name alternatives, the unique functionality makes the usage context clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_get_workflow_logsARead-onlyInspect
Return concatenated per-job logs for a workflow run, plus per-job metadata. JSON-friendly companion to the ZIP-download endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| run_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the description need not reiterate safety. It adds that the output is concatenated logs with metadata, but does not disclose things like size limits, pagination, or authentication requirements. This is adequate but not rich.
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?
A single sentence that front-loads the action ('Return') and resource, with no wasted words. Every token serves a 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 simple read-only tool with three required parameters and no output schema, the description explains the return type (logs and metadata) and provides a reference point (ZIP-download endpoint). It is sufficient for an agent to understand what the tool does, though details on output structure are absent.
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 0%, so the description must compensate. It mentions 'workflow run' which ties the parameters owner, repo, run_id together, but does not explain each parameter individually. The parameter names are self-explanatory, but for an AI agent, more explicit mapping would help. The description adds some context but not enough to fully compensate for the lack of schema 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 states a specific verb ('Return') and resource ('concatenated per-job logs for a workflow run, plus per-job metadata'), and distinguishes this tool from its sibling 'gluecron_get_workflow_run' and the ZIP-download endpoint. No 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 description positions itself as a 'JSON-friendly companion to the ZIP-download endpoint,' providing clear context for when to use it (when JSON output is preferred). However, it does not explicitly state when not to use it or name alternatives among siblings beyond the hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_get_workflow_runARead-onlyInspect
Fetch a workflow run's metadata + status. Mirrors GET /api/v2/repos/.../actions/runs/:id.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| run_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds that it mirrors a GET endpoint, which reinforces idempotence, but no additional traits (e.g., rate limits, response volume) are disclosed.
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 sentences with no filler. The first sentence states the purpose, and the second provides an API reference. 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?
For a simple read tool with 3 required parameters and no output schema, the description adequately tells the agent what the tool does and references the underlying API. It could mention the output shape, but the API reference provides a sufficient hint.
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 0%, and the description does not explain the meaning of owner, repo, or run_id beyond their names. No formats, constraints, or examples are provided, leaving the agent with only parameter names to infer semantics.
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 verb 'Fetch' and the resource 'workflow run's metadata + status'. It also references the specific API endpoint, making it unmistakable. This distinguishes it from sibling tools like cancel or trigger operations.
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 explicit when-to-use or alternative guidance is provided. The purpose is clear enough to infer usage, but there is no mention of contexts where this is preferred over other tools like get_workflow_logs or list_runs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_label_issueAInspect
Attach one or more labels to an issue. Labels are created if they don't yet exist on the repo. Requires 'repo' scope. Returns {labels}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| labels | Yes | Label names (strings) | |
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that labels are auto-created if missing and specifies the return object. Annotations already indicate mutability (readOnlyHint false) and non-destructiveness, so the description adds useful context beyond annotations.
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 sentences, each adding necessary information. No fluff, front-loaded with the action.
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 labeling tool, it covers purpose, auto-creation, required scope, and return value. Minor omission: 'number' is not explicitly said to be the issue number, but it is clear from 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?
Only 25% schema description coverage; the description does not elaborate on parameters like owner, repo, or number beyond the schema. For labels, the schema already describes 'Label names (strings)', so the description adds no extra meaning.
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 starts with a specific verb ('Attach') and resource ('labels to an issue'), clearly distinguishing it from sibling tools like gluecron_unlabel_issue or gluecron_comment_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?
States the required 'repo' scope, which is a key usage constraint. It does not explicitly list when-not-to-use, but the purpose is straightforward and well understood.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_list_prsARead-onlyInspect
List pull requests on a repo, filtered by state (open|closed|merged|all). Authenticated callers only. Returns up to 50 summary rows.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| limit | No | Max rows per page (default 50, max 100) | |
| owner | Yes | Repo owner — username or organisation slug | |
| state | No | open | closed | merged | all (default: open) | |
| offset | No | Rows to skip, for paging. Use `nextOffset` from the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so no safety contradiction exists. The description adds useful behavioral context beyond the annotations: authentication is required, the result set is capped at 50 summary rows, and filtering by state is supported. This is meaningful operational information without being redundant.
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?
Three short sentences with no filler. The main purpose and scope are front-loaded, and each sentence adds necessary information: what is listed, how it is filtered, who can call it, and what is returned.
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 read-only list operation with rich parameter schemas, the description is largely complete: it covers the action, scope, authentication, state filter, and result size. Pagination is implicit through offset and nextOffset in the schema, and there is no output schema, so the 'summary rows' hint gives some shape. Missing only explicit guidance on paging behavior and sorting, which is a minor 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%, so the schema already documents all five parameters and their meanings. The description adds a general mention of state filtering and a 50-row cap, but does not add anything beyond what the parameter descriptions already provide. 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 ('List pull requests on a repo') and the resource scope, with an explicit state filter. It is not a tautology and is readily distinguishable from get_pr and repo_list_issues, though it does not explicitly name the sibling search_prs as an alternative.
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 only usage guidance is 'Authenticated callers only,' which is a prerequisite rather than a when-to-use instruction. It does not explain when to prefer this tool over gluecron_search_prs, gluecron_get_pr, or repo_list_issues, nor does it provide any exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_list_treeARead-onlyInspect
List directory contents at a ref. path scopes the listing to a subtree and is honoured in BOTH modes; recursive: true walks the whole subtree instead of one level. Always returns the same shape: {path, ref, recursive, entries, truncated, totalCount}. Recursive entries carry full repo-relative paths; non-recursive entries carry names. A ref that does not exist is an error, never an empty listing.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Branch / tag / sha | |
| path | No | Sub-path within the repo | |
| repo | Yes | ||
| owner | Yes | ||
| recursive | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool read-only and non-destructive, and the description adds useful traits: the response shape is invariant, recursive entries use full repo-relative paths while non-recursive entries use bare names, and a nonexistent ref is an error, never an empty listing. This goes well beyond the annotations and helps agents interpret results and errors.
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?
Four dense sentences, with the opener immediately stating the operation. Every sentence adds either mode semantics, return shape, or error behavior, with no filler or repetition of schema content.
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 output schema, the description explicitly supplies the return shape and path-format differences, which is the key missing information. It also states the error contract for bad refs. It does not exhaustively define `truncated`/`totalCount`, but their names and the fixed shape are enough for a listing 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 only 40%, but the description compensates for the two non-trivial parameters: it explains that `path` scopes the listing in both modes and that `recursive: true` selects subtree-walking. `owner`/`repo`/`ref` are either standard repository identifiers or already documented in the schema ('Branch / tag / sha'), so the gap is not harmful.
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 opens with a specific verb and resource: 'List directory contents at a ref.' It clarifies that `path` scopes a subtree and distinguishes the two modes, so the tool is clearly a directory-listing utility rather than a file-content/read tool. This differentiates it from sibling tools like read_file and repo_read_file without 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 description gives concrete context for when options matter: `path` scopes the listing in both modes, and `recursive: true` switches from one level to the whole subtree. It does not explicitly name alternatives or say when not to use the tool, but the behavioral guidance is sufficient to select modes correctly. There is no exclusionary guidance, so a 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_merge_prADestructiveInspect
Merge an open PR. Enforces the same checks as the HTTP merge flow: not a draft, head SHA resolves, GateTest+AI-review hard gates pass, branch-protection rules satisfied. M3: soft-blocks when the pre-merge risk score is critical unless confirm_high_risk: true is passed. Returns {merged, sha?, reason?, riskScore?}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| number | Yes | PR number | |
| confirm_high_risk | No | When true, bypass the M3 risk-score soft-block on critical-band PRs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral detail beyond the annotations: it enumerates enforced checks, reveals the M3 soft-block behavior tied to the pre-merge risk score, explains how confirm_high_risk overrides it, and specifies the return shape. The destructiveHint is consistent with the merge action, and no contradiction exists.
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 two tight sentences with zero filler. It front-loads the core purpose ('Merge an open PR'), then packs behavioral caveats and return information in a logically ordered, scannable way.
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?
Even though there is no output schema, the description explicitly includes the return shape {merged, sha?, reason?, riskScore?}. It also covers prerequisites, gate checks, and the risk-override condition, giving an agent enough context to invoke the tool correctly 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?
Schema coverage is 100% for all four parameters, so the baseline is 3. The description adds meaningful semantics for confirm_high_risk by explaining the M3 risk-score soft-block and the bypass behavior, going beyond the schema's simple 'bypass the M3 risk-score soft-block' phrasing. The other parameters are self-explanatory and require no extra 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 opens with a specific verb and resource: 'Merge an open PR.' It clearly distinguishes this tool from siblings such as gluecron_close_pr, gluecron_create_pr, and gluecron_open_draft_pr by focusing on merging an existing, open PR and the checks involved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool: for merging an open PR that must satisfy the same checks as the HTTP merge flow. It does not explicitly name alternative tools or state when not to use it, but the context is specific enough for an agent to select it appropriately among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_open_draft_prAInspect
Open a draft pull request. Same payload as gluecron_create_pr but forces is_draft=true. Useful for AI-in-progress PRs that shouldn't run mergeability checks yet.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| repo | Yes | ||
| owner | Yes | ||
| title | Yes | ||
| base_branch | No | ||
| head_branch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide `readOnlyHint: false` and `destructiveHint: false`, indicating mutability but no destruction. The description adds the key behavior that it forces `is_draft=true`, which is beyond what annotations convey. No contradictions.
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 sentences, no filler, delivers core message efficiently. Every sentence adds value: first defines purpose, second gives usage context.
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 is a specialized variant, the description adequately explains its unique feature (draft status) and use case. However, it assumes knowledge of the sibling tool's payload, and lacks any parameter documentation, which could hinder standalone usability for an agent unfamiliar with `gluecron_create_pr`.
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 has 6 parameters with 0% description coverage. The description does not explain any parameters or their semantics. It only states 'Same payload as gluecron_create_pr', which is insufficient for an agent to know required fields or formats without consulting another tool's definition.
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 opens a draft pull request and distinguishes it from sibling `gluecron_create_pr` by noting the forced draft status. The verb 'open' and resource 'draft pull request' are explicit.
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 explicitly states when to use this tool: 'Useful for AI-in-progress PRs that shouldn't run mergeability checks yet.' This clearly implies when not to use it, and references the alternative `gluecron_create_pr` indirectly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_propose_doc_updateAInspect
Manual trigger for the AI doc-update flow: scans tracked sections on the default branch and opens a PR rewriting stale prose. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint: false, destructiveHint: false) are generic. The description adds key behaviors: it rewrites prose, opens a PR, and requires 'repo' scope. This effectively communicates the mutation and permission needs beyond annotations.
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, front-loading the core purpose ('Manual trigger for the AI doc-update flow') in a single sentence. While effective, it could be slightly more structured to separate purpose from requirements.
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 2 common parameters and no output schema, the description adequately covers the main behavior and side effects (opens PR). It does not explain return values, but that is acceptable given the simplicity.
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 has 2 parameters (owner, repo) with 0% description coverage. The description provides no explanation of these parameters, leaving the agent to infer their meaning. Given the low coverage, this is a significant gap.
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 triggers an AI doc-update flow: scans tracked sections, rewrites stale prose, and opens a PR. The verb 'scans' and resource 'tracked sections' make the purpose specific and distinct from sibling tools like gluecron_propose_migration.
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 indicates manual triggering and requires 'repo' scope, but does not explain when to use vs alternatives (e.g., gluecron_propose_migration) or when not to use. It provides partial guidance but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_propose_migrationBInspect
Propose a dependency-upgrade PR. Wraps src/lib/migration-assistant.proposeMajorMigration. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| base_sha | Yes | Commit sha to fork from | |
| changelog | No | Optional changelog text | |
| dependency | Yes | ||
| to_version | Yes | ||
| from_version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate not read-only and not destructive. The description adds the scope requirement and internal function name, providing some context beyond annotations. However, it does not describe side effects, output, or implications of proposing a migration.
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 two sentences long, front-loading the core purpose. It is concise and avoids fluff, though it could integrate parameter guidance 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 7 parameters, no output schema, and low schema description coverage, the description is incomplete. It does not explain the migration process, expected output, side effects, or prerequisites beyond 'repo' scope. Context for a complex operation is lacking.
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?
With only 29% schema description coverage, the description adds no information about the 7 parameters. It fails to explain what owner, repo, dependency, from_version, to_version are, or how they are used. The description should compensate for low schema coverage but does not.
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 proposes a dependency-upgrade PR, which is a specific verb+resource combination. It distinguishes from sibling tools like create_pr or propose_doc_update by focusing on dependency upgrades. Internal reference adds specificity.
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 mentions 'Requires repo scope', indicating a prerequisite, but does not explain when to use this tool versus alternatives like create_pr or open_draft_pr. No explicit when-not or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_provision_pr_sandboxAInspect
Provision (or re-provision) a sandbox for a PR. Wraps pr-sandbox.provisionSandbox. Requires 'repo' scope. Returns {ok:false, reason:'not enabled on this host'} when no sandbox provisioner runs on the host.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is not read-only (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds value by disclosing the internal wrapper (pr-sandbox.provisionSandbox), an auth requirement ('repo' scope), and a specific error return when the host lacks a provisioner. This contextualizes behavior beyond annotations.
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 three sentences (45 words) and front-loaded with the primary purpose. The second sentence adds implementation context, and the third covers a key error case. No filler or redundant information. Every sentence contributes meaningfully.
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?
Although the tool is simple with three clear parameters and no output schema, the description does not specify the success return value or side effects. It only documents the failure case. Annotations cover destructive intent, but the description omits whether provisioning creates resources or has any rate limits. Adequate but not fully thorough 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?
Schema description coverage is 0%, so the description carries the burden of explaining parameters. The parameter names (repo, owner, number) are standard and self-explanatory for a PR sandbox tool, but the description does not explicitly define them, their formats, or constraints. For example, it does not confirm that 'number' is the PR number or clarify that 'repo' and 'owner' are GitHub identifiers.
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 provisions or re-provisions a sandbox for a PR. The verb 'provision' and resource 'sandbox for a PR' are specific and distinct from sibling tools like create_pr, merge_pr, or get_pr. The mention of wrapping an internal function adds clarity without 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 description mentions a prerequisite ('Requires repo scope') but provides no explicit guidance on when to use this tool versus alternatives. While no other tool provisions sandboxes, the description could clarify scenarios (e.g., after PR creation) or when re-provisioning is appropriate. The 'or re-provision' hint is mild guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_pr_status_summaryARead-onlyInspect
Compute a one-shot status summary for a PR: state, risk score, AI-review verdicts (trio), gate signals. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| owner | Yes | ||
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds 'Read-only' which is redundant but consistent. It also mentions 'one-shot', implying no side effects, but this is minor additional context. No contradiction with annotations.
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 sentence with no wasted words. It front-loads the verb 'Compute' and efficiently lists key output fields. Every part 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?
Despite no output schema, the description enumerates main return fields (state, risk score, AI-review verdicts, gate signals), which provides sufficient context for a summary tool. Lacks details on error cases or persistence, but is adequate for the tool's simplicity.
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 0%, so the description must compensate. However, it does not explain the parameters (owner, repo, number) beyond implying they identify a PR. The parameter names are standard but the description offers no added value or 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?
Description clearly states the tool computes a one-shot status summary for a PR, listing concrete output fields (state, risk score, AI-review verdicts, gate signals) and marking it read-only. This distinguishes it from siblings like gluecron_get_pr, which only retrieves basic PR info, and gluecron_list_prs which lists multiple PRs.
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 via 'one-shot status summary' but provides no explicit guidance on when to use this tool over alternatives (e.g., gluecron_get_pr for simpler needs) or when not to use it. No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_read_fileBRead-onlyInspect
Read a file from a repo at a given ref. Mirrors GET /api/v2/repos/:owner/:repo/contents/:path. Returns {path, size, content, encoding}.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch / tag / sha (default HEAD) | |
| path | Yes | ||
| repo | Yes | ||
| owner | Yes | ||
| encoding | No | 'utf8' (default) or 'base64' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and non-destructive behavior. The description adds the return format {path, size, content, encoding} and the API mirror, but no additional behavioral traits such as error handling or limitations.
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 extremely concise with two sentences, front-loading the purpose and providing essential return format information without any 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 simple read file tool, the description covers the core purpose, return format, and API reference. It lacks notes on handling large files or encoding caveats, but these are not critical for basic use. Overall, it is reasonably complete given the tool's simplicity.
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 40%, and the tool description does not add any parameter-level details beyond what the schema provides. Required parameters like owner, repo, path have no descriptions even in schema, and the description does not explain them.
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 'Read a file from a repo at a given ref' with a specific verb and resource, and mirrors a known API endpoint. However, it does not differentiate from the sibling tool 'gluecron_repo_read_file', which could cause confusion.
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 gluecron_repo_read_file or other read-related tools. An AI agent would have to infer based on name alone, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_refactor_across_reposAInspect
Plan + execute a refactor that spans multiple repos owned by the caller. Wraps src/lib/multi-repo-refactor.ts. dry_run: true returns the plan only. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| dry_run | No | When true, returns the plan and does NOT execute. | |
| description | Yes | Natural-language description | |
| repository_ids | No | Optional explicit repo IDs to scope the refactor to. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations list destructiveHint=false, but the description says it 'executes' a refactor, which may modify repos. The description does not disclose the actual side effects of execution (e.g., file modifications, commits), leaving ambiguity about behavioral traits. No additional context is provided beyond annotations.
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 relatively concise with four short sentences. It front-loads the core purpose and adds details like dry_run and scope requirement. Could be slightly more streamlined, but no 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?
No output schema is provided. The description describes inputs and the dry_run behavior but does not explain what the execution returns (e.g., success message, diff). For a tool with this complexity, more completeness about return values would help.
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%. The description adds minimal value; it restates the dry_run behavior and mentions the implementation file (multi-repo-refactor.ts), but the schema already adequately describes 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 tool plans and executes a refactor spanning multiple repos owned by the caller. It distinguishes itself from single-repo sibling tools like gluecron_write_file or gluecron_create_branch, which operate on 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 mentions the dry_run option returns a plan only and requires 'repo' scope. It implies when to use (multi-repo refactor) but does not explicitly state when not to use it or suggest alternatives for single-repo refactors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_release_leaseBIdempotentInspect
Release a lease by id. Idempotent. Returns {released}.
| Name | Required | Description | Default |
|---|---|---|---|
| lease_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=false and idempotentHint=true. The description adds that it is idempotent and returns {released}, which is consistent but adds minimal new behavioral context beyond the annotations.
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 (three short sentences) and to the point. It wastes no words but could be slightly 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?
For a simple release operation with one parameter and no output schema, the description is fairly complete. However, it lacks explanation of what a lease is, which may be needed for full clarity.
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 0%. The description mentions 'by id' but does not explain the lease_id parameter or provide context about what a lease is. For a single parameter with no schema description, the description should elaborate more.
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 releases a lease by ID and notes it is idempotent. The verb 'Release' and resource 'lease' are specific, and it distinguishes from the sibling tool 'gluecron_acquire_lease'.
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 versus alternatives. The description only states what it does, not when it is appropriate or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_reopen_issueAIdempotentInspect
Reopen a previously closed issue. Requires authenticated caller with write access. Idempotent. Returns {state}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug | |
| number | Yes | Issue number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations: it discloses the auth requirement (not in annotations) and the return shape '{state}' (useful since no output schema exists). It restates idempotence, which is already in annotations, but the added auth and return context justify a 4. No contradiction with annotations.
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?
Three short sentences, zero filler. The core action leads, then prerequisites, then behavior and return shape. Every sentence 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?
Complete for a simple 3-parameter mutation with no nested objects or output schema: purpose, auth requirement, idempotence, and return value are all covered. The only minor gap is the unspecified behavior if the issue is already open, but 'previously closed' scopes the intended use.
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% — all three parameters (owner, repo, number) are already documented. The description adds no parameter-level detail, so the schema carries the full burden; 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?
'Reopen a previously closed issue' states a specific verb and resource with a clear state transition. It differentiates itself from sibling gluecron_close_issue (inverse), gluecron_create_issue (new vs existing), and comment_issue without 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?
Provides a clear prerequisite — 'Requires authenticated caller with write access' — which tells an agent when it can even attempt the call. It does not explicitly name alternatives or exclusions (e.g., 'use close_issue for the inverse'), but the 'previously closed' scoping implies the appropriate condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_repo_explain_codebaseARead-onlyInspect
Return the cached AI 'explain this codebase' Markdown for a public repo (most recent commit). Returns null when no cached explanation exists yet.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it read-only/non-destructive, and the description adds meaningful behavior: data is cached, only public repos are supported, freshness is tied to the most recent commit, and null is returned on cache miss. No annotation contradiction.
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?
A single, front-loaded sentence carries the core operation and both important qualifications (cached, public, most recent commit, null behavior) with 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?
For a simple read-only lookup with two fully documented parameters, the description covers input, scope, and return behavior (Markdown or null) despite no output schema. It could be slightly more complete by pointing to the generation sibling on cache miss.
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 owner and repo, so baseline is 3. The description does not add parameter-level syntax or format details, but none are needed beyond the schema's owner/repo definitions.
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?
Description states a specific verb ('Return'), a precise resource (cached AI explain-codebase Markdown for a public repo), and a scope qualifier ('most recent commit'). The 'cached' and null-return behavior clearly differentiate it from the uncached gluecron_explain_repo sibling.
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 use case—fetch a cached explanation when one exists—and signals cache miss with null, but it never explicitly names an alternative such as gluecron_explain_repo or states when to prefer it. Usage context is present but exclusion/alternative guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_repo_healthARead-onlyInspect
Compute the current health report for a public repo: overall score (0-100), letter grade, per-category breakdown (security/testing/complexity/dependencies/documentation/activity), and a list of insights to fix next. Backed by computeHealthScore in src/lib/intelligence.ts.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and destructiveHint=false. The description adds useful behavioral context beyond that by specifying the output composition, the 0-100 score range, the categories covered, and that the report reflects current state. Minor gaps like error behavior remain, but they are not critical for a read-only computation 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 communicates purpose and output shape efficiently. The implementation note 'Backed by computeHealthScore in src/lib/intelligence.ts' is slightly extra but not harmful; it does not prevent the description from being concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter, read-only tool with no output schema, the description is largely complete: it lists all key output dimensions an agent needs to judge the result. It omits exact handling of missing repos or private repos, but those are edge cases and the overall context is sufficient for correct 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 coverage is 100% and both parameters (owner, repo) already have descriptive names and explanations. The description adds only the 'public repo' framing and does not materially clarify parameter value formats or constraints 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 uses a specific verb and resource ('Compute the current health report for a public repo') and enumerates the concrete deliverable: score, grade, category breakdown, and insights. This clearly distinguishes the tool from sibling analysis tools like security_scan or explain_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?
It gives clear context: this tool is for computing a current health report on a public repo. It does not explicitly name alternatives or list when-not-to-use cases, but no direct sibling tool competes with this exact responsibility, so the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_repo_list_issuesARead-onlyInspect
List open issues for a public repository. Returns up to 50 ordered by most-recent.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| limit | No | Max rows per page (default 25, max 50) | |
| owner | Yes | Repo owner — username or organisation slug | |
| offset | No | Rows to skip, for paging. Use `nextOffset` from the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: it only lists open issues (not all issues), returns up to 50, and orders by most-recent. It doesn't mention that closed issues are excluded or that the repo must be public, but the description explicitly says 'public repository' and 'open issues', which are meaningful constraints beyond the schema.
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 sentences with zero waste. The core action and scope are front-loaded, and the pagination/ordering behavior is stated compactly. Every sentence 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?
For a read-only list tool with 100% schema coverage and no output schema, the description is nearly complete. It covers scope, ordering, and pagination limits. It doesn't describe the response shape, but no output schema exists and the tool is simple enough that an agent can infer the return format from the parameters and the 'nextOffset' hint in the schema.
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 four parameters. The description adds the 'open issues' filter and 'ordered by most-recent' behavior, which gives context for the limit/offset parameters, but doesn't add per-parameter meaning 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 states a specific verb ('List'), a resource ('open issues'), a scope ('for a public repository'), and a concrete behavior ('Returns up to 50 ordered by most-recent'). This clearly distinguishes it from sibling tools like gluecron_search_issues (search) and gluecron_list_prs (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?
The description implies when to use it: when you need open issues for a public repo, with pagination and ordering. It doesn't explicitly state when not to use it or name alternatives like search_issues, but the context is clear enough for an agent to select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_repo_read_fileARead-onlyInspect
Read a single file from a repository at a given ref (branch / tag / commit). Private repos are readable when the authenticated caller has access. Returns the text content (binary files rejected).
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch / tag / commit. Defaults to the repository's actual default branch (which may not be 'main' — e.g. 'Main'). | |
| path | Yes | File path within the repo | |
| repo | Yes | Repo name | |
| owner | Yes | Repo owner — username or organisation slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds meaningful behavioral details beyond those: private-repo access behavior and rejection of binary files. It does not mention error cases or size limits, but it provides enough extra context to justify a score above baseline.
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 compact and front-loaded: the core purpose appears in the first sentence, followed by two useful behavioral clarifications. Every sentence earns its place without repetition 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 simple read tool, the description covers the essential return behavior (text content, rejects binary), access considerations, and ref semantics. It does not describe output details like encoding or non-binary error cases, but these are not strict gaps for an agent invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already fully documented. The description adds no new parameter semantics beyond the schema's existing statements about path, owner, repo, and ref. A baseline of 3 is appropriate because the schema carries the explanatory burden.
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 and resource: 'Read a single file from a repository at a given ref (branch / tag / commit).' It is clearly distinct from write/delete/list tools and explicitly limits scope to a single file. However, it does not differentiate itself from the very similarly named sibling gluecron_read_file, which leaves some selection 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 use case is implied: fetch file content at a known ref. It also gives useful context that private repos require authenticated access and that binary files are rejected. But it contains no explicit when/when-not guidance or mention of alternatives such as gluecron_read_file or gluecron_list_tree.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_repo_searchARead-onlyInspect
Search Gluecron repositories by keyword (name + description), case-insensitively. Returns public repos plus any private repos owned by the authenticated caller. Default 20 per page, max 50; total is the full match count and nextOffset pages through it.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows per page (default 20, max 50) | |
| query | Yes | Search keyword (1-100 chars) | |
| offset | No | Rows to skip. Use `nextOffset` from the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and non-destructive annotations, the description discloses case-insensitive matching, searchable fields, authentication ownership scope, and the full pagination contract (default/max per page, total count, nextOffset). This gives the agent a clear behavioral model with no contradictions.
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 dense sentences front-load the core action and then provide essential pagination detail. There is no filler, repetition, or 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?
With no output schema, the description still explains what is returned, ownership visibility, and how pagination works. It would be fully complete if it named the fields of each returned repository item and explicitly addressed the sibling search_repos ambiguity.
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%, so the baseline is 3. The description adds value by explaining how offset relates to nextOffset and that total is the full match count, giving operational meaning to the pagination parameters beyond their schema 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 identifies the action: searching Gluecron repositories by keyword in name and description, with case-insensitive matching. It is specific about scope and distinguishes the tool's behavior, but it does not explicitly differentiate itself from the similarly named sibling gluecron_search_repos.
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 when-to-use or alternative guidance is provided, especially relative to the near-duplicate sibling gluecron_search_repos. The scope detail about public/private repos is contextual, but it does not tell an agent when to choose this tool over other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_request_changesAInspect
Post a 'changes requested' AI-review comment on a PR. The comment is tagged with isAiReview=true so the gate-checker recognises it. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Review body (Markdown) | |
| repo | Yes | ||
| owner | Yes | ||
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false. The description adds context about the AI tag and gate-checker recognition, but does not fully describe side effects (e.g., creating a review, triggering notifications). Some behavioral context is provided beyond annotations, but not comprehensively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous information. Every word adds value: purpose, special tag, scope requirement.
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 adequately explains the tool's core function but does not cover return values or interaction with sibling tools like how it differs from 'gluecron_comment_pr'. Given 4 params and no output schema, more detail on param roles or outcomes would be beneficial.
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 low (25%) with only 'body' described. The description does not explain the meaning of 'owner', 'repo', 'number', or 'body' beyond what the schema provides. For a tool with 4 required params, this is insufficient compensation.
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 posts a 'changes requested' AI-review comment on a PR, with a specific tag and scope requirement. It distinguishes itself from generic PR comment tools by the special role and vs sibling like 'gluecron_comment_pr'.
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 mentions required 'repo' scope and implies use for AI-review changes requests. It does not explicitly state when to use vs alternatives, but the name and context differentiate it from generic comments. Sibling tools include 'gluecron_comment_pr', making the distinction clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_search_issuesBRead-onlyInspect
Search issues by title/body keyword on a single repo, filtered by state. Returns ranked rows.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| limit | No | ||
| owner | Yes | ||
| query | Yes | Search keyword | |
| state | No | open | closed | all (default open) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, establishing the safety profile. The description adds that results are 'ranked rows,' which is useful but lacks details on ordering, pagination, or default behavior. No contradictions exist between description and annotations.
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?
A single, front-loaded sentence efficiently communicates purpose, scope, and return type with no extraneous words. Every part adds value.
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 5 parameters, no output schema, and a read-only search function, the description covers the core purpose but omits details like default state ('open'), limit defaults, pagination, and result structure. For a search tool, an agent would benefit from more behavioral context (e.g., ranking criteria, max 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 description clarifies that owner+repo specify a single repo and that the query searches title/body, adding meaning beyond the schema for required parameters. However, it does not explain the limit parameter or provide format details for query/state beyond what the schema offers. With 40% schema coverage, the description partially compensates but leaves gaps.
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 verb (search), resource (issues), and scope (single repo, filtered by state, by title/body keyword). It conveys the return type (ranked rows). However, it does not distinguish this tool from sibling search tools such as gluecron_search_prs or gluecron_semantic_search, which reduces clarity for an agent comparing options.
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 vs. alternatives. It does not mention exclusions (e.g., when not to use), prerequisites, or when to prefer other issue search tools. The description only describes the tool's action without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_search_prsBRead-onlyInspect
Search pull requests by title/body keyword on a repo.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| limit | No | ||
| owner | Yes | ||
| query | Yes | ||
| state | No | open|closed|merged|all (default open) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint:true and destructiveHint:false. The description adds the behavioral detail that search is by 'title/body keyword', which is helpful but does not cover other aspects like pagination, rate limits, or output format. It adds marginal value beyond annotations.
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. However, it could be slightly more informative without sacrificing brevity, e.g., mentioning that results are paginated via the 'limit' parameter.
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 low param description coverage. The description is too sparse: it does not explain return format, ordering, pagination behavior, or how to use the 'state' filter. For a search tool, this is insufficient for an agent to confidently invoke 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?
Schema has 5 parameters with only 20% description coverage (only 'state' has a description). The tool description explains 'query' (keyword search by title/body) but leaves 'repo', 'owner', 'limit', and 'state' without added meaning. The description does not compensate sufficiently for the low 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 specifies the verb 'search' and the resource 'pull requests', and narrows the search by 'title/body keyword' and 'on a repo'. This distinguishes it from siblings like gluecron_list_prs (which lists without keyword) and gluecron_search_issues (which searches 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 keyword-based PR search on a repo, but it does not explicitly state when to use this tool versus alternatives like gluecron_list_prs or gluecron_search_issues. No exclusions or context is given, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_search_reposARead-onlyInspect
Full-text search of public repositories by name/description, case-insensitively. Mirrors GET /api/v2/search/repos. total is the full match count (not the page size) and nextOffset pages through it.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | stars | updated | name (default: stars) | |
| limit | No | Max rows per page (default 30, max 100) | |
| query | Yes | Search keyword | |
| offset | No | Rows to skip. Use `nextOffset` from the previous response. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral details beyond the schema: case-insensitive matching, mirroring a specific endpoint, the meaning of total as the full match count, and how nextOffset controls pagination.
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 two sentences with no filler. The core operation is front-loaded, and the pagination semantics are concise but complete.
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 read-only search tool with well-documented parameters and annotations, the description is largely sufficient. It explains the key return-field semantics (total and nextOffset) even though there is no output schema, but it could go slightly further in describing the shape of the returned repository items.
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 has 100% description coverage for all four parameters, so the description does not need to re-document them. It does add some helpful context by explaining that total is the full count and nextOffset pages through results, but this is more about response pagination than the parameter definitions themselves.
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 tool as a full-text search over public repositories by name or description, case-insensitively, and it mirrors a specific API endpoint. This is a precise verb+resource+scope statement, though it does not explicitly contrast itself with the sibling gluecron_repo_search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context, such as searching public repositories by name/description rather than code or issues, so the intended use is implied. However, it does not explicitly say when to prefer this tool over nearby alternatives like gluecron_repo_search, gluecron_semantic_search, or gluecron_find_symbol.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_security_scanARead-onlyInspect
Everything Gluecron actually knows about a repository's security, in one honest call: OSV.dev CVE/GHSA advisories against the indexed dependency graph (with FIXED VERSIONS), Gluecron's supplemental advisory list, a full-tree committed-secret scan, and optionally a Claude semantic code review. Unlike gluecron_repo_health, an empty result is NEVER reported as a pass: every category returns status 'assessed' | 'partial' | 'not_assessed' | 'error' with a machine-readable reason code, so you can tell 'we checked and it is clean' from 'we never looked'. In particular, a repo whose dependency graph was never indexed returns dependency_advisories.status='not_assessed' (reason 'dependency_graph_not_indexed'), not an empty advisory list. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch, tag or commit SHA to scan the tree of. Default: the repo's default branch. Note advisories describe the INDEXED dependency graph, whose commit is reported separately — if it differs from this ref the advisory answer is downgraded to 'partial'. | |
| repo | Yes | Repo name | |
| owner | Yes | Repo owner username | |
| include_ai_review | No | Opt in to the Claude Sonnet semantic review (SQLi/XSS/SSRF/authz/crypto). Costs an Anthropic call and adds seconds. Default false. When it cannot run — no key, provider error, unparseable output — the category reports 'not_assessed', never a pass. | |
| max_candidate_lines | No | Cap on lines the secret detector inspects (1-200000, default 20000). The whole tree is always prefiltered; only lines that already matched a secret marker are inspected, so this rarely binds. When it does, committed_secrets reports 'partial' with the exact fraction. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses honest-coverage semantics: status values 'assessed', 'partial', 'not_assessed', and 'error', a machine-readable reason code, and the specific not_assessed case for unindexed dependency graphs. It also explains that AI review failure is reported as 'not_assessed', never as a pass. This is substantial behavioral transparency beyond the annotations.
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 dense but every sentence earns its place: it establishes scope, enumerates security categories, defines the honest status semantics, gives a concrete edge case, and notes read-only behavior. It is front-loaded with the tool's purpose and avoids 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?
Despite lacking an output schema, the description tells the agent exactly what categories will be returned, what statuses can appear, and how to interpret ambiguous cases like unindexed dependency graphs or a bound secret-scan line cap. This is sufficient for an agent to call the tool and reason about its results effectively.
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 schema already documents ref, include_ai_review, max_candidate_lines, owner, and repo in detail. The top-level description adds overall result semantics but does not add parameter-specific meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this tool is a repository security scan and enumerates exactly what it covers: OSV.dev advisories, supplemental advisories, committed-secret scan, and optional semantic AI review. It also distinguishes itself from gluecron_repo_health with a concrete behavioral difference, so an agent can tell which tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong contextual guidance by contrasting with gluecron_repo_health and explaining that empty results are never reported as passes. It clarifies when the AI review is optional and how to interpret non-indexed dependency graphs, but it does not state broader when-not-to-use conditions or other alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_semantic_searchARead-onlyInspect
Query the per-repo vector index (Voyage embeddings when configured, hash fallback otherwise). Reads the live per-push index (code_embeddings) first, falling back to the manually-reindexed chunk index (code_chunks). Returns {hits, source, indexed, indexedFiles} — indexed: false means the repo has never been indexed (empty hits are NOT 'no match'); indexedFiles is the live-index row count.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| limit | No | ||
| owner | Yes | ||
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnlyHint/destructiveHint annotations. It discloses the fallback behavior (live index first, then chunk index), the return shape ({hits, source, indexed, indexedFiles}), and critically explains the semantic trap: `indexed: false` means the repo was never indexed, so empty hits are NOT 'no match'. This is exactly the kind of behavioral nuance an agent needs to interpret results correctly.
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?
Three dense sentences with no filler. The most important behavioral caveat (indexed: false vs empty hits) is front-loaded in the return-shape explanation. Every clause earns its place, and the description packs a lot of critical information into a compact space.
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 read-only search tool with no output schema, the description covers the return shape, the fallback behavior, and the critical interpretation of `indexed: false`. It doesn't explain pagination or how `limit` interacts with the index, and it doesn't describe what a typical hit looks like, but the core calling contract is well covered. The absence of an output schema makes the return-shape disclosure especially valuable.
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 0%, so the description carries the burden. It explains the query semantics (semantic search over code embeddings) and the meaning of the return fields, but it doesn't add detail about the `limit` parameter or the format of `owner`/`repo`. The description gives enough context for the core query parameter but leaves `limit` and identifier formats to the schema's basic types.
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 queries a per-repo vector index for semantic search, specifies the embedding mechanism (Voyage embeddings with hash fallback), and explains the read path (live per-push index first, then manually-reindexed chunk index). This distinguishes it from sibling tools like gluecron_repo_search and gluecron_find_symbol by focusing on semantic/vector search over code embeddings.
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 semantic search over a repo's code embeddings. It doesn't explicitly name alternatives or state when NOT to use it, but the semantic-search framing and the mention of the fallback index provide clear context. It could be improved by explicitly contrasting with gluecron_repo_search or gluecron_find_symbol.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_ship_specCInspect
Drop a spec file in .gluecron/specs/ with status: ready so the autopilot picks it up. Wraps voice-to-pr.shipAsSpec — handle both voice + manual specs. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Spec body (Markdown) | |
| repo | Yes | ||
| owner | Yes | ||
| title | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and destructiveHint=false, which are consistent with the write nature of 'drop a spec file'. The description adds the requirement of 'repo' scope and implies a side effect of writing a file. However, it does not disclose whether the operation is idempotent, if it overwrites existing files, or any error conditions. No contradiction with annotations.
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 two sentences with no wasted words. However, it lacks structure (e.g., bullet points for key details) which could improve scannability. The information is front-loaded in the first sentence.
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 4 required parameters, no output schema, and low schema coverage, the description is incomplete. It does not explain the expected content of the spec file, the return behavior, or how the autopilot processes it. Users are left with significant ambiguity about proper 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?
Schema description coverage is only 25% (only body has a description). The description does not explain the meaning or format of owner, repo, title, or body. It mentions 'spec file' and 'status: ready' but does not map these to parameters. The description fails to add value beyond what little 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 clearly states the tool drops a spec file with status 'ready' for autopilot. It mentions it wraps voice-to-pr.shipAsSpec and handles both voice and manual specs. The verb 'drop' is metaphorical but the action is writing a spec file. No explicit distinction from sibling tools, but the purpose is specific enough.
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 does not provide guidance on when to use this tool versus alternatives. It mentions 'handle both voice + manual specs' but fails to clarify situations where another tool (e.g., gluecron_write_file or gluecron_voice_to_pr) might be more appropriate. No exclusion criteria or prerequisites beyond 'repo' scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_trigger_workflowAInspect
Dispatch a workflow_dispatch run. Mirrors POST /api/v2/repos/.../actions/workflows/:filename/dispatches. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Branch / tag / sha (default: repo default branch) | |
| repo | Yes | ||
| owner | Yes | ||
| inputs | No | Workflow inputs (object) | |
| filename | Yes | Workflow filename (e.g. ci.yml) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description doesn't contradict them. The description adds the requirement for 'repo' scope and notes the mirroring of a POST endpoint, adding some behavioral context beyond annotations.
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 two sentences and immediately states the core action. It is front-loaded with the key verb 'Dispatch'. Slightly more detail on parameters would improve it, but it remains efficient.
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 output schema and moderate parameter coverage, the description covers the basic purpose and a key requirement but does not fully explain return values or behavior for all parameters. Adequate but not comprehensive.
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?
With 60% schema coverage (3 of 5 parameters described), the description does not elaborate on parameters beyond the schema. It adds no extra meaning for ref, inputs, or other parameters, leaving gaps for the agent.
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 'Dispatch a workflow_dispatch run' and references the exact API endpoint, making the tool's purpose unambiguous. It distinguishes this tool from siblings like cancel_workflow_run or get_workflow_run.
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 mentions 'Requires repo scope', a prerequisite, but does not explicitly guide on when to use this tool versus alternatives (e.g., when to trigger vs. cancel). Usage context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_unlabel_issueAIdempotentInspect
Detach a label from an issue. Idempotent. Requires 'repo' scope. Returns {removed: boolean}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | ||
| label | Yes | ||
| owner | Yes | ||
| number | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false. The description adds 'Requires repo scope' and return type, providing useful extra context without contradiction.
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?
Three concise sentences, each adding value 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?
Given four required parameters and no output schema, the description is insufficient. It lacks parameter details that would help the agent correctly assemble the call.
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 only mentions 'label' in the action but does not explain the other three required parameters (owner, repo, number). With 0% schema coverage, this is a significant gap.
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 ('Detach a label from an issue') and the resource, distinguishing it from sibling tools like gluecron_label_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?
While it mentions idempotency and required scope, it does not explicitly state when to use this tool versus alternatives like removing a label via other means.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_update_repoADestructiveInspect
Update repository description / visibility / default_branch. Requires 'admin' access on the repo (owner, org owners/admins, admin collaborators) and 'repo' scope. Returns {ok: true}.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repo name | |
| owner | Yes | Repo owner username | |
| automation | No | Per-repo automation dials, same keys as Settings → Automation: ai_review_mode, pr_triage_mode, issue_triage_mode, auto_merge_mode, ci_autofix_mode, auto_repair_mode, auto_issues_mode, doc_drift_mode. Values: off | suggest | auto. Only the keys given change. | |
| is_private | No | Set visibility (optional) | |
| description | No | New description (optional) | |
| default_branch | No | Set default branch (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as write-only (readOnlyHint=false) and destructive (destructiveHint=true). The description adds the admin access requirement, scope, and the return format '{ok: true}', which are not in annotations. It does not contradict the annotations and provides useful context beyond them.
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 three concise sentences: the action, the permission requirements, and the return value. It is front-loaded with the core purpose and contains no filler. Every sentence 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?
For a tool with 6 parameters, a nested object, and no output schema, the description covers the key aspects: what it updates, who can use it, and what it returns. It does not mention that only provided parameters change, but that detail is in the schema. The description is sufficiently complete for an agent to decide when to call it and what to expect.
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 each parameter (repo, owner, automation, is_private, description, default_branch) has its own description. The tool description merely names three of the fields but does not add extra meaning beyond what the schema already provides. Baseline 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 specifies the action 'Update repository description / visibility / default_branch' with a clear verb and resource, and names concrete fields. This distinguishes it from sibling tools like delete_repo, fork_repo, or create_repo. It is unambiguous and specific.
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?
It states the required permissions ('admin' access and 'repo' scope), which are prerequisites for using the tool. It does not explicitly mention when to avoid this tool or point to alternatives, but the purpose is narrow enough that an agent can infer when it applies. The prerequisite information is valuable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_voice_to_prAInspect
Interpret a free-form voice transcript and either ship it as a spec or create an issue (caller picks via as). Wraps src/lib/voice-to-pr.ts. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| as | No | 'spec' or 'issue' (default: auto via interpretVoiceTranscript) | |
| repo | Yes | ||
| owner | Yes | ||
| transcript | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, so the description's mention of creating issues/specs aligns but adds little beyond that. It notes a scope requirement ('repo') and internal file, but no details on side effects, rate limits, or failure modes.
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 three sentences, front-loading the main action, then providing internal context, and finally a requirement. Every sentence adds value with no redundancy or extraneous 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?
Given the tool has 4 parameters (3 required), no output schema, and many sibling tools, the description omits essential details like what the tool returns, error handling, or explanations for 'owner', 'repo', and 'transcript'. The agent lacks enough context to use it correctly without additional documentation.
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?
Only one of four parameters ('as') has a schema description, and the description echoes that it picks 'spec' or 'issue'. The essential parameters 'owner', 'repo', and 'transcript' are not explained, leaving a significant gap for the agent despite low schema coverage (25%).
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 interprets a free-form voice transcript and either ships a spec or creates an issue, using the 'as' parameter to choose. This distinguishes it from sibling tools like gluecron_ship_spec and gluecron_create_issue, which don't involve voice interpretation.
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 mentions it requires 'repo' scope and wraps an internal module, but does not explicitly state when to use this tool versus alternatives like gluecron_create_issue or gluecron_ship_spec. The context of 'voice transcript' implies a specific use case, but no comparative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gluecron_write_fileAInspect
Create or update a file on a branch via git plumbing. Wraps createOrUpdateFileOnBranch. Pass content as a UTF-8 string OR content_base64 for binary. Requires 'repo' scope.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| repo | Yes | ||
| owner | Yes | ||
| branch | Yes | ||
| content | No | UTF-8 file body (optional) | |
| message | Yes | Commit message | |
| content_base64 | No | Base64 file body (optional) | |
| expect_blob_sha | No | Optimistic-concurrency check: existing blob sha must match. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds that it requires 'repo' scope and wraps createOrUpdateFileOnBranch, but does not discuss concurrency checks, rate limits, or what happens on overwrite, which are important 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?
Two concise sentences, front-loaded with purpose and immediate guidance on parameter usage. No unnecessary words, and each sentence 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?
Given 8 parameters, no output schema, and a mutation operation, the description covers basic intent and parameter choice but omits return values, error cases, and the optimistic concurrency parameter (expect_blob_sha). This is adequate but not thorough.
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 clarifies the critical choice between content (UTF-8 string) and content_base64 (binary), adding value beyond the schema. With 50% schema coverage, this explanation compensates. Other standard params (owner, repo, path, branch, message) are left to 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 'Create or update a file on a branch via git plumbing', specifying the verb (create/update) and resource (file on branch). It distinguishes from siblings like read_file, delete_file, and atomic_multi_file_commit by focusing on a single file operation.
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?
Explicitly advises when to use content vs content_base64 and mentions the required 'repo' scope. However, it lacks explicit guidance on when to use this tool instead of alternatives like atomic_multi_file_commit for multi-file operations.
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.
14 tool updates
- Changed
gluecron_close_issue1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_close_pr1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_comment_issue1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_comment_pr1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_create_issue1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_create_pr1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_get_pr1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_list_prs1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_merge_pr1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_reopen_issue1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_repo_explain_codebase1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_repo_health1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_repo_list_issues1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
- Changed
gluecron_repo_read_file1 field changed- changed
Input schema / properties / owner / descriptionPrevious value: -"Repo owner username"New value: +"Repo owner — username or organisation slug"
1 tool update
- Changed
gluecron_update_repo1 field changed- added
Input schema / properties / automationAdded value: +{ + "description": "Per-repo automation dials, same keys as Settings → Automation: ai_review_mode, pr_triage_mode, issue_triage_mode, auto_merge_mode, ci_autofix_mode, auto_repair_mode, auto_issues_mode, doc_drift_mode. Values: off | suggest | auto. Only the keys given change.", + "type": "object" +}
2 tool updates
- Changed
gluecron_repo_search2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max results, default 20"New value: +"Max rows per page (default 20, max 50)" - added
Input schema / properties / offsetAdded value: +{ + "description": "Rows to skip. Use `nextOffset` from the previous response.", + "type": "number" +}
- Changed
gluecron_search_repos2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max results (1-100, default 30)"New value: +"Max rows per page (default 30, max 100)" - added
Input schema / properties / offsetAdded value: +{ + "description": "Rows to skip. Use `nextOffset` from the previous response.", + "type": "number" +}
2 tool updates
- Changed
gluecron_list_prs2 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "Max rows per page (default 50, max 100)", + "type": "number" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Rows to skip, for paging. Use `nextOffset` from the previous response.", + "type": "number" +}
- Changed
gluecron_repo_list_issues2 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Max results, default 25"New value: +"Max rows per page (default 25, max 50)" - added
Input schema / properties / offsetAdded value: +{ + "description": "Rows to skip, for paging. Use `nextOffset` from the previous response.", + "type": "number" +}
3 tool updates
- Changed
gluecron_get_commit1 field changed- added
Input schema / properties / include_filesAdded value: +{ + "description": "Include the files-changed summary and stats (default true). Set false to skip the diff read on very large commits.", + "type": "boolean" +}
- Added
gluecron_get_diff - Added
gluecron_security_scan
1 tool update
- Changed
gluecron_repo_read_file1 field changed- changed
Input schema / properties / ref / descriptionPrevious value: -"Branch / tag / commit (default: main)"New value: +"Branch / tag / commit. Defaults to the repository's actual default branch (which may not be 'main' — e.g. 'Main')."
60 tool updates
- First observed
gluecron_acquire_lease - First observed
gluecron_ai_cost_summary - First observed
gluecron_assign_issue - First observed
gluecron_atomic_multi_file_commit - First observed
gluecron_cancel_workflow_run - First observed
gluecron_chat_continue - First observed
gluecron_chat_with_repo - First observed
gluecron_clone_url - First observed
gluecron_close_issue - First observed
gluecron_close_pr - First observed
gluecron_comment_issue - First observed
gluecron_comment_pr - First observed
gluecron_create_agent_session - First observed
gluecron_create_branch - First observed
gluecron_create_issue - First observed
gluecron_create_pr - First observed
gluecron_delete_file - First observed
gluecron_delete_repo - First observed
gluecron_explain_repo - First observed
gluecron_find_symbol - First observed
gluecron_fork_repo - First observed
gluecron_generate_commit_message - First observed
gluecron_generate_pr_description - First observed
gluecron_generate_release_notes - First observed
gluecron_generate_tests - First observed
gluecron_get_agent_budget - First observed
gluecron_get_commit - First observed
gluecron_get_pr - First observed
gluecron_get_preview_url - First observed
gluecron_get_workflow_logs - First observed
gluecron_get_workflow_run - First observed
gluecron_label_issue - First observed
gluecron_list_prs - First observed
gluecron_list_tree - First observed
gluecron_merge_pr - First observed
gluecron_open_draft_pr - First observed
gluecron_pr_status_summary - First observed
gluecron_propose_doc_update - First observed
gluecron_propose_migration - First observed
gluecron_provision_pr_sandbox - First observed
gluecron_read_file - First observed
gluecron_refactor_across_repos - First observed
gluecron_release_lease - First observed
gluecron_reopen_issue - First observed
gluecron_repo_explain_codebase - First observed
gluecron_repo_health - First observed
gluecron_repo_list_issues - First observed
gluecron_repo_read_file - First observed
gluecron_repo_search - First observed
gluecron_request_changes - First observed
gluecron_search_issues - First observed
gluecron_search_prs - First observed
gluecron_search_repos - First observed
gluecron_semantic_search - First observed
gluecron_ship_spec - First observed
gluecron_trigger_workflow - First observed
gluecron_unlabel_issue - First observed
gluecron_update_repo - First observed
gluecron_voice_to_pr - First observed
gluecron_write_file
Related MCP Connectors
Repo intel for AI coding agents: overview, PRs, contributors, hot files, CI, deps. Remote MCP.
MCP-native AI SRE: ask what's broken in production, get a reviewed GitHub fix PR.
Git-backed platform for skills, tools, and context for AI agents
Code intelligence platform for AI agents. 20 tools for architecture, security & impact analysis.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables automated AI-powered code review for pull requests across GitHub, GitLab, Bitbucket, and Azure DevOps via webhooks, and manual code review through MCP tools using Groq, Claude, or GPT-4.1-
- AlicenseAqualityAmaintenanceSelf-hosted memory and governance layer for AI coding agents. 28 MCP tools with hybrid search, structured knowledge capture, behavioral nudges, and git-native storage. Zero cloud dependencies.306Business Source 1.1

ThinkReview MCPofficial
AlicenseNot gradedqualityAmaintenanceHosted MCP server that enables AI code reviews on GitHub, GitLab, Azure DevOps, and Bitbucket PR/MR URLs via a single tool (review_url_code), integrating with Cursor, Claude Code, Claude Desktop, and GitHub Copilot through OAuth or Bearer token authentication.1MIT- AlicenseNot gradedqualityBmaintenanceA secure and scalable Git MCP server giving AI agents powerful version control for local and (soon) serverless environments.91 npmApache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.