Skip to main content
Glama

Hunt the code a repository changed recently (one-off scan)

scan_repo

A one-off bug hunt over the code a GitHub repository changed in its last days days (default 30) – no pull request, no diff from you: the server reads the history from GitHub, clones the repository and runs a deep hunt (up to 150 minutes) over the window's changed code – a large window split by the hunt into packages – and its findings come back as one deduplicated list; for a split window get_findings says how many of the files the hunt opened when it left some unopened, or that it was not measured. Use it when the user asks to scan / hunt / check their repository, or to try OhMyBug right after installing it. It is NOT a merge gate and records nothing for one. Billing and the rest of the flow are submit_review's: poll get_findings, verify every finding, confirm_findings before fixing; the deep price ($12, or $24 on a wide change) only if a medium+ bug is confirmed. One scan per repository per 24 hours.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "repo": "<repo>"
    },
    "name": "scan_repo"
  }
}

Input Schema

NameRequiredDescriptionDefault
refNoThe pushed commit (full sha) or branch to scan up to; default: the repository's default branch.
daysNoHow far back the window reaches, in days (default 30).
repoYesowner/name on GitHub. The OhMyBug GitHub App must be installed on it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations supplied, the description carries the full burden and does so: it discloses that the server reads history from GitHub and clones the repo, a runtime of up to 150 minutes, that large windows are split into packages with unopened files reportable via get_findings, a rate limit of one scan per repository per 24 hours, and a billing model ($12, or $24 on a wide change, charged only if a medium+ bug is confirmed). These are precisely the behavioral facts an agent needs before committing a user to a long, paid operation.

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

Conciseness3/5

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

The purpose is front-loaded in the first clause, but the whole definition is a single long semicolon-chained sentence that packs runtime, split-window reporting, billing, and sequencing into one block. Every fact earns its place, yet the lack of sentence breaks makes the routing and cost information harder to scan than it should be.

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

Completeness5/5

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

For a long-running, paid, asynchronous operation with no output schema and no annotations, the description covers the prerequisites (GitHub App installed), the execution model (clone + deep hunt over the changed window), the result shape (one deduplicated list), the polling path (get_findings), and the cost/rate constraints. Nothing needed to call it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so repo/ref/days are already fully documented, and the description mostly restates them (days default 30). The only added semantic is that the window is bounded and large windows get split, but that is output behavior rather than parameter meaning. Baseline 3 applies.

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

Purpose5/5

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

The description names a specific verb and resource — a one-off bug hunt over the code a GitHub repository changed in its last `days` days — and immediately scopes it away from the sibling flow: 'no pull request, no diff from you', which is exactly what distinguishes it from submit_review. An agent can select this without opening the schema.

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

Usage Guidelines5/5

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

It states the triggering user intents explicitly ('scan / hunt / check their repository', 'try OhMyBug right after installing it') and states the negative case ('It is NOT a merge gate and records nothing for one'). It also routes the follow-on flow to siblings by name: poll get_findings, verify, confirm_findings before fixing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.