Skip to main content
Glama

merjax_create_deploy_token

Mint a short-lived, repository-scoped HTTPS clone credential (a deploy token) for a sandbox or CI box that has no PAT. By default it returns NO token: {id, exchangeUrl, exchangeExpiresAt, gitConfig, url}. Run the gitConfig lines right before the first clone/fetch (the URL is single-use and dies in 60 s) and git fetches the token itself, so it never enters your transcript. Read-only by default; read_only: false asks for push access and is granted only if you have write access. Expires in 2 h by default (expires_in_hours, max 24). Needs owner / collaborator / team / org access to the repo (public read is not enough) and 'repo' scope. Audit-logged. Pass token_id (an id this tool returned) for a fresh exchange URL for the same grant; each exchange rotates the secret. deliver: "token" returns a read-only secret in the result instead (refused for push access: a push-capable secret in an agent's transcript outlives the run). Revoke the grant with merjax_revoke_token {type: "deploy", id}.

Input Schema

NameRequiredDescriptionDefault
repoYesRepo name
ownerYesRepo owner — username or organisation slug
titleNoWhere the token will be used (default 'agent clone (MCP)')
deliverNo"exchange" (default): a single-use 60 s URL git's credential helper spends — the secret never appears here. "token": a read-only secret in this result (refused with read_only: false).
token_idNoA fresh exchange URL for this existing grant (one you created) instead of a new grant.
read_onlyNoDefault true. false = clone AND push (requires write access).
expires_in_hoursNoLifetime in hours (default 2, max 24, min 5 minutes)

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?

Annotations only say readOnlyHint=false and destructiveHint=false; the description supplies the behavior that actually matters — by default no secret is returned at all, the exchange URL is single-use and dies in 60 s, default lifetime 2 h with a 24 h cap, owner/collaborator/team/org access plus 'repo' scope required, and the operation is audit-logged. It also explains that each exchange rotates the secret and that push-capable secrets are refused in the transcript path. 'Read-only by default' refers to the token's grant scope and is consistent with the write-creating annotation, not a contradiction.

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?

The critical facts — what it mints, that no token is returned by default, and the 60 s single-use URL — are front-loaded, and each subsequent clause carries a distinct operational fact. It is dense but not padded; a few clauses (lifetime defaults) duplicate the schema and could be trimmed.

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 still spells out the return shape ({id, exchangeUrl, exchangeExpiresAt, gitConfig, url}), the default behavior, the alternative delivery mode, prerequisites, lifetime bounds, and the revocation path. An agent has everything it needs to call this correctly on the first attempt.

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 genuine semantics beyond the schema: why `token_id` exists (rotate the secret while keeping the same grant) and the security rationale for refusing `deliver: "token"` with `read_only: false`. It largely restates the defaults for `read_only` and `expires_in_hours` that the schema already documents, which keeps it from a 5.

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 first sentence gives a specific verb and resource — 'Mint a short-lived, repository-scoped HTTPS clone credential (a deploy token)' — plus the exact target scenario (sandbox or CI box with no PAT). That scope distinguishes it from generic token siblings like merjax_create_repo_token or merjax_clone_url without needing to name them.

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 clearly states the situation that selects this tool (no PAT available on a sandbox/CI box), when to use the gitConfig exchange flow vs. the `deliver: "token"` fallback, and when to pass `token_id` to re-mint an exchange URL for an existing grant. It also routes revocation to merjax_revoke_token. It stops short of explicitly contrasting this with other token-minting siblings, so it is a 4 rather than a 5.

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