Skip to main content
Glama

Open a Git push

create_push

Open a Git push on a website, app, agent, or skill that exists, named by name: a branch of its repository, writable for one hour, that you push source to before you publish. Use it when you can run git with network access; it sends only what changed, so a large service publishes without carrying its files through the conversation. Otherwise publish with files. The service must exist first: create_service makes it. The result carries a Git URL with a credential, the push's id and branch, the commit it starts from, the name and email to commit as, and two recipes with every value filled in: clone the branch and edit, or push a directory as it stands. The limits name the most files, the largest file, and the largest total size a publish may hold; a push over them is refused. Run a recipe, then call publish_site, publish_app, publish_agent, or publish_skill with push: {id, commit}, where commit is the sha the recipe prints. Only you can publish a push you opened. The URL writes only this push's branch, cannot force-push, and expires with the push; do not share or log it. A service holds ten open pushes at once. Requires connecting a Valet account.

Input Schema

NameRequiredDescriptionDefault
nameNoThe website's, app's, agent's, or skill's name.
org_nameNoThe Valet organization it belongs to. Omit to use the organization the account joined first.
idempotency_keyNoAn opaque key of your choosing. Repeating a call with the same key returns the same push, with a fresh URL, instead of opening a second one, which makes a retry safe.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / name / description
      Previous value: -"The service's name, for a push to a website, app, or agent. Pass name or skill, not both."New value: +"The website's, app's, agent's, or skill's name."
    • removedInput schema / properties / skill
      Removed value: -{
      -  "description": "The skill's name, for a push to an organization skill. Pass name or skill, not both.",
      -  "type": "string"
      -}
  2. Changed3 schema fields changed
    • changedInput schema / properties / name / description
      Previous value: -"Required. The service's name."New value: +"The service's name, for a push to a website, app, or agent. Pass name or skill, not both."
    • addedInput schema / properties / skill
      Added value: +{
      +  "description": "The skill's name, for a push to an organization skill. Pass name or skill, not both.",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "name"
      -]
  3. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say it is a non-read-only, non-idempotent, non-destructive, closed-world call; the description goes far beyond that by disclosing the one-hour writable window, credential-bearing URL, expiry, no-force-push, no-sharing/logging warning, ten-open-push cap, file/size limits that cause refusal, ownership rule, and Valet account requirement. This is exactly the extra behavioral context annotations cannot carry.

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?

It is a single dense paragraph, but the core action is front-loaded and the later clauses (result contents, limits, publish step, credential warning) each carry distinct information. A few clauses could be split for readability, yet no sentence is pure 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?

With no output schema, the description fully compensates by enumerating the result payload (Git URL with credential, push id, branch, starting commit, commit name/email, two filled-in recipes) plus limits, ownership and account requirements. An agent has everything needed to invoke it and use the result.

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 name, org_name and idempotency_key are already documented in the schema (including the retry-safety semantics of the key). The description adds only the 'must exist' precondition for name and does not extend parameter meaning further, so the baseline 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?

States a specific verb and resource (open a Git push) and scopes it precisely to an existing website/app/agent/skill, with the branch/one-hour/credential nature made explicit. It is instantly distinguishable from create_service (which creates the service) and publish_* (which consume the push).

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 when-to-use ('when you can run git with network access'), when-not ('Otherwise publish with files'), prerequisites ('The service must exist first: create_service makes it'), and the follow-up call (publish_site/publish_app/publish_agent/publish_skill with push:{id, commit}). Nothing about the workflow is left to inference.

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