Skip to main content
Glama
openl-tablets

OpenL MCP Server

Official

Check Project Merge

openl_check_project_merge
Read-onlyIdempotent

Check merge readiness between branches: validates merge direction, permissions, and blockers without altering Git. Know if the target is up-to-date or if source has pending changes before merging.

Instructions

Check merge direction, branch relationship, permissions, and blockers without changing Git. This is not a conflict preview: status='mergeable' means the source has changes absent from the target, not that the merge is conflict-free; conflicts are discovered only by openl_merge_project_branches. status='up-to-date' means the target already contains the source. canMerge reports whether Studio permits the attempt after permission, protection, and lock checks. mode='receive' merges otherBranch into the project's current branch; mode='send' merges the current branch into otherBranch. Discover merge targets with openl_list_project_branches(scope='repository'), because a valid target may not hold the project yet.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYesreceive merges the other branch into the project's current branch; send merges the current branch into otherBranch.
projectIdYesProject ID returned by backend. Use the exact 'projectId' value from openl_list_projects() response without modification or reformatting.
otherBranchYesThe other branch: source for receive mode, target for send mode. Discover all merge targets with openl_list_project_branches(scope='repository').
response_formatNoResponse format: 'json' for structured, round-trippable data (default), 'markdown' for human-readable output, 'markdown_concise' for a brief summary (1-2 paragraphs), or 'markdown_detailed' for full details with contextjson
Behavior5/5

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

Even though annotations already declare readOnlyHint, idempotentHint, and openWorldHint, the description adds valuable behavior: 'without changing Git,' precise semantics of status='mergeable' vs 'up-to-date,' and what canMerge reflects after permission/protection/lock checks. No contradiction with annotations.

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?

Four tightly packed sentences, no filler; the most important discriminator ('not a conflict preview') appears early. Each sentence adds a distinct piece of information needed to use the tool correctly.

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 a read-only check tool with no output schema, the description covers the outcome semantics (status, canMerge), mode direction, permissions/blockers, and target discovery. An agent has enough to select and invoke it correctly without needing to infer behavior.

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 100%, so the baseline is 3, but the description adds meaningful parameter context: mode receive/send direction, otherBranch as source or target depending on mode, and the discovery path for valid otherBranch values. ProjectId and response_format are already well described in the 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?

Description opens with a specific verb and resource: 'Check merge direction, branch relationship, permissions, and blockers without changing Git.' It distinguishes itself from openl_merge_project_branches by explicitly stating it is not a conflict preview, so an agent can differentiate it from the sibling merge tool.

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?

The description states when this tool is appropriate (pre-merge check, no mutation) and when it is not ('This is not a conflict preview'), pointing to openl_merge_project_branches for conflict discovery. It also directs the agent to openl_list_project_branches(scope='repository') to discover targets, including the caveat that a valid target may not hold the project yet.

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

Install Server

Other Tools

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/openl-tablets/openl-mcp'

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