_ registry / mcp streamable-http · checked 6h ago

gluecron

https://gluecron.com

Registry code: 996966275e8462f6

api record

AI-native git hosting — repos, PRs, issues, CI gates, and AI code review over MCP (60 tools).

from a public catalogue that lists it, not from the operator

endpoint
https://gluecron.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing
karma
0 · newcomer
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
384ms

last good check

priced tools
0

of 63 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ used through this hub 30 days

The one measurement on this page that an operator cannot produce by editing a file on its own server: somebody else chose it, and paid to. Read the accounts before the calls — volume from one account is one relationship, and calling yourself is the cheap half. Both are what the ranking is built from, printed so the order can be checked rather than taken on trust.

accounts
0

distinct, expensive to fake

calls served
0

successful, last 30 days

_ what it can do 63 tools
1 auth-required 62 never probed 1 of 63 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • gluecron_ai_cost_summary auth-required 6h ago

    Return AI spend rollups. Scope by one of: user_id (self), repo {owner,repo}, or agent_session_id. Defaults to caller's user spend.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "scope": {
          "type": "string",
          "description": "'user' (default) | 'repo' | 'agent'"
        },
        "agent_session_id": {
          "type": "string"
        }
      }
    }
    arguments 18 lines
  • gluecron_voice_to_pr unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "transcript"
      ],
      "properties": {
        "as": {
          "type": "string",
          "description": "'spec' or 'issue' (default: auto via interpretVoiceTranscript)"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "transcript": {
          "type": "string"
        }
      }
    }
    arguments 23 lines
  • gluecron_refactor_across_repos unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "description"
      ],
      "properties": {
        "dry_run": {
          "type": "boolean",
          "description": "When true, returns the plan and does NOT execute."
        },
        "description": {
          "type": "string",
          "description": "Natural-language description"
        },
        "repository_ids": {
          "type": "array",
          "description": "Optional explicit repo IDs to scope the refactor to."
        }
      }
    }
    arguments 20 lines
  • gluecron_explain_repo unknown never probed

    Return the cached AI 'explain this codebase' Markdown for a repo. Pure read — never triggers a new generation (use the web UI for that).

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        }
      }
    }
    arguments 15 lines
  • gluecron_chat_with_repo unknown never probed

    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}. If the AI service does not answer this fails with a JSON-RPC error carrying {chat_id, ai_error} — it never returns apology copy as a reply. Requires authentication.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "message"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "title": {
          "type": "string",
          "description": "Chat title (optional)"
        },
        "message": {
          "type": "string",
          "description": "Initial user message"
        }
      }
    }
    arguments 24 lines
  • gluecron_chat_continue unknown never probed

    Send another message to an existing repo chat. Returns the assistant's reply. If the AI service does not answer this fails with a JSON-RPC error carrying {chat_id, ai_error} rather than returning apology copy as a reply.

    mcp-tool

    {
      "type": "object",
      "required": [
        "chat_id",
        "message"
      ],
      "properties": {
        "chat_id": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
    arguments 15 lines
  • gluecron_generate_tests unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number"
      ],
      "properties": {
        "mode": {
          "type": "string",
          "description": "'follow-up-pr' or 'append-commit'"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "number": {
          "type": "number",
          "description": "PR number"
        }
      }
    }
    arguments 24 lines
  • gluecron_generate_commit_message unknown never probed

    Generate a commit message for a diff. Same engine as gluecron_generate_pr_description but explicit for the commit-message use case.

    mcp-tool

    {
      "type": "object",
      "required": [
        "diff"
      ],
      "properties": {
        "diff": {
          "type": "string"
        },
        "style": {
          "type": "string",
          "description": "'conventional' (default) or 'plain'"
        }
      }
    }
    arguments 15 lines
  • gluecron_generate_release_notes unknown never probed

    Generate release notes between two tags. Wraps src/lib/ai-release-notes.generateReleaseNotes. Returns the rendered Markdown + section data.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "to_tag"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "to_tag": {
          "type": "string",
          "description": "New tag"
        },
        "from_tag": {
          "type": "string",
          "description": "Previous tag (optional)"
        }
      }
    }
    arguments 24 lines
  • gluecron_propose_migration unknown never probed

    Propose a dependency-upgrade PR. Wraps src/lib/migration-assistant.proposeMajorMigration. Requires 'repo' scope.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "dependency",
        "from_version",
        "to_version",
        "base_sha"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "base_sha": {
          "type": "string",
          "description": "Commit sha to fork from"
        },
        "changelog": {
          "type": "string",
          "description": "Optional changelog text"
        },
        "dependency": {
          "type": "string"
        },
        "to_version": {
          "type": "string"
        },
        "from_version": {
          "type": "string"
        }
      }
    }
    arguments 36 lines
  • gluecron_propose_doc_update unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        }
      }
    }
    arguments 15 lines
  • gluecron_trigger_workflow unknown never probed

    Dispatch a workflow_dispatch run. Mirrors POST /api/v2/repos/.../actions/workflows/:filename/dispatches. Requires 'repo' scope.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "filename"
      ],
      "properties": {
        "ref": {
          "type": "string",
          "description": "Branch / tag / sha (default: repo default branch)"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "inputs": {
          "type": "object",
          "description": "Workflow inputs (object)"
        },
        "filename": {
          "type": "string",
          "description": "Workflow filename (e.g. ci.yml)"
        }
      }
    }
    arguments 28 lines
  • gluecron_get_workflow_run unknown never probed

    Fetch a workflow run's metadata + status. Mirrors GET /api/v2/repos/.../actions/runs/:id.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "run_id"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "run_id": {
          "type": "string"
        }
      }
    }
    arguments 19 lines
  • gluecron_get_workflow_logs unknown never probed

    Return concatenated per-job logs for a workflow run, plus per-job metadata. JSON-friendly companion to the ZIP-download endpoint.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "run_id"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "run_id": {
          "type": "string"
        }
      }
    }
    arguments 19 lines
  • gluecron_cancel_workflow_run unknown never probed

    Cancel a queued/running workflow run. Requires 'repo' scope.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "run_id"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "run_id": {
          "type": "string"
        }
      }
    }
    arguments 19 lines
  • gluecron_get_preview_url unknown never probed

    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).

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "branch"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "branch": {
          "type": "string"
        }
      }
    }
    arguments 19 lines
  • gluecron_provision_pr_sandbox unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "number": {
          "type": "number"
        }
      }
    }
    arguments 19 lines
  • gluecron_create_agent_session unknown never probed

    Mint a new agent-multiplayer session. Returns the plaintext `token` exactly once (store it). Requires 'admin' scope.

    mcp-tool

    {
      "type": "object",
      "required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Human-readable session name (unique per owner)"
        },
        "repository_id": {
          "type": "string",
          "description": "Optional repo to scope to"
        },
        "branch_namespace": {
          "type": "string",
          "description": "Optional branch namespace override"
        },
        "budget_cents_per_day": {
          "type": "number",
          "description": "Daily budget cap in cents (default 500)"
        }
      }
    }
    arguments 24 lines
  • gluecron_acquire_lease unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "agent_session_id",
        "target_type",
        "target_id"
      ],
      "properties": {
        "target_id": {
          "type": "string"
        },
        "duration_ms": {
          "type": "number",
          "description": "Lease duration (default 5 minutes)"
        },
        "target_type": {
          "type": "string",
          "description": "e.g. 'pull_request', 'branch'"
        },
        "agent_session_id": {
          "type": "string"
        }
      }
    }
    arguments 24 lines
  • gluecron_search_prs unknown never probed

    Search pull requests by title/body keyword on a repo.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "query"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "limit": {
          "type": "number"
        },
        "owner": {
          "type": "string"
        },
        "query": {
          "type": "string"
        },
        "state": {
          "type": "string",
          "description": "open|closed|merged|all (default open)"
        }
      }
    }
    arguments 26 lines
  • gluecron_open_draft_pr unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "title",
        "head_branch"
      ],
      "properties": {
        "body": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "base_branch": {
          "type": "string"
        },
        "head_branch": {
          "type": "string"
        }
      }
    }
    arguments 29 lines
  • gluecron_atomic_multi_file_commit unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "branch",
        "message",
        "changes"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "branch": {
          "type": "string"
        },
        "changes": {
          "type": "array",
          "description": "Array of {path, content?|content_base64?, deleted?} entries."
        },
        "message": {
          "type": "string"
        },
        "base_branch": {
          "type": "string",
          "description": "Branch to fork from when `branch` doesn't yet exist (default: repo default)."
        }
      }
    }
    arguments 32 lines
  • gluecron_ship_spec unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "title",
        "body"
      ],
      "properties": {
        "body": {
          "type": "string",
          "description": "Spec body (Markdown)"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "title": {
          "type": "string"
        }
      }
    }
    arguments 24 lines
  • gluecron_pr_status_summary unknown never probed

    Compute a one-shot status summary for a PR: state, risk score (and whether it describes the current head), CI state for the head commit as the merge gate sees it, AI-review verdicts (trio), gate signals. Read-only.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "number": {
          "type": "number"
        }
      }
    }
    arguments 19 lines
  • gluecron_repo_search unknown never probed

    Search Gluecron repositories by keyword (name + description), case-insensitively. Returns public repos plus any private repos owned by the authenticated caller. Default 20 per page, max 50; `total` is the full match count and `nextOffset` pages through it.

    mcp-tool

    {
      "type": "object",
      "required": [
        "query"
      ],
      "properties": {
        "limit": {
          "type": "number",
          "description": "Max rows per page (default 20, max 50)"
        },
        "query": {
          "type": "string",
          "description": "Search keyword (1-100 chars)"
        },
        "offset": {
          "type": "number",
          "description": "Rows to skip. Use `nextOffset` from the previous response."
        }
      }
    }
    arguments 20 lines
  • gluecron_repo_read_file unknown never probed

    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).

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "path"
      ],
      "properties": {
        "ref": {
          "type": "string",
          "description": "Branch / tag / commit. Defaults to the repository's actual default branch (which may not be 'main' — e.g. 'Main')."
        },
        "path": {
          "type": "string",
          "description": "File path within the repo"
        },
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        }
      }
    }
    arguments 26 lines
  • gluecron_repo_list_issues unknown never probed

    List open issues for a public repository. Returns up to 50 ordered by most-recent.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "limit": {
          "type": "number",
          "description": "Max rows per page (default 25, max 50)"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "offset": {
          "type": "number",
          "description": "Rows to skip, for paging. Use `nextOffset` from the previous response."
        }
      }
    }
    arguments 25 lines
  • gluecron_repo_explain_codebase unknown never probed

    Return the cached AI 'explain this codebase' Markdown for a public repo (most recent commit). Returns null when no cached explanation exists yet.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        }
      }
    }
    arguments 17 lines
  • gluecron_repo_health unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        }
      }
    }
    arguments 17 lines
  • gluecron_create_issue unknown never probed

    Create a new issue on a Gluecron repository. Requires authenticated caller with write access on the target repo. Returns {number, url}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "title"
      ],
      "properties": {
        "body": {
          "type": "string",
          "description": "Issue body (Markdown). Optional."
        },
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "title": {
          "type": "string",
          "description": "Issue title"
        }
      }
    }
    arguments 26 lines
  • gluecron_comment_issue unknown never probed

    Add a comment to an existing issue. Requires authenticated caller with write access. Returns {commentId}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number",
        "body"
      ],
      "properties": {
        "body": {
          "type": "string",
          "description": "Comment body (Markdown)"
        },
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "number": {
          "type": "number",
          "description": "Issue number"
        }
      }
    }
    arguments 27 lines
  • gluecron_close_issue unknown never probed

    Close an open issue. Requires authenticated caller with write access. Idempotent — closing an already-closed issue is a no-op. Returns {state}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "number": {
          "type": "number",
          "description": "Issue number"
        }
      }
    }
    arguments 22 lines
  • gluecron_reopen_issue unknown never probed

    Reopen a previously closed issue. Requires authenticated caller with write access. Idempotent. Returns {state}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "number": {
          "type": "number",
          "description": "Issue number"
        }
      }
    }
    arguments 22 lines
  • gluecron_create_pr unknown never probed

    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}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "title",
        "head_branch"
      ],
      "properties": {
        "body": {
          "type": "string",
          "description": "PR body (Markdown). Optional."
        },
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "title": {
          "type": "string",
          "description": "PR title"
        },
        "base_branch": {
          "type": "string",
          "description": "Target branch (default: repo default branch)"
        },
        "head_branch": {
          "type": "string",
          "description": "Branch with the changes"
        }
      }
    }
    arguments 35 lines
  • gluecron_get_pr unknown never probed

    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).

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "number": {
          "type": "number",
          "description": "PR number"
        }
      }
    }
    arguments 22 lines
  • gluecron_list_prs unknown never probed

    List pull requests on a repo, filtered by state (open|closed|merged|all). Authenticated callers only. Returns up to 50 summary rows.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "limit": {
          "type": "number",
          "description": "Max rows per page (default 50, max 100)"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "state": {
          "type": "string",
          "description": "open | closed | merged | all (default: open)"
        },
        "offset": {
          "type": "number",
          "description": "Rows to skip, for paging. Use `nextOffset` from the previous response."
        }
      }
    }
    arguments 29 lines
  • gluecron_comment_pr unknown never probed

    Add a comment to a pull request. Requires authenticated caller with write access. Returns {commentId}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number",
        "body"
      ],
      "properties": {
        "body": {
          "type": "string",
          "description": "Comment body (Markdown)"
        },
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "number": {
          "type": "number",
          "description": "PR number"
        }
      }
    }
    arguments 27 lines
  • gluecron_merge_pr unknown never probed

    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?}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "number": {
          "type": "number",
          "description": "PR number"
        },
        "confirm_high_risk": {
          "type": "boolean",
          "description": "When true, bypass the M3 risk-score soft-block on critical-band PRs."
        }
      }
    }
    arguments 26 lines
  • gluecron_close_pr unknown never probed

    Close an open pull request without merging. Requires authenticated caller with write access. Idempotent. Returns {state}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner — username or organisation slug"
        },
        "number": {
          "type": "number",
          "description": "PR number"
        }
      }
    }
    arguments 22 lines
  • gluecron_fork_repo unknown never probed

    Fork a repository to the authenticated caller's namespace. Mirrors POST /:owner/:repo/fork. Returns {owner, repo, url}. Requires 'repo' scope.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Source repo name"
        },
        "owner": {
          "type": "string",
          "description": "Source repo owner"
        }
      }
    }
    arguments 17 lines
  • gluecron_delete_repo unknown never probed

    Permanently delete a repository row (git data on disk is left untouched). Requires 'admin' access on the repo (owner, org owners/admins, admin collaborators) AND 'admin' token scope. Returns {deleted: true}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner username"
        }
      }
    }
    arguments 17 lines
  • gluecron_update_repo unknown never probed

    Update repository description / visibility / default_branch. Requires 'admin' access on the repo (owner, org owners/admins, admin collaborators) and 'repo' scope. Returns {ok: true}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner username"
        },
        "automation": {
          "type": "object",
          "description": "Per-repo automation dials, same keys as Settings → Automation: ai_review_mode, pr_triage_mode, issue_triage_mode, auto_merge_mode, ci_autofix_mode, auto_repair_mode, auto_issues_mode, doc_drift_mode. Values: off | suggest | auto. Only the keys given change."
        },
        "is_private": {
          "type": "boolean",
          "description": "Set visibility (optional)"
        },
        "description": {
          "type": "string",
          "description": "New description (optional)"
        },
        "default_branch": {
          "type": "string",
          "description": "Set default branch (optional)"
        }
      }
    }
    arguments 33 lines
  • gluecron_search_repos unknown never probed

    Search repositories by owner, name, owner/name or description, case-insensitively: every public repo, plus the private ones you own or collaborate on when authenticated. Omit `query` (authenticated) to list YOUR repositories — the ones you own or were invited to — instead of searching. Mirrors GET /api/v2/search/repos. `total` is the full match count (not the page size) and `nextOffset` pages through it.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "sort": {
          "type": "string",
          "description": "stars | updated | name (default: stars)"
        },
        "limit": {
          "type": "number",
          "description": "Max rows per page (default 30, max 100)"
        },
        "query": {
          "type": "string",
          "description": "Search keyword — matches owner login, repo name, owner/name and description. Omit to list your own repositories."
        },
        "offset": {
          "type": "number",
          "description": "Rows to skip. Use `nextOffset` from the previous response."
        }
      }
    }
    arguments 21 lines
  • gluecron_whoami unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • gluecron_clone_url unknown never probed

    Return the authenticated HTTPS clone URL for a repo + a credential-helper hint. Use this instead of embedding tokens in URLs. Returns {url, owner, repo, defaultBranch, hint} using the repo's stored casing.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner username"
        }
      }
    }
    arguments 17 lines
  • gluecron_label_issue unknown never probed

    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}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number",
        "labels"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "labels": {
          "type": "array",
          "description": "Label names (strings)"
        },
        "number": {
          "type": "number"
        }
      }
    }
    arguments 24 lines
  • gluecron_unlabel_issue unknown never probed

    Detach a label from an issue. Idempotent. Requires 'repo' scope. Returns {removed: boolean}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number",
        "label"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "number": {
          "type": "number"
        }
      }
    }
    arguments 23 lines
  • gluecron_assign_issue unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number",
        "assignee"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "number": {
          "type": "number"
        },
        "assignee": {
          "type": "string",
          "description": "Username to assign"
        }
      }
    }
    arguments 24 lines
  • gluecron_search_issues unknown never probed

    Search issues by title/body keyword on a single repo, filtered by state. Returns ranked rows.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "query"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "limit": {
          "type": "number"
        },
        "owner": {
          "type": "string"
        },
        "query": {
          "type": "string",
          "description": "Search keyword"
        },
        "state": {
          "type": "string",
          "description": "open | closed | all (default open)"
        }
      }
    }
    arguments 27 lines
  • gluecron_request_changes unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "number",
        "body"
      ],
      "properties": {
        "body": {
          "type": "string",
          "description": "Review body (Markdown)"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "number": {
          "type": "number"
        }
      }
    }
    arguments 24 lines
  • gluecron_generate_pr_description unknown never probed

    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}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "diff"
      ],
      "properties": {
        "diff": {
          "type": "string",
          "description": "Unified-diff body"
        },
        "style": {
          "type": "string",
          "description": "'conventional' (default) or 'plain'"
        }
      }
    }
    arguments 16 lines
  • gluecron_read_file unknown never probed

    Read a file from a repo at a given ref. Mirrors GET /api/v2/repos/:owner/:repo/contents/:path. Returns {path, size, content, encoding}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "path"
      ],
      "properties": {
        "ref": {
          "type": "string",
          "description": "Branch / tag / sha (default HEAD)"
        },
        "path": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "encoding": {
          "type": "string",
          "description": "'utf8' (default) or 'base64'"
        }
      }
    }
    arguments 27 lines
  • gluecron_write_file unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "path",
        "branch",
        "message"
      ],
      "properties": {
        "path": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "branch": {
          "type": "string"
        },
        "content": {
          "type": "string",
          "description": "UTF-8 file body (optional)"
        },
        "message": {
          "type": "string",
          "description": "Commit message"
        },
        "content_base64": {
          "type": "string",
          "description": "Base64 file body (optional)"
        },
        "expect_blob_sha": {
          "type": "string",
          "description": "Optimistic-concurrency check: existing blob sha must match."
        }
      }
    }
    arguments 40 lines
  • gluecron_delete_file unknown never probed

    Delete a file from a branch via git plumbing. Requires the existing blob sha (optimistic concurrency) and 'repo' scope. Mirrors DELETE /api/v2/contents.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "path",
        "branch",
        "message",
        "sha"
      ],
      "properties": {
        "sha": {
          "type": "string",
          "description": "Current blob sha (40-hex)"
        },
        "path": {
          "type": "string"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "branch": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
    arguments 32 lines
  • gluecron_list_tree unknown never probed

    List directory contents at a ref. `path` scopes the listing to a subtree and is honoured in BOTH modes; `recursive: true` walks the whole subtree instead of one level. Always returns the same shape: {path, ref, recursive, entries, truncated, totalCount}. Recursive entries carry full repo-relative paths; non-recursive entries carry names. A ref that does not exist is an error, never an empty listing.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "ref": {
          "type": "string",
          "description": "Branch / tag / sha. Omit (or pass HEAD) for the default branch."
        },
        "path": {
          "type": "string",
          "description": "Sub-path within the repo"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "recursive": {
          "type": "boolean"
        }
      }
    }
    arguments 26 lines
  • gluecron_get_commit unknown never probed

    Fetch a single commit by SHA: metadata plus the list of files it changed (path, status, additions, deletions). Mirrors GET /api/v2/repos/.../commits/:sha. Patch bodies are NOT included — use gluecron_get_diff for those.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "sha"
      ],
      "properties": {
        "sha": {
          "type": "string",
          "description": "Commit SHA"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "include_files": {
          "type": "boolean",
          "description": "Include the files-changed summary and stats (default true). Set false to skip the diff read on very large commits."
        }
      }
    }
    arguments 24 lines
  • gluecron_get_diff unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "sha": {
          "type": "string",
          "description": "Commit SHA — diffs it against its first parent"
        },
        "base": {
          "type": "string",
          "description": "Base ref (with `head`)"
        },
        "head": {
          "type": "string",
          "description": "Head ref (with `base`)"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "include_patch": {
          "type": "boolean",
          "description": "Include patch bodies (default true)"
        },
        "max_patch_bytes": {
          "type": "number",
          "description": "Total budget for patch text across all files (default 400000, max 2000000)"
        }
      }
    }
    arguments 35 lines
  • gluecron_create_branch unknown never probed

    Create a new branch ref pointing at an existing sha. Mirrors POST /api/v2/repos/.../git/refs. Requires 'repo' scope. Returns {ref, sha}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "branch",
        "sha"
      ],
      "properties": {
        "sha": {
          "type": "string",
          "description": "Target commit sha (40-hex)"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        },
        "branch": {
          "type": "string",
          "description": "New branch name (short form)"
        }
      }
    }
    arguments 25 lines
  • gluecron_release_lease unknown never probed

    Release a lease by id. Idempotent. Returns {released}.

    mcp-tool

    {
      "type": "object",
      "required": [
        "lease_id"
      ],
      "properties": {
        "lease_id": {
          "type": "string"
        }
      }
    }
    arguments 11 lines
  • gluecron_get_agent_budget unknown never probed

    Return spent / cap / remaining cents for an agent session.

    mcp-tool

    {
      "type": "object",
      "required": [
        "agent_session_id"
      ],
      "properties": {
        "agent_session_id": {
          "type": "string"
        }
      }
    }
    arguments 11 lines
  • gluecron_semantic_search unknown never probed

    Query the per-repo vector index (Voyage embeddings when configured, hash fallback otherwise). Reads the live per-push index (code_embeddings) first, falling back to the manually-reindexed chunk index (code_chunks). Returns {hits, source, indexed, indexedFiles} — `indexed: false` means the repo has never been indexed (empty hits are NOT 'no match'); `indexedFiles` is the live-index row count.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "query"
      ],
      "properties": {
        "repo": {
          "type": "string"
        },
        "limit": {
          "type": "number"
        },
        "owner": {
          "type": "string"
        },
        "query": {
          "type": "string"
        }
      }
    }
    arguments 22 lines
  • gluecron_find_symbol unknown never probed

    Find definitions of a symbol by name within a repo. Wraps src/lib/symbols.findDefinitions.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo",
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Symbol name"
        },
        "repo": {
          "type": "string"
        },
        "owner": {
          "type": "string"
        }
      }
    }
    arguments 20 lines
  • gluecron_security_scan unknown never probed

    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.

    mcp-tool

    {
      "type": "object",
      "required": [
        "owner",
        "repo"
      ],
      "properties": {
        "ref": {
          "type": "string",
          "description": "Branch, tag or commit SHA to scan the tree of. Default: the repo's default branch. Note advisories describe the INDEXED dependency graph, whose commit is reported separately — if it differs from this ref the advisory answer is downgraded to 'partial'."
        },
        "repo": {
          "type": "string",
          "description": "Repo name"
        },
        "owner": {
          "type": "string",
          "description": "Repo owner username"
        },
        "include_ai_review": {
          "type": "boolean",
          "description": "Opt in to the Claude Sonnet semantic review (SQLi/XSS/SSRF/authz/crypto). Costs an Anthropic call and adds seconds. Default false. When it cannot run — no key, provider error, unparseable output — the category reports 'not_assessed', never a pass."
        },
        "max_candidate_lines": {
          "type": "number",
          "description": "Cap on lines the secret detector inspects (1-200000, default 20000). The whole tree is always prefiltered; only lines that already matched a secret marker are inspected, so this rarely binds. When it does, committed_secrets reports 'partial' with the exact fraction."
        }
      }
    }
    arguments 29 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/996966275e8462f6/badge.svg)](https://brick.blue/agent/996966275e8462f6)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Own the domain? Prove it and the listing carries a verified badge here too: passport.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.