Skip to main content
Glama

Api request

gitlab_api_request

Send custom HTTP requests to the GitLab API by specifying method, endpoint, and optional form or JSON body.

Instructions

Make a custom API request to the GitLab server.

Args: method: The HTTP method to use (GET, POST, PUT, DELETE). endpoint: The API endpoint to call. data: The data to send in the request body (for form data). json: The JSON data to send in the request body.

Returns: Response: A wrapper containing the original response and the response data (if applicable).

Raises: ValueError: If an unsupported HTTP method is provided. ParameterError: If invalid parameters are provided. HTTPError: If the API request fails.

Input Schema

NameRequiredDescriptionDefault
dataNo
jsonNo
methodYes
endpointYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv27.3.13

TDQS

B3.1/5.0
Behavior1/5

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

The description states that DELETE is an accepted method and that arbitrary request bodies are sent, while annotations declare destructiveHint=false. An agent reading this will understand the tool can perform destructive operations (DELETE/POST/PUT against arbitrary endpoints), directly contradicting the annotation. The error documentation (ValueError, ParameterError, HTTPError) is useful, but the safety-profile contradiction dominates.

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 purpose is front-loaded in the first sentence, followed by structured Args/Returns/Raises sections that map cleanly onto the actual schema. The docstring-style formatting is a little verbose but every line carries information that the bare schema lacks.

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

Completeness3/5

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

For an open-world generic HTTP tool with no output schema, the description covers methods, both body parameters, the return wrapper, and error types. It omits practically important context: endpoint path format, authentication expectations, and any caution about mutating endpoints, which matter a great deal for an arbitrary-request tool.

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 description coverage is 0%, so the description must compensate, and it largely does: it names all four parameters, lists the accepted HTTP methods (GET, POST, PUT, DELETE) that the schema leaves as an unconstrained string, and clarifies that 'data' is for form data while 'json' is for a JSON body. It does not explain the expected endpoint format (e.g., '/projects/:id' vs a full URL), which is the main remaining gap.

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 first sentence states a specific verb and resource: make a custom API request to the GitLab server. The word 'custom' implicitly distinguishes it from the hundreds of dedicated gitlab_* operation tools, but the description never explicitly says it is the escape hatch when no dedicated tool exists, and a sibling literally named 'api_request' muddies the distinction.

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

Usage Guidelines3/5

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

There is no explicit when-to-use or when-not-to-use statement, no guidance to prefer a dedicated tool first, and no note about the sibling 'api_request' tool. Usage is only implied by the word 'custom' and the contrast with the concrete operation tools in the sibling list.

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

Deploy Server

Other Tools