Skip to main content
Glama
N0moreher0
by N0moreher0

Create pull request

project_pr_create

Open a pull request or merge request for the current or specified branch on GitHub, GitLab, or Bitbucket.

Instructions

Open a pull request for the current branch (or an explicit head/base). Works with GitHub, GitLab and Bitbucket; repo/token/provider are resolved per call. Use when: the change is committed and pushed, and the user asks to open a PR/MR. Default base is the repo's default branch. Avoid when: the branch is not pushed yet (push first), or a PR for this branch already exists (use project_pr_comment). Speed: one provider API call (~1 network round trip, 2 if the default branch is not cached). Output: pr_create: repo, provider, number, url, title, state, draft, head, base, created. Batch-safe: no

Input Schema

NameRequiredDescriptionDefault
baseNoTarget branch (default: the repository default branch).
bodyNoPR description (markdown); usually a summary + test plan.
headNoSource branch (default: the current branch).
repoNoRepository as "owner/name" or a PR URL (default: VENIRA_GIT_REPO, git.repo in venira.config.json, else the workspace .git origin remote).
draftNoOpen as a draft PR.
titleYesPR title (imperative, one line).
reasonNoWhy this change is made (e.g. "sua loi null pointer o dong 45"). Recorded in the audit trail so later sessions know the intent. Single line, max 400 chars, secrets are redacted.
providerNoProvider override for this call (default: VENIRA_GIT_PROVIDER, then venira.config.json, then inferred from the origin remote).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.5.4

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare openWorldHint=true and idempotentHint=false; the description adds real context beyond them: multi-provider support (GitHub/GitLab/Bitbucket), per-call resolution of repo/token/provider, and a cost estimate of roughly one network round trip. It stops short of saying what happens on a duplicate-PR error or what auth scopes the token requires, so 4 rather than 5.

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?

Clearly front-loaded and label-scoped (Use when / Avoid when / Speed / Output / Batch-safe), so an agent can skim. Minor redundancy: the default-branch behavior is stated in the description and again in the `base` schema field, and "Batch-safe: no" is terse to the point of ambiguity.

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 an 8-parameter, no-output-schema mutation tool, the description closes the gaps the structured data leaves: it enumerates the output fields (repo, provider, number, url, title, state, draft, head, base, created), states the latency cost, and flags batch-unsafety. Nothing an agent needs in order 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 coverage is 100%, so every parameter including repo's fallback chain and provider's override order is already documented in the schema. The description only restates the default-base behavior, adding essentially nothing new. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb and resource ("Open a pull request") plus the scope (current branch or explicit head/base). An agent can immediately distinguish it from the sibling write-path tools project_pr_comment, project_pr_merge, project_pr_close, and project_pr_reopen.

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?

Explicit "Use when" (change committed and pushed; user asks to open a PR/MR) and "Avoid when" (branch not pushed — push first; PR already exists — use project_pr_comment) clauses name both the precondition and the alternative tool for the excluded case.

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