Skip to main content
Glama

Tag, push and release

tag_and_release

Create a version tag from the manifest and push the branch and tag. Then publish a GitHub release with changelog notes unless the repo's release workflow already handles it.

Instructions

Create tag v from the manifest, push the branch and tag, and create the GitHub release with notes from CHANGELOG.md unless the repo's release.yml already does that on tags. Never moves or deletes tags.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dirYesProject folder (absolute path, or relative to the server's working directory).
versionNoMust match the manifest; defaults to it.
createReleaseNoDefault: create the release here only when .github/workflows/release.yml doesn't create one. Pass true or false to force.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.3.0
    • removedInput schema / properties / createRelease / default
      Removed value: -false
    • changedInput schema / properties / createRelease / description
      Previous value: -"Create the GitHub release here (repo-only projects). For 'both', release.yml creates it."New value: +"Default: create the release here only when .github/workflows/release.yml doesn't create one. Pass true or false to force."
  2. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare destructiveHint=false and openWorldHint=true (network push/release), and the description adds genuinely useful context: release notes come from CHANGELOG.md, the release step is skipped when release.yml already handles tags, and the tag is never moved or deleted. It doesn't mention authentication requirements or what happens on a failed push, but the mutation and safety profile are well disclosed.

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?

A single dense sentence with the core action front-loaded and the safety invariant ('Never moves or deletes tags') placed at the end for emphasis. Slightly long and clause-heavy, but every clause carries information.

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

Completeness4/5

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

For a side-effecting tool with no output schema, the description covers the full sequence, the conditional release step, and the tag immutability guarantee. It omits prerequisite state (clean tree, required remote/auth) and failure behavior, which an agent orchestrating with git_commit and publish_package would benefit from.

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 dir, version, and createRelease are already documented in the schema, including the 'must match the manifest' constraint and the createRelease defaulting rule. The description reinforces but does not add meaning beyond those structured fields, so the baseline of 3 applies.

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 specific verbs and resources: creating a tag v<version> from the manifest, pushing branch and tag, and creating a GitHub release from CHANGELOG.md notes. This is clearly distinguishable from siblings like bump_version (which only edits the version), git_commit (which commits), and publish_package (which publishes to a registry).

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?

It gives a clear conditional: release creation is performed here only when the repo's release.yml doesn't already create one on tags. However, it never names the alternative tools (e.g. bump_version before this, or publish_package after) or states prerequisites such as a clean working tree, so the agent must infer the ordering.

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