Skip to main content
Glama

pr_open

Creates a pull request in a Forgejo repository, merging a head branch into a base branch with a title and optional description.

Instructions

Open a pull request

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>",
      "head": "<head>",
      "title": "<title>"
    },
    "name": "pr_open"
  }
}

Input Schema

NameRequiredDescriptionDefault
baseNomain
bodyNo
headYes
repoYesowner/name
titleYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden and discloses nothing: it does not say whether the head branch must already be pushed, whether it fails when an open PR already exists, whether it mutates remote state, or what permissions are required. For a write operation creating a remote resource, this is a serious gap.

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

Conciseness2/5

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

The sentence is short but that brevity reflects under-specification rather than economy; it is essentially a restatement of the tool name with no front-loaded information an agent could act on.

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

Completeness1/5

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

A mutation tool with five parameters, three of them required, no annotations, no output schema, and 20% schema coverage needs a far richer description. Nothing tells the agent how to invoke it correctly or what to expect on success or failure.

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

Parameters1/5

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

Schema coverage is only 20% (only 'repo' is described as owner/name), and the description contributes nothing about the five parameters. The critical 'head' format (branch name vs owner:branch), the 'base' default of main, and the role of 'title' and 'body' are undocumented in both places.

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

Purpose2/5

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

The description restates the tool name: 'pr_open' becomes 'Open a pull request' with no added scope, target, or distinguishing detail. An agent learns only that a pull request is created, with nothing that separates it from pr_merge, pr_status, or git_push beyond the noun.

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

Usage Guidelines1/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives such as pr_status for checking an existing PR or git_push for getting commits onto the remote first. The agent must infer the entire workflow from sibling names alone.

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