Skip to main content
Glama

search_repositories

Read-only

Search GitLab projects by query and paginate results to locate repositories when a project ID is unknown. Read-only.

Instructions

Search for GitLab projects. If the identifier is known, use a typed get or list tool. Read-only; missing resources, denied access, and rate limits return errors.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (default: 1)
queryNoSearch query (alias for 'search')
searchNoSearch query
jmespathNoOptional JMESPath expression filtering the JSON result before return.
per_pageNoNumber of items per page (max: 100, default: 20)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.1.66
    • addedInput schema / properties / jmespath
      Added value: +{
      +  "description": "Optional JMESPath expression filtering the JSON result before return.",
      +  "type": "string"
      +}
  2. Addedv2.1.18
  3. Removedv2.1.14
  4. Addedv2.1.11
  5. Removedv2.1.10
  6. Changed3 schema fields changedv2.1.9
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / query
      Added value: +{
      +  "description": "Search query (alias for 'search')",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "search"
      -]
  7. First observedv1.0.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint, so safety is covered structurally. The description adds genuinely new behavioral context by disclosing error behavior ('missing resources, denied access, and rate limits return errors'), which tells the agent how failures surface. It doesn't cover result formatting, but that's a minor gap given the annotation coverage.

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

Conciseness5/5

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

Three short sentences, zero filler, and the most decision-relevant fact (routing to typed tools) is front-loaded right after the purpose. Every sentence earns its place.

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 paginated, read-only search with a fully documented schema and no output schema, the description covers purpose, routing, and error behavior. Return-shape details are absent but partially inferable from the jmespath parameter's JSON filter; overall it is complete enough to invoke correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (page, query, search, jmespath, per_page) are already documented in the schema, including the query/search alias relationship and the per_page max. The description adds nothing about parameter semantics, so the baseline 3 is appropriate.

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

Purpose4/5

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

The description gives a specific verb+resource ('Search for GitLab projects') and immediately scopes the tool against alternatives ('If the identifier is known, use a typed get or list tool'). The only wrinkle is the terminology shift from the tool name's 'repositories' to 'GitLab projects', which is a minor ambiguity but easily reconciled for a GitLab-aware agent.

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 states the key when-not condition: if you already know the identifier, don't search – use a typed get or list tool. That is real routing guidance. It stops short of naming the exact siblings (get_project, list_projects), so it's a strong 4 rather than a 5.

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