com.gluecron/gluecron
name:com.gluecron/gluecron
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
- transport:
- remote
- credential class:
- self-provisionable
Owner verification
Not yet verified. Verifying proves you control this server and is free, permanently — it never changes a published score.
Start verification →Tools
- gluecron_acquire_leaseshallow
Grab an exclusive lease on a target (e.g. a PR or branch) for an agent session. Returns null when another agent holds an active lease.
- gluecron_ai_cost_summaryshallow
Return AI spend rollups. Scope by one of: user_id (self), repo {owner,repo}, or agent_session_id. Defaults to caller's user spend.
- gluecron_apply_patchshallow
Commit a patch to a branch without sending whole files — the way to change a few lines of a large file. `patch` is a unified diff as `git diff` prints it (one commit, `message` required) OR `git format-patch` mbox output (each patch becomes its own commit with the patch's own message and author, like `git am`; `message` is ignored). Applied server-side with `git apply --cached` against the branch head (created from `base_branch` if missing); `expected_head_sha` makes it compare-and-swap (all zeros = branch must not exist yet). Meets the same branch protection, rulesets and secret scan as a git push, and fires CI/webhooks like one. Patch limit 2 MiB. Requires 'repo' scope. Returns {branch, commit_sha, parent_sha, files_changed, files, commits, created}.
- gluecron_approve_prshallow
Approve a pull request: records an 'approved' review by the caller — the same review the web form and POST /api/v2/repos/:owner/:repo/pulls/:number/reviews write, so it counts toward branch protection's required approvals and clears the caller's own earlier request for changes. The PR must be open; its author cannot approve it. Requires write access and 'repo' scope. To request changes use gluecron_request_changes. Returns {reviewId, number, state, url}.
- gluecron_assign_issueshallow
Assign an issue to a user. Gluecron does not yet have a dedicated assignee table; assignment is modelled as an `assignee:<username>` label so it integrates with existing label tooling. Requires 'repo' scope.
- gluecron_atomic_multi_file_commitshallow
Apply a set of file writes + deletes as a single atomic commit on a branch (creates the branch if it doesn't exist). The killer agent tool: blob/tree/commit/ref-update sequence. Each change is `{path, content?, content_base64?, deleted?}`. Requires 'repo' scope.
- gluecron_cancel_workflow_runshallow
Cancel a queued/running workflow run. Requires 'repo' scope.
- gluecron_chat_continueshallow
Send another message to an existing repo chat. Returns the assistant's reply.
- gluecron_chat_with_reposhallow
Start a new chat with a repo: creates a chat row, sends the first user message, streams + persists the assistant reply. Returns {chat_id, reply}. Requires authentication.
- gluecron_ci_queue_statusshallow
How full the shared CI queue is, and what to do about it: level (ok / busy / saturated), runs queued and running, runner slots, estimated minutes before a new run starts, and — with owner+repo — that repository's queued/running runs, its share of CI work, the slots it may hold while others wait, and a recommendation (e.g. batch changes into fewer pushes). The same `ciQueue` block the write tools return. Ask before a burst of pushes. Read-only.
- gluecron_clone_urlshallow
Return the authenticated HTTPS clone URL for a repo + a credential-helper hint. Use this instead of embedding tokens in URLs. Returns {url, hint}.
- gluecron_close_issueshallow
Close an open issue. Requires authenticated caller with write access. Idempotent — closing an already-closed issue is a no-op. Returns {state}.
- gluecron_close_prshallow
Close an open pull request without merging. Requires authenticated caller with write access. Idempotent. Returns {state}.
- gluecron_comment_issueshallow
Add a comment to an existing issue. Requires authenticated caller with write access. Returns {commentId}.
- gluecron_comment_prshallow
Add a comment to a pull request. Requires authenticated caller with write access. Returns {commentId}.
- gluecron_create_agent_sessionshallow
Mint a new agent-multiplayer session. Returns the plaintext `token` exactly once (store it). Requires 'admin' scope.
- gluecron_create_branchshallow
Create a new branch ref pointing at an existing sha. Mirrors POST /api/v2/repos/.../git/refs. Requires 'repo' scope. Returns {ref, sha}.
- gluecron_create_deploy_tokenshallow
Mint a short-lived, repository-scoped HTTPS clone credential (a deploy token) and return it once with a ready clone URL — for a sandbox or CI box that has no PAT. 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. Returns {id, title, readOnly, expiresAt, token, cloneUrl, url}.
- gluecron_create_issueshallow
Create a new issue on a Gluecron repository. Requires authenticated caller with write access on the target repo. Returns {number, url}.
- gluecron_create_prshallow
Open a new pull request. `head_branch` is required; `base_branch` defaults to the repo default branch. Requires authenticated caller with write access. Returns {number, url}.
- gluecron_create_repo_tokenshallow
Mint a fine-grained repository token (`gcft_…`) for ONE repository and return it once. It authenticates the REST API (/api/v2 and the GitHub-compatible /api/v3), git over HTTPS and the container registry (images under owner/repo, by contents) for that repository only. `permissions` sets none/read/write for contents, issues, pull_requests, statuses and actions (admin and settings are never grantable); `expires_in` is optional: omit it (or "never") for no expiration, or give seconds or "30m", "12h", "7d", "1y" (min 5 minutes, max 1 year). Effective access is always held to YOUR current access to the repo, re-checked on every use, and branch protection applies as it does to you. Needs 'repo' scope. Audit-logged. Returns {id, name, repository, permissions, expiresAt, tokenPrefix, token}.
- gluecron_create_runner_registration_tokenshallow
Create a one-time CI runner registration token for an owner (your username, an org you own or admin, or 'platform' as a site admin). A runner started with RUNNER_REGISTRATION_TOKEN=<token> registers once and gets its own long-lived credential; that owner's CI then runs on it. Expires in an hour. Returns {owner, token, expiresAt, gluecronUrl}.
- gluecron_delete_fileshallow
Delete a file from a branch via git plumbing. Requires the existing blob sha (optimistic concurrency) and 'repo' scope. Mirrors DELETE /api/v2/contents.
- gluecron_delete_reposhallow
Permanently delete a repository row (git data on disk is left untouched). Owner-only. Requires 'admin' scope. Returns {deleted: true}.
- gluecron_dismiss_reviewshallow
Dismiss the standing 'changes requested' reviews on a PR (all of them, or one reviewer's), so they no longer hold the merge. Requires 'repo' scope and write access; the reason is required and audited.
- gluecron_explain_failureshallow
Explain a failed CI run: for each failed step, its class (compile / test / flaky / dependency / env / infra / lint / security / unknown) and the rule that chose it, the normalised error signature, failing tests, the files the commit touched, prior occurrences of the same failure (this repo, your other repos with the same owner or org, and platform-wide counts only) with the fix rate, and a suggested fix — the commit / PR that fixed it last time plus its diff limited to the relevant files, or the class's standard remedy. Infra and flaky failures never suggest a code change. `run_id` is the run's full id; with `owner` + `repo` an 8+ hex prefix also works.
- gluecron_explain_reposhallow
Return the cached AI 'explain this codebase' Markdown for a repo. Pure read — never triggers a new generation (use the web UI for that).
- gluecron_find_symbolshallow
Find definitions of a symbol by name within a repo. Wraps src/lib/symbols.findDefinitions.
- gluecron_fork_reposhallow
Fork a repository to the authenticated caller's namespace. Mirrors POST /:owner/:repo/fork. Returns {owner, repo, url}. Requires 'repo' scope.
- gluecron_generate_commit_messageshallow
Generate a commit message for a diff. Same engine as gluecron_generate_pr_description but explicit for the commit-message use case.
- gluecron_generate_pr_descriptionshallow
Generate an AI commit-message-style description for a diff. Uses src/lib/ai-commit-message.ts under the hood; gracefully degrades to a heuristic when ANTHROPIC_API_KEY is missing. Returns {subject, body}.
- gluecron_generate_release_notesshallow
Generate release notes between two tags. Wraps src/lib/ai-release-notes.generateReleaseNotes. Returns the rendered Markdown + section data.
- gluecron_generate_testsshallow
Generate tests for a PR via Claude. Wraps src/lib/ai-test-generator.generateTestsForPr. Mode 'follow-up-pr' opens a new PR; 'append-commit' commits onto the head branch. Requires 'repo' scope.
- gluecron_get_agent_budgetshallow
Return spent / cap / remaining cents for an agent session.
- gluecron_get_branch_protectionshallow
Read the branch-protection rule that applies to a branch (exact name or the glob that covers it): required checks, require_pr_run, required approvals, AI / human review, green gates, force-push / deletion, auto-merge. Read-only. Returns {protected: false} when no rule applies, else {protected: true, pattern, matched_by, required_checks, …}.
- gluecron_get_commitshallow
Fetch a single commit's metadata by SHA. Mirrors GET /api/v2/repos/.../commits/:sha.
- gluecron_get_diffshallow
Read the actual changes in a commit or a branch range. Pass `sha` for one commit against its first parent, or `base`+`head` for everything head adds since the merge base (what a PR proposes). Returns {files:[{path, oldPath?, status, additions, deletions, binary, patch, patchTruncated}], stats, truncated}. Patch text is byte-capped; set include_patch=false for a files-changed summary only.
- gluecron_get_prshallow
Fetch the full detail record of a pull request (title, body, state, branches, draft, author, timestamps). Authenticated callers only (the read tool surface still works anonymously).
- gluecron_get_pr_checksshallow
List every check at a PR's current head — workflow runs, gates and commit statuses — with status, conclusion, whether branch protection requires it, and the run's log URL; plus each required check's state (passing / pending / failing / missing) and the merge gate's own CI verdict. Read-only. Returns {head_sha, total_count, check_runs, required, ci}.
- gluecron_get_preview_urlshallow
Return the branch-preview URL + status for a (repo, branch) pair. Wraps branch-previews.getPreviewForBranch. Returns {ok:false, reason:'not enabled on this host'} when the host has no PREVIEW_DOMAIN (no preview would ever resolve).
- gluecron_get_tokenshallow
One of your tokens by type and id (from gluecron_list_tokens): everything list shows plus the audit trail (create, edits with a before/after diff, rotations, revocation). Never the secret. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). Same scopes as gluecron_list_tokens.
- gluecron_get_workflow_logsshallow
Return concatenated per-job logs for a workflow run, plus per-job metadata. JSON-friendly companion to the ZIP-download endpoint.
- gluecron_get_workflow_runshallow
Fetch a workflow run's metadata + status. Mirrors GET /api/v2/repos/.../actions/runs/:id.
- gluecron_handovershallow
Start here when picking up work: the live state of a repository, read from git and CI rather than from a handoff doc. Returns `summary` (one paragraph), `blockers` (most urgent first), the default branch's CI per workflow (red streak, since when, last green run), the build this Gluecron instance serves and how many commits it is behind (when it is this repository), every open PR grouped green / pending / failing / draft as the merge gate judges it, PRs merged in the last `merged_since_hours` (default 48), and the CI queue. Read-only.
- gluecron_import_actionshallow
Site admins only (needs an 'admin'-scoped token). Import a third-party GitHub Action at ONE tag, branch or full commit SHA into the Gluecron mirror namespace (gluecron-actions/<owner>--<repo>), so workflows that say `uses: owner/repo@ref` can run it. Workflow runs never fetch from github.com; an action that is not imported is skipped. Re-importing the same ref updates it to what upstream has now. Audit-logged. Returns {action, ref, sha, previousSha, mirror, upstreamUrl, hasActionYml}.
- gluecron_label_issueshallow
Attach one or more labels to an issue. Labels are created if they don't yet exist on the repo. Requires 'repo' scope. Returns {labels}.
- gluecron_list_flaky_testsshallow
List a repository's flaky tests. A test is flaky only with a forensic repro: when it failed, CI re-ran just that test in the same order, alone, with the clock shifted +137 ms and +1 s, in TZ=Pacific/Chatham and in a fixed random order, and a variable flipped its verdict N times in a row on the same git tree. Each entry has the test, file, state (active / expired / resolved, or unexplained = flipped with no repro, NOT flaky), label (clock-dependent, order-dependent, concurrency-dependent), the variable, the exact repro command, owner, expiry, issue number, flip rate and evidence runs. Information only — flaky tests are never skipped or quarantined; one targeted retry, and the merge gate excuses a failure only when that retry passed in the same run and the label is active.
- gluecron_list_pr_commentsshallow
List every comment on a pull request in chronological order: general comments (kind `issue_comment`), inline review comments (`review_comment`: path, line, thread {id, inReplyToId, position, replies, resolved, resolvedAt, resolvedBy}) and review summaries (`review`: state approved | changes_requested | commented). Each entry has author {login, type user|bot}, isAi (written by an AI reviewer), body, createdAt, updatedAt. A review thread is the inline comments on one file+line; the earliest is its root and holds the resolved state. Gluecron does not store a review comment's commit or diff side, so `commitId` and `side` are always null. Only approved (moderated) comments; unsubmitted draft reviews are private to their author and not listed. `kind`: all (default) | issue | review (review comments + review summaries). `since`: ISO-8601 — only entries updated at or after it. Paged: `total` is the full filtered count, `nextOffset` pages through it. Works anonymously on public repos; private repos need read access.
- gluecron_list_prsshallow
List pull requests on a repo, filtered by state (open|closed|merged|all). Authenticated callers only. Returns up to 50 summary rows.
- gluecron_list_repo_secretsshallow
List a repository's workflow secrets — NAMES ONLY, with created/updated times; values are never returned. Use it to check that a secret such as CRON_SECRET exists before a workflow needs it. Needs admin access to the repository and 'repo' scope. Returns {repository, total_count, secrets:[{name, created_at, updated_at}]}.
- gluecron_list_repo_tokensshallow
List the fine-grained repository tokens you have minted (never the secret): repository, permissions, state (active / expired / revoked), expiry and last use. Needs 'repo' scope.
- gluecron_list_runnersshallow
List the CI runners registered to an owner (username, org slug, or 'platform'): id, name, url, labels, slots, online, last seen, revoked; allowSharedOverflow (the setting); and sharedLane, whether the owner's jobs actually run on shared runners: 'used (no own runners)', 'overflow allowed' or 'not used (own runners only)', explained in sharedLaneDetail.
- gluecron_list_tokensshallow
List your own tokens (never a secret): type, name, status (active / expiring / expired / revoked / never_used / stale), last 4 characters, scopes or permissions, repository, expiry, last use (time, IP, client), use count and rotation state. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_), or omit it for all three (types your token's scopes cannot read are listed under `omitted`). PATs need 'user' scope to read; repository and deploy tokens need 'repo'.
- gluecron_list_treeshallow
List directory contents at a ref. Optionally `recursive: true` returns the full file list. Mirrors GET /api/v2/repos/.../tree/:ref.
- gluecron_list_workflow_runsshallow
List a repository's workflow runs, newest first, with optional branch/status/event filters. Mirrors GET /api/v2/repos/.../actions/runs. The companion to gluecron_get_workflow_run / gluecron_cancel_workflow_run — this is how an agent finds the run ids to inspect or cancel (issue #10493: without it, stale queued runs could not be discovered from the tool surface at all).
- gluecron_merge_prshallow
Merge an open PR. Enforces the same checks as the HTTP merge flow: not a draft, head SHA resolves, GateTest+AI-review hard gates pass, branch-protection rules satisfied. M3: soft-blocks when the pre-merge risk score is `critical` unless `confirm_high_risk: true` is passed. Returns {merged, sha?, reason?, riskScore?}.
- gluecron_open_draft_prshallow
Open a draft pull request. Same payload as gluecron_create_pr but forces is_draft=true. Useful for AI-in-progress PRs that shouldn't run mergeability checks yet.
- gluecron_pr_status_summaryshallow
Compute a one-shot status summary for a PR: state, risk score, AI-review verdicts (trio), gate signals. Read-only.
- gluecron_prioritize_workflow_runshallow
Move a QUEUED workflow run into the priority lane: the runner claims it ahead of the fair-share order across repositories (issue #10898). Only queued runs; a running or finished run is reported, not changed. Requires 'repo' scope and write access.
- gluecron_propose_doc_updateshallow
Manual trigger for the AI doc-update flow: scans tracked sections on the default branch and opens a PR rewriting stale prose. Requires 'repo' scope.
- gluecron_propose_migrationshallow
Propose a dependency-upgrade PR. Wraps src/lib/migration-assistant.proposeMajorMigration. Requires 'repo' scope.
- gluecron_provision_pr_sandboxshallow
Provision (or re-provision) a sandbox for a PR. Wraps pr-sandbox.provisionSandbox. Requires 'repo' scope. Returns {ok:false, reason:'not enabled on this host'} when no sandbox provisioner runs on the host.
- gluecron_read_fileshallow
Read a file from a repo at a given ref. Mirrors GET /api/v2/repos/:owner/:repo/contents/:path. Returns {path, size, content, encoding}.
- gluecron_refactor_across_reposshallow
Plan + execute a refactor that spans multiple repos owned by the caller. Wraps src/lib/multi-repo-refactor.ts. `dry_run: true` returns the plan only. Requires 'repo' scope.
- gluecron_release_leaseshallow
Release a lease by id. Idempotent. Returns {released}.
- gluecron_reopen_issueshallow
Reopen a previously closed issue. Requires authenticated caller with write access. Idempotent. Returns {state}.
- gluecron_repo_explain_codebaseshallow
Return the cached AI 'explain this codebase' Markdown for a public repo (most recent commit). Returns null when no cached explanation exists yet.
- gluecron_repo_healthshallow
Compute the current health report for a public repo: overall score (0-100), letter grade, per-category breakdown (security/testing/complexity/dependencies/documentation/activity), and a list of insights to fix next. Backed by computeHealthScore in src/lib/intelligence.ts.
- gluecron_repo_list_issuesshallow
List open issues for a public repository. Returns up to 50 ordered by most-recent.
- gluecron_repo_read_fileshallow
Read a single file from a repository at a given ref (branch / tag / commit). Private repos are readable when the authenticated caller has access. Returns the text content (binary files rejected).
- gluecron_repo_searchshallow
Search Gluecron repositories by keyword (name + description). Returns public repos plus any private repos owned by the authenticated caller. Up to 20 results.
- gluecron_request_changesshallow
Post a 'changes requested' AI-review comment on a PR. The comment is tagged with isAiReview=true so the gate-checker recognises it. Requires 'repo' scope.
- gluecron_rerun_failed_jobsshallow
Re-run a failed or cancelled workflow run at the SAME commit (same inputs, same PR merge preview) — the run page's Re-run. Gluecron re-runs every job of the run (per-job re-run does not exist yet); a successful or still-running run is refused. Joins an identical queued run instead of stacking another. Requires write access and 'repo' scope. Returns {runId, previousRunId, joinedExistingRun, url}.
- gluecron_review_deploymentshallow
Approve or reject a workflow run's jobs waiting on a protected environment (`environment:` with required reviewers). The caller must be a reviewer of every environment selected (the environment's reviewers, or the repository owner when none are listed). An approval runs the job (after the environment's wait timer, if any); a rejection fails it. Mirrors POST /api/v2/repos/.../actions/runs/:id/pending_deployments. Requires 'repo' scope.
- gluecron_revoke_repo_tokenshallow
Revoke one of your fine-grained repository tokens by id (from gluecron_list_repo_tokens). It stops working on its next use. Needs 'repo' scope. Audit-logged.
- gluecron_revoke_runnershallow
Revoke a CI runner by id: nothing is dispatched to it from now on, its next heartbeat is refused and it stops accepting jobs. Cannot be undone — register a new runner instead. Returns {id, revoked}.
- gluecron_revoke_tokenshallow
Revoke one of your tokens by type and id. It stops working on its next use; this cannot be undone. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). PATs need 'admin' scope; repository and deploy tokens need 'repo'. Audit-logged.
- gluecron_rotate_tokenshallow
Rotate one of your tokens: mint a new secret with the same name, scopes / permissions, repository and expiry, returned ONCE as `token`. `grace_seconds` (default 0, max 604800 = 7 days) keeps the old secret working that long; 0 kills it now. Rotating again ends an earlier grace period. `expected_rotation_count` (from gluecron_get_token's rotationCount) makes it compare-and-swap; two concurrent rotations never both win. `type` is pat (personal access token, glc_), repo (repository token, gcft_) or deploy (deploy token, gcdt_). PATs need 'admin' scope; repository and deploy tokens need 'repo'. Audit-logged.
- gluecron_search_codeshallow
Literal / regex code search (git grep, basic regex) across a repo at a ref. The dependable way to find code on this host — works on every repo, indexed or not. Returns {owner, repo, ref, total, truncated, matches: [{file, line, text}]}. Omit `ref` for the default branch.
- gluecron_search_issuesshallow
Search issues by title/body keyword on a single repo, filtered by state. Returns ranked rows.
- gluecron_search_prsshallow
Search pull requests by title/body keyword on a repo.
- gluecron_search_reposshallow
Full-text search of public repositories by name/description. Mirrors GET /api/v2/search/repos. Returns ranked rows.
- gluecron_security_scanshallow
Everything Gluecron actually knows about a repository's security, in one honest call: OSV.dev CVE/GHSA advisories against the indexed dependency graph (with FIXED VERSIONS), Gluecron's supplemental advisory list, a full-tree committed-secret scan, and optionally a Claude semantic code review. Unlike gluecron_repo_health, an empty result is NEVER reported as a pass: every category returns status 'assessed' | 'partial' | 'not_assessed' | 'error' with a machine-readable reason code, so you can tell 'we checked and it is clean' from 'we never looked'. In particular, a repo whose dependency graph was never indexed returns dependency_advisories.status='not_assessed' (reason 'dependency_graph_not_indexed'), not an empty advisory list. Read-only.
- gluecron_semantic_searchshallow
Query the per-repo vector index (Voyage embeddings when configured, hash fallback otherwise). Wraps src/lib/semantic-search.searchRepository.
- gluecron_set_auto_mergeshallow
Arm (enabled: true) or disarm (enabled: false) auto-merge on one PR: it merges by itself through the full gated merge chain (CI, required checks, branch protection, CODEOWNERS, risk) once CI and every required check are green and no reviewer with write access has changes requested. Stays armed while anything is pending; `last_attempt.reason` says what it waits for. Requires write access and 'repo' scope. merge_method: 'merge' only. Returns {number, auto_merge}.
- gluecron_set_branch_protectionshallow
Set branch protection for one branch (partial update: fields you omit keep their value). Edits the rule named exactly after the branch; when only a glob rule covers it, a new exact rule is created seeded from the glob's settings and checks. required_checks replaces the required-check list ([] clears it). require_pr_run: a required check that names a workflow is met only by that workflow's pull_request run. Requires ADMIN access to the repo and 'repo' scope. Audit-logged. Returns the resulting rule plus {created, warnings}.
- gluecron_set_pr_draftshallow
Mark a pull request ready for review (draft=false) or convert it back to a draft (draft=true). Same rule as the web 'Ready for review' button: the caller needs write access and must be the PR author or the repository owner; only an open PR changes; marking ready starts the AI review. Idempotent. Requires 'repo' scope. Returns {number, isDraft, changed}.
- gluecron_set_repo_secretshallow
Create or replace one workflow secret on a repository, used in workflows as ${{ secrets.NAME }}. The name is saved upper-cased (cron_secret → CRON_SECRET); trailing spaces/newlines are removed from the value. The value is WRITE-ONLY: it is encrypted at rest and never returned, logged or audited — the result names the secret only. Needs admin access to the repository and 'repo' scope. Audit-logged (name only). Returns {repository, name, created}.
- gluecron_ship_specshallow
Drop a spec file in .gluecron/specs/ with status: ready so the autopilot picks it up. Wraps voice-to-pr.shipAsSpec — handle both voice + manual specs. Requires 'repo' scope.
- gluecron_trigger_workflowshallow
Dispatch a workflow_dispatch run. Mirrors POST /api/v2/repos/.../actions/workflows/:filename/dispatches. Requires 'repo' scope.
- gluecron_unlabel_issueshallow
Detach a label from an issue. Idempotent. Requires 'repo' scope. Returns {removed: boolean}.
- gluecron_update_prshallow
Edit a pull request's title, body, base branch and/or draft state. Title / body / base: the PR's author or anyone with write access; draft: the same rule as gluecron_set_pr_draft (write access and the PR author or repo owner; marking ready starts the AI review). Needs 'repo' scope. Changing the base (open PRs only) re-runs the PR's pull_request CI against the new base and disarms auto-merge. Returns {number, title, body, baseBranch, headBranch, isDraft, changed, autoMergeDisarmed, url}.
- gluecron_update_pr_branchshallow
Bring a PR branch up to date with its base: merge the base into the head server-side (the PR page's 'Update branch'). Never a force-push — the new head is a merge commit moved through the push gates, so it gets CI. On conflict nothing changes and `conflictFiles` lists the paths. Requires write access and 'repo' scope. Returns {ok, status: 'updated'|'up-to-date', headSha, previousHeadSha, baseSha, url} or {ok: false, reason, message, conflictFiles}.
- gluecron_update_reposhallow
Update repository description / visibility / default_branch. Owner-only. Requires 'repo' scope. Returns {ok: true}.
- gluecron_voice_to_prshallow
Interpret a free-form voice transcript and either ship it as a spec or create an issue (caller picks via `as`). Wraps src/lib/voice-to-pr.ts. Requires 'repo' scope.
- gluecron_whoamishallow
Who this connector is on this Gluecron instance: the signed-in username and email, whether that account is a site admin, the token's scopes, and how many repositories it owns or collaborates on. Call it first when a repository seems missing — the answer is usually which account authorized the connector. Anonymous callers get authenticated:false and a hint.
- gluecron_write_fileshallow
Create or update a file on a branch via git plumbing. Wraps `createOrUpdateFileOnBranch`. Pass `content` as a UTF-8 string OR `content_base64` for binary. Requires 'repo' scope.
Embed this server’s score
Tool count and median score across every tool in this server’s corpus — honest in a way a single cherry-picked tool’s badge wouldn’t be.
[](https://vouch.tools/servers/f0b8815c-db7e-4820-83a6-e2340c11d14e)