Skip to main content
Glama

codemerge_merge

Acquire a merge lock and verify the main HEAD to merge code without race conditions. Returns proceed=False when main moved or another session holds the lock.

Instructions

Acquire the merge lock and proceed with merging.

Uses compare-and-swap on main HEAD to prevent races. If main has moved since check, returns proceed=False with reason='main_moved'. If another session holds the lock, returns proceed=False with reason='lock_held'.

Args:

  • session_id: The merge session ID

  • expected_main_head: The main HEAD SHA recorded during codemerge_check

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
session_idYes
expected_main_headYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.2.2

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does this well by explaining the lock acquisition, compare-and-swap race prevention, and the two concrete declined-proceed outcomes. It stops short of detailing success-side effects or what happens to the session after a successful merge.

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?

The description is compact and well structured: purpose first, then behavioral guarantees, then parameter definitions. Every sentence earns its place and there is no redundant filler.

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?

Given the output schema exists and the operation has only two parameters, this description covers what an agent needs to invoke the tool correctly. It explains the required expected_main_head provenance, the locking semantics, and the reasons a call may decline to merge.

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 coverage is 0%, so the description must compensate. It provides useful glosses for both parameters, especially expected_main_head, which it correctly anchors to the value recorded during codemerge_check. session_id is explained only trivially as 'the merge session ID', but the overall semantic guidance is adequate.

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?

The description states a specific action with clear resource scope: acquire the merge lock and proceed with the merge. It further distinguishes this from other codemerge_* siblings by describing CAS on main HEAD and referencing the codemerge_check flow.

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?

The description clearly indicates this is the merge execution step that follows codemerge_check, evidenced by expected_main_head being the SHA recorded during that check. It explains failure conditions, but does not explicitly name alternatives or state when not to use this tool.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/faxik/codebugs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server