mcp server
Gluecron
AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).
Description as published by the maintainer. Source
- version 1.0.0
- active
- code review
active — Registry entry last updated 2026-07-14. Dashed tags are derived by ZBS Index from the published description, not stated by the maintainer.
What this server can do
60 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
gluecron_acquire_lease(target_id, duration_ms, target_type, agent_session_id)- 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. Required: agent_session_id, target_type, target_id.
gluecron_ai_cost_summary(repo, owner, scope, agent_session_id)- 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_assign_issue(repo, owner, number, assignee)- 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. Required: owner, repo, number, assignee.
gluecron_atomic_multi_file_commit(repo, owner, branch, changes, message, base_branch)- 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. Required: owner, repo, branch, message, changes.
gluecron_cancel_workflow_run(repo, owner, run_id)- Cancel a queued/running workflow run. Requires 'repo' scope. Required: owner, repo, run_id.
gluecron_chat_continue(chat_id, message)- Send another message to an existing repo chat. Returns the assistant's reply. Required: chat_id, message.
gluecron_chat_with_repo(repo, owner, title, message)- 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. Required: owner, repo, message.
gluecron_clone_url(repo, owner)- Return the authenticated HTTPS clone URL for a repo + a credential-helper hint. Use this instead of embedding tokens in URLs. Returns {url, hint}. Required: owner, repo.
gluecron_close_issue(repo, owner, number)- Close an open issue. Requires authenticated caller with write access. Idempotent — closing an already-closed issue is a no-op. Returns {state}. Required: owner, repo, number.
gluecron_close_pr(repo, owner, number)- Close an open pull request without merging. Requires authenticated caller with write access. Idempotent. Returns {state}. Required: owner, repo, number.
gluecron_comment_issue(body, repo, owner, number)- Add a comment to an existing issue. Requires authenticated caller with write access. Returns {commentId}. Required: owner, repo, number, body.
gluecron_comment_pr(body, repo, owner, number)- Add a comment to a pull request. Requires authenticated caller with write access. Returns {commentId}. Required: owner, repo, number, body.
gluecron_create_agent_session(name, repository_id, branch_namespace, budget_cents_per_day)- Mint a new agent-multiplayer session. Returns the plaintext `token` exactly once (store it). Requires 'admin' scope. Required: name.
gluecron_create_branch(sha, repo, owner, branch)- Create a new branch ref pointing at an existing sha. Mirrors POST /api/v2/repos/.../git/refs. Requires 'repo' scope. Returns {ref, sha}. Required: owner, repo, branch, sha.
gluecron_create_issue(body, repo, owner, title)- Create a new issue on a Gluecron repository. Requires authenticated caller with write access on the target repo. Returns {number, url}. Required: owner, repo, title.
gluecron_create_pr(body, repo, owner, title, base_branch, head_branch)- 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}. Required: owner, repo, title, head_branch.
gluecron_delete_file(sha, path, repo, owner, branch, message)- Delete a file from a branch via git plumbing. Requires the existing blob sha (optimistic concurrency) and 'repo' scope. Mirrors DELETE /api/v2/contents. Required: owner, repo, path, branch, message, sha.
gluecron_delete_repo(repo, owner)- Permanently delete a repository row (git data on disk is left untouched). Owner-only. Requires 'admin' scope. Returns {deleted: true}. Required: owner, repo.
gluecron_explain_repo(repo, owner)- Return the cached AI 'explain this codebase' Markdown for a repo. Pure read — never triggers a new generation (use the web UI for that). Required: owner, repo.
gluecron_find_symbol(name, repo, owner)- Find definitions of a symbol by name within a repo. Wraps src/lib/symbols.findDefinitions. Required: owner, repo, name.
gluecron_fork_repo(repo, owner)- Fork a repository to the authenticated caller's namespace. Mirrors POST /:owner/:repo/fork. Returns {owner, repo, url}. Requires 'repo' scope. Required: owner, repo.
gluecron_generate_commit_message(diff, style)- Generate a commit message for a diff. Same engine as gluecron_generate_pr_description but explicit for the commit-message use case. Required: diff.
gluecron_generate_pr_description(diff, style)- 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}. Required: diff.
gluecron_generate_release_notes(repo, owner, to_tag, from_tag)- Generate release notes between two tags. Wraps src/lib/ai-release-notes.generateReleaseNotes. Returns the rendered Markdown + section data. Required: owner, repo, to_tag.
gluecron_generate_tests(mode, repo, owner, number)- 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. Required: owner, repo, number.
gluecron_get_agent_budget(agent_session_id)- Return spent / cap / remaining cents for an agent session. Required: agent_session_id.
gluecron_get_commit(sha, repo, owner)- Fetch a single commit's metadata by SHA. Mirrors GET /api/v2/repos/.../commits/:sha. Required: owner, repo, sha.
gluecron_get_pr(repo, owner, number)- 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). Required: owner, repo, number.
gluecron_get_preview_url(repo, owner, branch)- Return the branch-preview URL + status for a (repo, branch) pair. Wraps branch-previews.getPreviewForBranch. Required: owner, repo, branch.
gluecron_get_workflow_logs(repo, owner, run_id)- Return concatenated per-job logs for a workflow run, plus per-job metadata. JSON-friendly companion to the ZIP-download endpoint. Required: owner, repo, run_id.
gluecron_get_workflow_run(repo, owner, run_id)- Fetch a workflow run's metadata + status. Mirrors GET /api/v2/repos/.../actions/runs/:id. Required: owner, repo, run_id.
gluecron_label_issue(repo, owner, labels, number)- 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}. Required: owner, repo, number, labels.
gluecron_list_prs(repo, owner, state)- List pull requests on a repo, filtered by state (open|closed|merged|all). Authenticated callers only. Returns up to 50 summary rows. Required: owner, repo.
gluecron_list_tree(ref, path, repo, owner, recursive)- List directory contents at a ref. Optionally `recursive: true` returns the full file list. Mirrors GET /api/v2/repos/.../tree/:ref. Required: owner, repo, ref.
gluecron_merge_pr(repo, owner, number, confirm_high_risk)- 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?}. Required: owner, repo, number.
gluecron_open_draft_pr(body, repo, owner, title, base_branch, head_branch)- 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. Required: owner, repo, title, head_branch.
gluecron_pr_status_summary(repo, owner, number)- Compute a one-shot status summary for a PR: state, risk score, AI-review verdicts (trio), gate signals. Read-only. Required: owner, repo, number.
gluecron_propose_doc_update(repo, owner)- 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. Required: owner, repo.
gluecron_propose_migration(repo, owner, base_sha, changelog, dependency, to_version, from_version)- Propose a dependency-upgrade PR. Wraps src/lib/migration-assistant.proposeMajorMigration. Requires 'repo' scope. Required: owner, repo, dependency, from_version, to_version, base_sha.
gluecron_provision_pr_sandbox(repo, owner, number)- Provision (or re-provision) a sandbox for a PR. Wraps pr-sandbox.provisionSandbox. Requires 'repo' scope. Required: owner, repo, number.
gluecron_read_file(ref, path, repo, owner, encoding)- Read a file from a repo at a given ref. Mirrors GET /api/v2/repos/:owner/:repo/contents/:path. Returns {path, size, content, encoding}. Required: owner, repo, path.
gluecron_refactor_across_repos(dry_run, description, repository_ids)- 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. Required: description.
gluecron_release_lease(lease_id)- Release a lease by id. Idempotent. Returns {released}. Required: lease_id.
gluecron_reopen_issue(repo, owner, number)- Reopen a previously closed issue. Requires authenticated caller with write access. Idempotent. Returns {state}. Required: owner, repo, number.
gluecron_repo_explain_codebase(repo, owner)- Return the cached AI 'explain this codebase' Markdown for a public repo (most recent commit). Returns null when no cached explanation exists yet. Required: owner, repo.
gluecron_repo_health(repo, owner)- 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. Required: owner, repo.
gluecron_repo_list_issues(repo, limit, owner)- List open issues for a public repository. Returns up to 50 ordered by most-recent. Required: owner, repo.
gluecron_repo_read_file(ref, path, repo, owner)- 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). Required: owner, repo, path.
gluecron_repo_search(limit, query)- Search Gluecron repositories by keyword (name + description). Returns public repos plus any private repos owned by the authenticated caller. Up to 20 results. Required: query.
gluecron_request_changes(body, repo, owner, number)- 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. Required: owner, repo, number, body.
gluecron_search_issues(repo, limit, owner, query, state)- Search issues by title/body keyword on a single repo, filtered by state. Returns ranked rows. Required: owner, repo, query.
gluecron_search_prs(repo, limit, owner, query, state)- Search pull requests by title/body keyword on a repo. Required: owner, repo, query.
gluecron_search_repos(sort, limit, query)- Full-text search of public repositories by name/description. Mirrors GET /api/v2/search/repos. Returns ranked rows. Required: query.
gluecron_semantic_search(repo, limit, owner, query)- Query the per-repo vector index (Voyage embeddings when configured, hash fallback otherwise). Wraps src/lib/semantic-search.searchRepository. Required: owner, repo, query.
gluecron_ship_spec(body, repo, owner, title)- 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. Required: owner, repo, title, body.
gluecron_trigger_workflow(ref, repo, owner, inputs, filename)- Dispatch a workflow_dispatch run. Mirrors POST /api/v2/repos/.../actions/workflows/:filename/dispatches. Requires 'repo' scope. Required: owner, repo, filename.
gluecron_unlabel_issue(repo, label, owner, number)- Detach a label from an issue. Idempotent. Requires 'repo' scope. Returns {removed: boolean}. Required: owner, repo, number, label.
gluecron_update_repo(repo, owner, is_private, description, default_branch)- Update repository description / visibility / default_branch. Owner-only. Requires 'repo' scope. Returns {ok: true}. Required: owner, repo.
gluecron_voice_to_pr(as, repo, owner, transcript)- 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. Required: owner, repo, transcript.
gluecron_write_file(path, repo, owner, branch, content, message, content_base64, expect_blob_sha)- 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. Required: owner, repo, path, branch, message.
Last successful function declaration observed on . Source: https://gluecron.com/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://gluecron.com/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 1.0.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-07-14 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-07-14 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 60 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | gluecron.com | |
| mcp endpoint status | ok | The server listed 60 functions when asked. | as of probe | gluecron.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json