Skip to main content
Glama

merjax_propose_pr_conflict_resolution

Idempotent

Ask AI (Opus 5.5) to PROPOSE a resolution for each conflict block of a PR's text files — the Conflicts tab's 'Propose resolutions' button. Nothing is committed: each proposal (the block's lines, an explanation, a confidence 0..1) is stored for the (base, head) pair and shown on the Conflicts tab and in merjax_list_pr_conflicts (unresolved[].proposal); accept a block with merjax_resolve_pr_conflict choices: {<hunk id>: 'ai'}, edit it with a custom choice, or pick another option, then merjax_commit_pr_conflict_resolution. Refused when the repository's merge-conflict mode is Manual only, when the PR author opted out of AI for conflicts, or when AI is unavailable (paused, not configured, over budget) — the error says which. A file over 60 KiB is reported too-large; repository text is sent as fenced data with secrets redacted. A file already proposed at this pair is not sent again unless again: true. Requires write access and 'repo' scope.

Input Schema

NameRequiredDescriptionDefault
repoYesRepo name
againNoAsk again for files that already have a proposal at this pair (default false)
ownerYesRepo owner — username or organisation slug
pathsNoOptional: only these conflicted files (default: every text file without a saved resolution)
numberYesPR number
base_shaNoOptional: baseSha from merjax_list_pr_conflicts; a moved base is refused
head_shaNoOptional: headSha from merjax_list_pr_conflicts; a moved head is refused

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Far beyond the annotations, which only say non-read-only, idempotent, non-destructive. It states nothing is committed, that proposals are stored per (base, head) pair and surfaced in list_pr_conflicts, the 60 KiB file cap, secret redaction of repository text, refusal reasons, and the required write access plus 'repo' scope.

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?

Front-loaded with the purpose and dense with no filler, but the single run-on paragraph blends output shape, workflow routing, refusal modes, and auth requirements, which makes it heavier to scan than necessary. Trimming or splitting the refusal and auth clauses would improve it without losing content.

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?

There is no output schema, yet the description specifies the proposal payload (block lines, explanation, confidence 0..1) and where it is surfaced, so an agent knows what it gets back. For a 7-parameter mutation with a multi-step follow-on workflow, nothing essential 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 description coverage is 100%, so the schema already documents again, paths, base_sha, and head_sha semantics including the moved-base refusal. The description restates the pair semantics and re-proposal behavior rather than adding new meaning, so this lands at the baseline for a fully documented schema.

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 ('Ask AI ... to PROPOSE a resolution for each conflict block of a PR's text files') and anchors it to the UI action it backs. Siblings merjax_resolve_pr_conflict and merjax_commit_pr_conflict_resolution are clearly distinguishable because the description says this only proposes and something else accepts/commits.

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?

Explicitly names the alternatives and the conditions that select them: accept via merjax_resolve_pr_conflict with choices {<hunk id>: 'ai'}, edit with a custom choice, or commit with merjax_commit_pr_conflict_resolution. It also enumerates when-not conditions (Manual-only merge mode, author opt-out, AI paused/unconfigured/over budget).

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources