Skip to main content
Glama
igordev96
by igordev96

Forget a repository

remove_repo
Destructive

Forget a project's registration to reset how it is read, optionally deleting its cached mirror. Never touches local clones; forgetting a mirror-backed project is reversible.

Instructions

Forget a project's registration. With delete_mirror, the server-side mirror is deleted as well — but only a mirror: a registered local clone is never touched, and the request is reported as ignored. Forgetting a mirror-backed project is not permanent, since the next read registers it again and clones it again if the mirror was deleted. Forgetting a local registration is how a project goes back to being read from a mirror.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNoGitLab project path, e.g. 'group/subgroup/repo'. Defaults to GITLAB_DEFAULT_PROJECT.
delete_mirrorNoAlso delete the cached mirror for this project. Never deletes a local clone. Defaults to false, which forgets the project and leaves the data on disk.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.1

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the annotations' destructiveHint=true, it discloses exactly what is destroyed (server-side mirror only; local clone never touched), that the request may be silently 'reported as ignored', and that mirror-backed forgetting is not permanent because the next read re-registers and re-clones. This is rich operational detail an agent cannot get from 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.

Conciseness4/5

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

The core action is front-loaded in the first sentence, and every following clause carries a distinct behavioral fact (mirror scope, ignored request, re-registration, local→mirror revert). The dense em-dash constructions make it slightly heavier than necessary, but nothing is padding.

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

Completeness4/5

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

For a mutation tool with no output schema, the description covers the important semantics: what gets deleted, what is immune, idempotency/reversibility. It does not mention permission or authentication requirements, which is the only notable gap.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema: delete_mirror's effect is non-permanent (re-created on next read) and applies only to mirrors, while omitting it reverts a local registration to mirror-backed reading.

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

Purpose4/5

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

The description gives a specific verb+resource ('Forget a project's registration') and immediately clarifies the scope of what is and isn't removed, which no sibling tool covers. It doesn't explicitly name add_repo/list_repos as counterparts, so it is clear but not sibling-routed.

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

Usage Guidelines4/5

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

It explains clearly what delete_mirror does and when forgetting is reversible versus how a local registration is switched back to mirror-backed reading, giving real context for choosing the flag. It stops short of an explicit when-to-use-this-instead-of alternative (e.g. add_repo, sync_repo).

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