> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# github

> Repos, issues, and pull requests

**Server path:** `/github` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`github_get_repository`](#github_get_repository)                                     | Get information about a GitHub repository                                                                                                                                                                                                                                                                                                                                                                                           |
| [`github_list_repositories`](#github_list_repositories)                               | List repositories for the authenticated user. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                                        |
| [`github_search_repositories`](#github_search_repositories)                           | Search for repositories on GitHub. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                                                   |
| [`github_create_repository`](#github_create_repository)                               | Create a new GitHub repository                                                                                                                                                                                                                                                                                                                                                                                                      |
| [`github_get_file_content`](#github_get_file_content)                                 | Get the content of a file from a GitHub repository                                                                                                                                                                                                                                                                                                                                                                                  |
| [`github_create_or_update_file`](#github_create_or_update_file)                       | Create or update a file in a GitHub repository                                                                                                                                                                                                                                                                                                                                                                                      |
| [`github_list_commits`](#github_list_commits)                                         | List commits in a GitHub repository. This tool automatically fetches ALL matching commits across multiple pages — no manual pagination needed. Use the since/until parameters to scope by date range, author to filter by committer, and maxResults to cap the total (default 500). Results are complete unless truncatedAtMax is true.                                                                                             |
| [`github_get_current_user`](#github_get_current_user)                                 | Get information about the authenticated user                                                                                                                                                                                                                                                                                                                                                                                        |
| [`github_create_branch`](#github_create_branch)                                       | Create a new branch in a GitHub repository                                                                                                                                                                                                                                                                                                                                                                                          |
| [`github_list_branches`](#github_list_branches)                                       | List branches in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                                                |
| [`github_get_commit`](#github_get_commit)                                             | Get a specific commit by reference (SHA, branch, or tag)                                                                                                                                                                                                                                                                                                                                                                            |
| [`github_delete_file`](#github_delete_file)                                           | Delete a file from a GitHub repository                                                                                                                                                                                                                                                                                                                                                                                              |
| [`github_push_files`](#github_push_files)                                             | Push multiple files to a GitHub repository in a single atomic commit using the Git Tree API                                                                                                                                                                                                                                                                                                                                         |
| [`github_fork_repository`](#github_fork_repository)                                   | Fork a GitHub repository to your account or an organization                                                                                                                                                                                                                                                                                                                                                                         |
| [`github_create_issue`](#github_create_issue)                                         | Create a new issue in a GitHub repository                                                                                                                                                                                                                                                                                                                                                                                           |
| [`github_list_issues`](#github_list_issues)                                           | List issues in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                                                  |
| [`github_get_issue`](#github_get_issue)                                               | Get a specific issue by number                                                                                                                                                                                                                                                                                                                                                                                                      |
| [`github_update_issue`](#github_update_issue)                                         | Update an existing GitHub issue                                                                                                                                                                                                                                                                                                                                                                                                     |
| [`github_create_issue_comment`](#github_create_issue_comment)                         | Add a comment to a GitHub issue                                                                                                                                                                                                                                                                                                                                                                                                     |
| [`github_get_issue_comments`](#github_get_issue_comments)                             | List comments on a GitHub issue                                                                                                                                                                                                                                                                                                                                                                                                     |
| [`github_get_issue_labels`](#github_get_issue_labels)                                 | List labels on a GitHub issue                                                                                                                                                                                                                                                                                                                                                                                                       |
| [`github_create_pull_request`](#github_create_pull_request)                           | Create a new pull request in a GitHub repository                                                                                                                                                                                                                                                                                                                                                                                    |
| [`github_list_pull_requests`](#github_list_pull_requests)                             | List pull requests in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                                           |
| [`github_get_pull_request`](#github_get_pull_request)                                 | Get a specific pull request by number                                                                                                                                                                                                                                                                                                                                                                                               |
| [`github_get_pull_request_diff`](#github_get_pull_request_diff)                       | Get the raw diff of a pull request                                                                                                                                                                                                                                                                                                                                                                                                  |
| [`github_get_pull_request_files`](#github_get_pull_request_files)                     | List files changed in a pull request                                                                                                                                                                                                                                                                                                                                                                                                |
| [`github_get_pull_request_reviews`](#github_get_pull_request_reviews)                 | List reviews on a pull request                                                                                                                                                                                                                                                                                                                                                                                                      |
| [`github_get_pull_request_review_comments`](#github_get_pull_request_review_comments) | List review comments (inline comments on the diff) for a pull request                                                                                                                                                                                                                                                                                                                                                               |
| [`github_get_pull_request_comments`](#github_get_pull_request_comments)               | List conversation comments on a pull request (uses the issues API)                                                                                                                                                                                                                                                                                                                                                                  |
| [`github_get_pull_request_check_runs`](#github_get_pull_request_check_runs)           | Get CI check runs for a commit or branch reference                                                                                                                                                                                                                                                                                                                                                                                  |
| [`github_get_pull_request_status`](#github_get_pull_request_status)                   | Get the combined commit status for a reference                                                                                                                                                                                                                                                                                                                                                                                      |
| [`github_update_pull_request`](#github_update_pull_request)                           | Update an existing pull request                                                                                                                                                                                                                                                                                                                                                                                                     |
| [`github_merge_pull_request`](#github_merge_pull_request)                             | Merge a pull request                                                                                                                                                                                                                                                                                                                                                                                                                |
| [`github_update_pull_request_branch`](#github_update_pull_request_branch)             | Update a pull request branch with the latest changes from the base branch                                                                                                                                                                                                                                                                                                                                                           |
| [`github_create_pull_request_review`](#github_create_pull_request_review)             | Create or submit a review on a pull request                                                                                                                                                                                                                                                                                                                                                                                         |
| [`github_add_pull_request_review_comment`](#github_add_pull_request_review_comment)   | Add a review comment on a pull request diff                                                                                                                                                                                                                                                                                                                                                                                         |
| [`github_reply_to_pull_request_comment`](#github_reply_to_pull_request_comment)       | Reply to an existing review comment on a pull request                                                                                                                                                                                                                                                                                                                                                                               |
| [`github_search_issues`](#github_search_issues)                                       | Search issues across GitHub repositories using GitHub search syntax. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore. Use qualifiers like repo:owner/name, state:open, label:bug, assignee:username, etc.             |
| [`github_search_pull_requests`](#github_search_pull_requests)                         | Search pull requests across GitHub repositories using GitHub search syntax. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore. Use qualifiers like repo:owner/name, state:open, label:bug, author:username, is:pr, etc. |
| [`github_search_code`](#github_search_code)                                           | Search code across GitHub repositories using GitHub search syntax. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore. Use qualifiers like repo:owner/name, language:javascript, filename:test, extension:ts, etc.       |
| [`github_search_users`](#github_search_users)                                         | Search users on GitHub using GitHub search syntax. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore. Use qualifiers like type:user, type:org, location:city, language:javascript, followers:>100, etc.                 |
| [`github_list_workflows`](#github_list_workflows)                                     | List all workflows in a GitHub repository (GitHub Actions workflow files). IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                           |
| [`github_get_workflow`](#github_get_workflow)                                         | Get a specific workflow by ID or filename                                                                                                                                                                                                                                                                                                                                                                                           |
| [`github_list_workflow_runs`](#github_list_workflow_runs)                             | List workflow runs for a repository, optionally filtered by workflow, actor, branch, event, or status. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                               |
| [`github_get_workflow_run`](#github_get_workflow_run)                                 | Get a specific workflow run by ID                                                                                                                                                                                                                                                                                                                                                                                                   |
| [`github_list_workflow_jobs`](#github_list_workflow_jobs)                             | List jobs for a specific workflow run. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                                               |
| [`github_get_workflow_job`](#github_get_workflow_job)                                 | Get a specific workflow job by ID                                                                                                                                                                                                                                                                                                                                                                                                   |
| [`github_run_workflow`](#github_run_workflow)                                         | Trigger a workflow dispatch event to run a GitHub Actions workflow. The workflow must have a workflow\_dispatch trigger configured.                                                                                                                                                                                                                                                                                                 |
| [`github_get_job_logs`](#github_get_job_logs)                                         | Download logs for a specific workflow job                                                                                                                                                                                                                                                                                                                                                                                           |
| [`github_cancel_workflow_run`](#github_cancel_workflow_run)                           | Cancel a workflow run that is in progress or queued                                                                                                                                                                                                                                                                                                                                                                                 |
| [`github_rerun_workflow`](#github_rerun_workflow)                                     | Re-run an entire workflow run                                                                                                                                                                                                                                                                                                                                                                                                       |
| [`github_rerun_failed_jobs`](#github_rerun_failed_jobs)                               | Re-run only the failed jobs in a workflow run (instead of the entire run)                                                                                                                                                                                                                                                                                                                                                           |
| [`github_list_workflow_run_artifacts`](#github_list_workflow_run_artifacts)           | List artifacts produced by a workflow run. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                                           |
| [`github_download_workflow_run_artifact`](#github_download_workflow_run_artifact)     | Get a download URL for a workflow run artifact. Returns a redirect URL to download the artifact archive (ZIP).                                                                                                                                                                                                                                                                                                                      |
| [`github_get_label`](#github_get_label)                                               | Get a specific label by name from a GitHub repository                                                                                                                                                                                                                                                                                                                                                                               |
| [`github_list_labels`](#github_list_labels)                                           | List all labels in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                                              |
| [`github_create_label`](#github_create_label)                                         | Create a new label in a GitHub repository                                                                                                                                                                                                                                                                                                                                                                                           |
| [`github_update_label`](#github_update_label)                                         | Update an existing label in a GitHub repository. Can change name, color, and/or description.                                                                                                                                                                                                                                                                                                                                        |
| [`github_delete_label`](#github_delete_label)                                         | Delete a label from a GitHub repository                                                                                                                                                                                                                                                                                                                                                                                             |
| [`github_list_releases`](#github_list_releases)                                       | List releases in a GitHub repository, ordered by creation date. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                      |
| [`github_get_latest_release`](#github_get_latest_release)                             | Get the latest published release in a GitHub repository (excludes drafts and pre-releases)                                                                                                                                                                                                                                                                                                                                          |
| [`github_get_release_by_tag`](#github_get_release_by_tag)                             | Get a specific release by its tag name                                                                                                                                                                                                                                                                                                                                                                                              |
| [`github_list_tags`](#github_list_tags)                                               | List tags in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.                                                                                                                                    |
| [`github_get_tag`](#github_get_tag)                                                   | Get an annotated tag object by its SHA. Use this to get details like the tag message and tagger information.                                                                                                                                                                                                                                                                                                                        |
| [`github_get_repository_tree`](#github_get_repository_tree)                           | Get a repository tree (directory listing) recursively or non-recursively. Use HEAD as the treeSha to get the default branch tree, or provide a specific branch name or tree SHA.                                                                                                                                                                                                                                                    |
| [`github_list_trigger_capabilities`](#github_list_trigger_capabilities)               | List available trigger types that can be created for GitHub webhooks                                                                                                                                                                                                                                                                                                                                                                |
| [`github_create_trigger`](#github_create_trigger)                                     | Create a GitHub webhook that will send events                                                                                                                                                                                                                                                                                                                                                                                       |
| [`github_update_trigger`](#github_update_trigger)                                     | Update an existing GitHub webhook (only supports updating events list)                                                                                                                                                                                                                                                                                                                                                              |
| [`github_delete_trigger`](#github_delete_trigger)                                     | Delete a GitHub webhook                                                                                                                                                                                                                                                                                                                                                                                                             |

***

## github\_get\_repository

Get information about a GitHub repository

**Parameters:**

| Parameter | Type   | Required | Default | Description      |
| --------- | ------ | -------- | ------- | ---------------- |
| `owner`   | string | Yes      | —       | Repository owner |
| `repo`    | string | Yes      | —       | Repository name  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_list\_repositories

List repositories for the authenticated user. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter    | Type   | Required | Default     | Description                             |
| ------------ | ------ | -------- | ----------- | --------------------------------------- |
| `visibility` | string | No       | `"all"`     | Repository visibility filter            |
| `sort`       | string | No       | `"created"` | Sort field                              |
| `direction`  | string | No       | `"desc"`    | Sort direction                          |
| `perPage`    | number | No       | `30`        | Number of results per page              |
| `page`       | number | No       | —           | Page number for pagination (default: 1) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "visibility": {
        "type": "string",
        "enum": [
          "all",
          "public",
          "private"
        ],
        "default": "all",
        "description": "Repository visibility filter"
      },
      "sort": {
        "type": "string",
        "enum": [
          "created",
          "updated",
          "pushed",
          "full_name"
        ],
        "default": "created",
        "description": "Sort field"
      },
      "direction": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "default": "desc",
        "description": "Sort direction"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## github\_search\_repositories

Search for repositories on GitHub. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter | Type   | Required | Default  | Description                                                |
| --------- | ------ | -------- | -------- | ---------------------------------------------------------- |
| `query`   | string | Yes      | —        | Search query (e.g., "language:javascript", "user:octocat") |
| `sort`    | string | No       | —        | Sort field                                                 |
| `order`   | string | No       | `"desc"` | Sort order                                                 |
| `perPage` | number | No       | `30`     | Number of results per page                                 |
| `page`    | number | No       | —        | Page number for pagination (default: 1)                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "string",
        "description": "Search query (e.g., \"language:javascript\", \"user:octocat\")"
      },
      "sort": {
        "type": "string",
        "enum": [
          "stars",
          "forks",
          "help-wanted-issues",
          "updated"
        ],
        "description": "Sort field"
      },
      "order": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "default": "desc",
        "description": "Sort order"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "query"
    ]
  }
  ```
</Expandable>

***

## github\_create\_repository

Create a new GitHub repository

**Parameters:**

| Parameter           | Type    | Required | Default | Description                   |
| ------------------- | ------- | -------- | ------- | ----------------------------- |
| `name`              | string  | Yes      | —       | Repository name               |
| `description`       | string  | No       | —       | Repository description        |
| `private`           | boolean | No       | `false` | Whether repository is private |
| `autoInit`          | boolean | No       | `false` | Initialize with README        |
| `gitignoreTemplate` | string  | No       | —       | Gitignore template to use     |
| `licenseTemplate`   | string  | No       | —       | License template to use       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "name": {
        "type": "string",
        "description": "Repository name"
      },
      "description": {
        "type": "string",
        "description": "Repository description"
      },
      "private": {
        "type": "boolean",
        "default": false,
        "description": "Whether repository is private"
      },
      "autoInit": {
        "type": "boolean",
        "default": false,
        "description": "Initialize with README"
      },
      "gitignoreTemplate": {
        "type": "string",
        "description": "Gitignore template to use"
      },
      "licenseTemplate": {
        "type": "string",
        "description": "License template to use"
      }
    },
    "required": [
      "PCID",
      "name"
    ]
  }
  ```
</Expandable>

***

## github\_get\_file\_content

Get the content of a file from a GitHub repository

**Parameters:**

| Parameter | Type   | Required | Default | Description                                             |
| --------- | ------ | -------- | ------- | ------------------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner                                        |
| `repo`    | string | Yes      | —       | Repository name                                         |
| `path`    | string | Yes      | —       | File path in repository                                 |
| `ref`     | string | No       | —       | Branch, tag, or commit SHA (defaults to default branch) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "path": {
        "type": "string",
        "description": "File path in repository"
      },
      "ref": {
        "type": "string",
        "description": "Branch, tag, or commit SHA (defaults to default branch)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "path"
    ]
  }
  ```
</Expandable>

***

## github\_create\_or\_update\_file

Create or update a file in a GitHub repository

**Parameters:**

| Parameter | Type   | Required | Default | Description                                      |
| --------- | ------ | -------- | ------- | ------------------------------------------------ |
| `owner`   | string | Yes      | —       | Repository owner                                 |
| `repo`    | string | Yes      | —       | Repository name                                  |
| `path`    | string | Yes      | —       | File path in repository                          |
| `message` | string | Yes      | —       | Commit message                                   |
| `content` | string | Yes      | —       | File content (will be base64 encoded)            |
| `branch`  | string | No       | —       | Branch to commit to (defaults to default branch) |
| `sha`     | string | No       | —       | SHA of existing file (required for updates)      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "path": {
        "type": "string",
        "description": "File path in repository"
      },
      "message": {
        "type": "string",
        "description": "Commit message"
      },
      "content": {
        "type": "string",
        "description": "File content (will be base64 encoded)"
      },
      "branch": {
        "type": "string",
        "description": "Branch to commit to (defaults to default branch)"
      },
      "sha": {
        "type": "string",
        "description": "SHA of existing file (required for updates)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "path",
      "message",
      "content"
    ]
  }
  ```
</Expandable>

***

## github\_list\_commits

List commits in a GitHub repository. This tool automatically fetches ALL matching commits across multiple pages — no manual pagination needed. Use the since/until parameters to scope by date range, author to filter by committer, and maxResults to cap the total (default 500). Results are complete unless truncatedAtMax is true.

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                                                                   |
| ------------ | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| `owner`      | string | Yes      | —       | Repository owner                                                                                              |
| `repo`       | string | Yes      | —       | Repository name                                                                                               |
| `sha`        | string | No       | —       | SHA or branch to start listing from                                                                           |
| `path`       | string | No       | —       | Filter commits by file path                                                                                   |
| `author`     | string | No       | —       | Filter commits by author                                                                                      |
| `since`      | string | No       | —       | Only commits after this date (ISO 8601)                                                                       |
| `until`      | string | No       | —       | Only commits before this date (ISO 8601)                                                                      |
| `maxResults` | number | No       | `500`   | Maximum number of commits to return (default 500). The tool fetches all pages automatically up to this limit. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "sha": {
        "type": "string",
        "description": "SHA or branch to start listing from"
      },
      "path": {
        "type": "string",
        "description": "Filter commits by file path"
      },
      "author": {
        "type": "string",
        "description": "Filter commits by author"
      },
      "since": {
        "type": "string",
        "description": "Only commits after this date (ISO 8601)"
      },
      "until": {
        "type": "string",
        "description": "Only commits before this date (ISO 8601)"
      },
      "maxResults": {
        "type": "number",
        "default": 500,
        "description": "Maximum number of commits to return (default 500). The tool fetches all pages automatically up to this limit."
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_get\_current\_user

Get information about the authenticated user

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## github\_create\_branch

Create a new branch in a GitHub repository

**Parameters:**

| Parameter    | Type   | Required | Default  | Description                  |
| ------------ | ------ | -------- | -------- | ---------------------------- |
| `owner`      | string | Yes      | —        | Repository owner             |
| `repo`       | string | Yes      | —        | Repository name              |
| `branchName` | string | Yes      | —        | Name for the new branch      |
| `fromBranch` | string | No       | `"main"` | Source branch to create from |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "branchName": {
        "type": "string",
        "description": "Name for the new branch"
      },
      "fromBranch": {
        "type": "string",
        "default": "main",
        "description": "Source branch to create from"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "branchName"
    ]
  }
  ```
</Expandable>

***

## github\_list\_branches

List branches in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter   | Type    | Required | Default | Description                             |
| ----------- | ------- | -------- | ------- | --------------------------------------- |
| `owner`     | string  | Yes      | —       | Repository owner                        |
| `repo`      | string  | Yes      | —       | Repository name                         |
| `perPage`   | number  | No       | `30`    | Number of results per page              |
| `protected` | boolean | No       | —       | Filter to only protected branches       |
| `page`      | number  | No       | —       | Page number for pagination (default: 1) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page"
      },
      "protected": {
        "type": "boolean",
        "description": "Filter to only protected branches"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_get\_commit

Get a specific commit by reference (SHA, branch, or tag)

**Parameters:**

| Parameter | Type   | Required | Default | Description                     |
| --------- | ------ | -------- | ------- | ------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner                |
| `repo`    | string | Yes      | —       | Repository name                 |
| `ref`     | string | Yes      | —       | Commit SHA, branch name, or tag |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "ref": {
        "type": "string",
        "description": "Commit SHA, branch name, or tag"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "ref"
    ]
  }
  ```
</Expandable>

***

## github\_delete\_file

Delete a file from a GitHub repository

**Parameters:**

| Parameter | Type   | Required | Default | Description                                                                |
| --------- | ------ | -------- | ------- | -------------------------------------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner                                                           |
| `repo`    | string | Yes      | —       | Repository name                                                            |
| `path`    | string | Yes      | —       | File path in repository                                                    |
| `message` | string | Yes      | —       | Commit message for the deletion                                            |
| `sha`     | string | Yes      | —       | SHA of the file being deleted (use github\_get\_file\_content to get this) |
| `branch`  | string | No       | —       | Branch to delete from (defaults to default branch)                         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "path": {
        "type": "string",
        "description": "File path in repository"
      },
      "message": {
        "type": "string",
        "description": "Commit message for the deletion"
      },
      "sha": {
        "type": "string",
        "description": "SHA of the file being deleted (use github_get_file_content to get this)"
      },
      "branch": {
        "type": "string",
        "description": "Branch to delete from (defaults to default branch)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "path",
      "message",
      "sha"
    ]
  }
  ```
</Expandable>

***

## github\_push\_files

Push multiple files to a GitHub repository in a single atomic commit using the Git Tree API

**Parameters:**

| Parameter | Type      | Required | Default | Description            |
| --------- | --------- | -------- | ------- | ---------------------- |
| `owner`   | string    | Yes      | —       | Repository owner       |
| `repo`    | string    | Yes      | —       | Repository name        |
| `branch`  | string    | Yes      | —       | Branch to push to      |
| `files`   | object\[] | Yes      | —       | Array of files to push |
| `message` | string    | Yes      | —       | Commit message         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "branch": {
        "type": "string",
        "description": "Branch to push to"
      },
      "files": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "path": {
              "type": "string",
              "description": "File path in repository"
            },
            "content": {
              "type": "string",
              "description": "File content"
            }
          }
        },
        "description": "Array of files to push"
      },
      "message": {
        "type": "string",
        "description": "Commit message"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "branch",
      "files",
      "message"
    ]
  }
  ```
</Expandable>

***

## github\_fork\_repository

Fork a GitHub repository to your account or an organization

**Parameters:**

| Parameter      | Type   | Required | Default | Description                                              |
| -------------- | ------ | -------- | ------- | -------------------------------------------------------- |
| `owner`        | string | Yes      | —       | Repository owner                                         |
| `repo`         | string | Yes      | —       | Repository name                                          |
| `organization` | string | No       | —       | Organization to fork to (defaults to authenticated user) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "organization": {
        "type": "string",
        "description": "Organization to fork to (defaults to authenticated user)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_create\_issue

Create a new issue in a GitHub repository

**Parameters:**

| Parameter   | Type      | Required | Default | Description                                                                                                              |
| ----------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------ |
| `owner`     | string    | Yes      | —       | Repository owner (username or organization). Tip: Use github\_list\_repositories to see repositories you have access to. |
| `repo`      | string    | Yes      | —       | Repository name. Tip: Use github\_list\_repositories or github\_search\_repositories to discover available repositories. |
| `title`     | string    | Yes      | —       | Issue title                                                                                                              |
| `body`      | string    | No       | —       | Issue description/body                                                                                                   |
| `assignees` | string\[] | No       | —       | Array of usernames to assign. Tip: Use github\_get\_current\_user to get your username.                                  |
| `labels`    | string\[] | No       | —       | Array of label names to apply (label names, not IDs)                                                                     |
| `milestone` | number    | No       | —       | Milestone number to associate with issue                                                                                 |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization). Tip: Use github_list_repositories to see repositories you have access to."
      },
      "repo": {
        "type": "string",
        "description": "Repository name. Tip: Use github_list_repositories or github_search_repositories to discover available repositories."
      },
      "title": {
        "type": "string",
        "description": "Issue title"
      },
      "body": {
        "type": "string",
        "description": "Issue description/body"
      },
      "assignees": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Array of usernames to assign. Tip: Use github_get_current_user to get your username."
      },
      "labels": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Array of label names to apply (label names, not IDs)"
      },
      "milestone": {
        "type": "number",
        "description": "Milestone number to associate with issue"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "title"
    ]
  }
  ```
</Expandable>

***

## github\_list\_issues

List issues in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter   | Type   | Required | Default     | Description                             |
| ----------- | ------ | -------- | ----------- | --------------------------------------- |
| `owner`     | string | Yes      | —           | Repository owner                        |
| `repo`      | string | Yes      | —           | Repository name                         |
| `state`     | string | No       | `"open"`    | Issue state filter                      |
| `assignee`  | string | No       | —           | Filter by assignee username             |
| `labels`    | string | No       | —           | Comma-separated list of label names     |
| `sort`      | string | No       | `"created"` | Sort field                              |
| `direction` | string | No       | `"desc"`    | Sort direction                          |
| `perPage`   | number | No       | `30`        | Number of results per page              |
| `page`      | number | No       | —           | Page number for pagination (default: 1) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "state": {
        "type": "string",
        "enum": [
          "open",
          "closed",
          "all"
        ],
        "default": "open",
        "description": "Issue state filter"
      },
      "assignee": {
        "type": "string",
        "description": "Filter by assignee username"
      },
      "labels": {
        "type": "string",
        "description": "Comma-separated list of label names"
      },
      "sort": {
        "type": "string",
        "enum": [
          "created",
          "updated",
          "comments"
        ],
        "default": "created",
        "description": "Sort field"
      },
      "direction": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "default": "desc",
        "description": "Sort direction"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_get\_issue

Get a specific issue by number

**Parameters:**

| Parameter     | Type   | Required | Default | Description      |
| ------------- | ------ | -------- | ------- | ---------------- |
| `owner`       | string | Yes      | —       | Repository owner |
| `repo`        | string | Yes      | —       | Repository name  |
| `issueNumber` | number | Yes      | —       | Issue number     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "issueNumber": {
        "type": "number",
        "description": "Issue number"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "issueNumber"
    ]
  }
  ```
</Expandable>

***

## github\_update\_issue

Update an existing GitHub issue

**Parameters:**

| Parameter     | Type      | Required | Default | Description            |
| ------------- | --------- | -------- | ------- | ---------------------- |
| `owner`       | string    | Yes      | —       | Repository owner       |
| `repo`        | string    | Yes      | —       | Repository name        |
| `issueNumber` | number    | Yes      | —       | Issue number to update |
| `title`       | string    | No       | —       | Updated issue title    |
| `body`        | string    | No       | —       | Updated issue body     |
| `state`       | string    | No       | —       | Updated issue state    |
| `assignees`   | string\[] | No       | —       | Updated assignees      |
| `labels`      | string\[] | No       | —       | Updated labels         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "issueNumber": {
        "type": "number",
        "description": "Issue number to update"
      },
      "title": {
        "type": "string",
        "description": "Updated issue title"
      },
      "body": {
        "type": "string",
        "description": "Updated issue body"
      },
      "state": {
        "type": "string",
        "enum": [
          "open",
          "closed"
        ],
        "description": "Updated issue state"
      },
      "assignees": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Updated assignees"
      },
      "labels": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "Updated labels"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "issueNumber"
    ]
  }
  ```
</Expandable>

***

## github\_create\_issue\_comment

Add a comment to a GitHub issue

**Parameters:**

| Parameter     | Type   | Required | Default | Description                |
| ------------- | ------ | -------- | ------- | -------------------------- |
| `owner`       | string | Yes      | —       | Repository owner           |
| `repo`        | string | Yes      | —       | Repository name            |
| `issueNumber` | number | Yes      | —       | Issue number to comment on |
| `body`        | string | Yes      | —       | Comment text               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "issueNumber": {
        "type": "number",
        "description": "Issue number to comment on"
      },
      "body": {
        "type": "string",
        "description": "Comment text"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "issueNumber",
      "body"
    ]
  }
  ```
</Expandable>

***

## github\_get\_issue\_comments

List comments on a GitHub issue

**Parameters:**

| Parameter     | Type   | Required | Default | Description                |
| ------------- | ------ | -------- | ------- | -------------------------- |
| `owner`       | string | Yes      | —       | Repository owner           |
| `repo`        | string | Yes      | —       | Repository name            |
| `issueNumber` | number | Yes      | —       | Issue number               |
| `perPage`     | number | No       | —       | Number of results per page |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "issueNumber": {
        "type": "number",
        "description": "Issue number"
      },
      "perPage": {
        "type": "number",
        "description": "Number of results per page"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "issueNumber"
    ]
  }
  ```
</Expandable>

***

## github\_get\_issue\_labels

List labels on a GitHub issue

**Parameters:**

| Parameter     | Type   | Required | Default | Description      |
| ------------- | ------ | -------- | ------- | ---------------- |
| `owner`       | string | Yes      | —       | Repository owner |
| `repo`        | string | Yes      | —       | Repository name  |
| `issueNumber` | number | Yes      | —       | Issue number     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "issueNumber": {
        "type": "number",
        "description": "Issue number"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "issueNumber"
    ]
  }
  ```
</Expandable>

***

## github\_create\_pull\_request

Create a new pull request in a GitHub repository

**Parameters:**

| Parameter             | Type    | Required | Default | Description                                  |
| --------------------- | ------- | -------- | ------- | -------------------------------------------- |
| `owner`               | string  | Yes      | —       | Repository owner                             |
| `repo`                | string  | Yes      | —       | Repository name                              |
| `title`               | string  | Yes      | —       | Pull request title                           |
| `head`                | string  | Yes      | —       | Branch with changes (e.g., "feature-branch") |
| `base`                | string  | Yes      | —       | Base branch to merge into (e.g., "main")     |
| `body`                | string  | No       | —       | Pull request description                     |
| `draft`               | boolean | No       | `false` | Create as draft PR                           |
| `maintainerCanModify` | boolean | No       | `true`  | Allow maintainers to modify PR               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "title": {
        "type": "string",
        "description": "Pull request title"
      },
      "head": {
        "type": "string",
        "description": "Branch with changes (e.g., \"feature-branch\")"
      },
      "base": {
        "type": "string",
        "description": "Base branch to merge into (e.g., \"main\")"
      },
      "body": {
        "type": "string",
        "description": "Pull request description"
      },
      "draft": {
        "type": "boolean",
        "default": false,
        "description": "Create as draft PR"
      },
      "maintainerCanModify": {
        "type": "boolean",
        "default": true,
        "description": "Allow maintainers to modify PR"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "title",
      "head",
      "base"
    ]
  }
  ```
</Expandable>

***

## github\_list\_pull\_requests

List pull requests in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter   | Type   | Required | Default     | Description                             |
| ----------- | ------ | -------- | ----------- | --------------------------------------- |
| `owner`     | string | Yes      | —           | Repository owner                        |
| `repo`      | string | Yes      | —           | Repository name                         |
| `state`     | string | No       | `"open"`    | PR state filter                         |
| `head`      | string | No       | —           | Filter by head branch                   |
| `base`      | string | No       | —           | Filter by base branch                   |
| `sort`      | string | No       | `"created"` | Sort field                              |
| `direction` | string | No       | `"desc"`    | Sort direction                          |
| `perPage`   | number | No       | `30`        | Number of results per page              |
| `page`      | number | No       | —           | Page number for pagination (default: 1) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "state": {
        "type": "string",
        "enum": [
          "open",
          "closed",
          "all"
        ],
        "default": "open",
        "description": "PR state filter"
      },
      "head": {
        "type": "string",
        "description": "Filter by head branch"
      },
      "base": {
        "type": "string",
        "description": "Filter by base branch"
      },
      "sort": {
        "type": "string",
        "enum": [
          "created",
          "updated",
          "popularity"
        ],
        "default": "created",
        "description": "Sort field"
      },
      "direction": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "default": "desc",
        "description": "Sort direction"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_get\_pull\_request

Get a specific pull request by number

**Parameters:**

| Parameter    | Type   | Required | Default | Description         |
| ------------ | ------ | -------- | ------- | ------------------- |
| `owner`      | string | Yes      | —       | Repository owner    |
| `repo`       | string | Yes      | —       | Repository name     |
| `pullNumber` | number | Yes      | —       | Pull request number |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber"
    ]
  }
  ```
</Expandable>

***

## github\_get\_pull\_request\_diff

Get the raw diff of a pull request

**Parameters:**

| Parameter    | Type   | Required | Default | Description         |
| ------------ | ------ | -------- | ------- | ------------------- |
| `owner`      | string | Yes      | —       | Repository owner    |
| `repo`       | string | Yes      | —       | Repository name     |
| `pullNumber` | number | Yes      | —       | Pull request number |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber"
    ]
  }
  ```
</Expandable>

***

## github\_get\_pull\_request\_files

List files changed in a pull request

**Parameters:**

| Parameter    | Type   | Required | Default | Description         |
| ------------ | ------ | -------- | ------- | ------------------- |
| `owner`      | string | Yes      | —       | Repository owner    |
| `repo`       | string | Yes      | —       | Repository name     |
| `pullNumber` | number | Yes      | —       | Pull request number |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber"
    ]
  }
  ```
</Expandable>

***

## github\_get\_pull\_request\_reviews

List reviews on a pull request

**Parameters:**

| Parameter    | Type   | Required | Default | Description         |
| ------------ | ------ | -------- | ------- | ------------------- |
| `owner`      | string | Yes      | —       | Repository owner    |
| `repo`       | string | Yes      | —       | Repository name     |
| `pullNumber` | number | Yes      | —       | Pull request number |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber"
    ]
  }
  ```
</Expandable>

***

## github\_get\_pull\_request\_review\_comments

List review comments (inline comments on the diff) for a pull request

**Parameters:**

| Parameter    | Type   | Required | Default | Description         |
| ------------ | ------ | -------- | ------- | ------------------- |
| `owner`      | string | Yes      | —       | Repository owner    |
| `repo`       | string | Yes      | —       | Repository name     |
| `pullNumber` | number | Yes      | —       | Pull request number |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber"
    ]
  }
  ```
</Expandable>

***

## github\_get\_pull\_request\_comments

List conversation comments on a pull request (uses the issues API)

**Parameters:**

| Parameter    | Type   | Required | Default | Description         |
| ------------ | ------ | -------- | ------- | ------------------- |
| `owner`      | string | Yes      | —       | Repository owner    |
| `repo`       | string | Yes      | —       | Repository name     |
| `pullNumber` | number | Yes      | —       | Pull request number |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber"
    ]
  }
  ```
</Expandable>

***

## github\_get\_pull\_request\_check\_runs

Get CI check runs for a commit or branch reference

**Parameters:**

| Parameter | Type   | Required | Default | Description               |
| --------- | ------ | -------- | ------- | ------------------------- |
| `owner`   | string | Yes      | —       | Repository owner          |
| `repo`    | string | Yes      | —       | Repository name           |
| `ref`     | string | Yes      | —       | Commit SHA or branch name |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "ref": {
        "type": "string",
        "description": "Commit SHA or branch name"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "ref"
    ]
  }
  ```
</Expandable>

***

## github\_get\_pull\_request\_status

Get the combined commit status for a reference

**Parameters:**

| Parameter | Type   | Required | Default | Description               |
| --------- | ------ | -------- | ------- | ------------------------- |
| `owner`   | string | Yes      | —       | Repository owner          |
| `repo`    | string | Yes      | —       | Repository name           |
| `ref`     | string | Yes      | —       | Commit SHA or branch name |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "ref": {
        "type": "string",
        "description": "Commit SHA or branch name"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "ref"
    ]
  }
  ```
</Expandable>

***

## github\_update\_pull\_request

Update an existing pull request

**Parameters:**

| Parameter             | Type    | Required | Default | Description                    |
| --------------------- | ------- | -------- | ------- | ------------------------------ |
| `owner`               | string  | Yes      | —       | Repository owner               |
| `repo`                | string  | Yes      | —       | Repository name                |
| `pullNumber`          | number  | Yes      | —       | Pull request number            |
| `title`               | string  | No       | —       | Updated PR title               |
| `body`                | string  | No       | —       | Updated PR body                |
| `state`               | string  | No       | —       | Updated PR state               |
| `base`                | string  | No       | —       | Updated base branch            |
| `maintainerCanModify` | boolean | No       | —       | Allow maintainers to modify PR |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      },
      "title": {
        "type": "string",
        "description": "Updated PR title"
      },
      "body": {
        "type": "string",
        "description": "Updated PR body"
      },
      "state": {
        "type": "string",
        "enum": [
          "open",
          "closed"
        ],
        "description": "Updated PR state"
      },
      "base": {
        "type": "string",
        "description": "Updated base branch"
      },
      "maintainerCanModify": {
        "type": "boolean",
        "description": "Allow maintainers to modify PR"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber"
    ]
  }
  ```
</Expandable>

***

## github\_merge\_pull\_request

Merge a pull request

**Parameters:**

| Parameter       | Type   | Required | Default | Description                             |
| --------------- | ------ | -------- | ------- | --------------------------------------- |
| `owner`         | string | Yes      | —       | Repository owner                        |
| `repo`          | string | Yes      | —       | Repository name                         |
| `pullNumber`    | number | Yes      | —       | Pull request number                     |
| `commitTitle`   | string | No       | —       | Title for the merge commit              |
| `commitMessage` | string | No       | —       | Message for the merge commit            |
| `mergeMethod`   | string | No       | —       | Merge method to use                     |
| `sha`           | string | No       | —       | SHA that head must match to allow merge |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      },
      "commitTitle": {
        "type": "string",
        "description": "Title for the merge commit"
      },
      "commitMessage": {
        "type": "string",
        "description": "Message for the merge commit"
      },
      "mergeMethod": {
        "type": "string",
        "enum": [
          "merge",
          "squash",
          "rebase"
        ],
        "description": "Merge method to use"
      },
      "sha": {
        "type": "string",
        "description": "SHA that head must match to allow merge"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber"
    ]
  }
  ```
</Expandable>

***

## github\_update\_pull\_request\_branch

Update a pull request branch with the latest changes from the base branch

**Parameters:**

| Parameter         | Type   | Required | Default | Description                  |
| ----------------- | ------ | -------- | ------- | ---------------------------- |
| `owner`           | string | Yes      | —       | Repository owner             |
| `repo`            | string | Yes      | —       | Repository name              |
| `pullNumber`      | number | Yes      | —       | Pull request number          |
| `expectedHeadSha` | string | No       | —       | Expected SHA of the head ref |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      },
      "expectedHeadSha": {
        "type": "string",
        "description": "Expected SHA of the head ref"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber"
    ]
  }
  ```
</Expandable>

***

## github\_create\_pull\_request\_review

Create or submit a review on a pull request

**Parameters:**

| Parameter    | Type      | Required | Default | Description                         |
| ------------ | --------- | -------- | ------- | ----------------------------------- |
| `owner`      | string    | Yes      | —       | Repository owner                    |
| `repo`       | string    | Yes      | —       | Repository name                     |
| `pullNumber` | number    | Yes      | —       | Pull request number                 |
| `body`       | string    | No       | —       | Review body text                    |
| `event`      | string    | Yes      | —       | Review action to perform            |
| `comments`   | object\[] | No       | —       | Array of review comments to include |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      },
      "body": {
        "type": "string",
        "description": "Review body text"
      },
      "event": {
        "type": "string",
        "enum": [
          "APPROVE",
          "REQUEST_CHANGES",
          "COMMENT"
        ],
        "description": "Review action to perform"
      },
      "comments": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "path": {
              "type": "string",
              "description": "File path to comment on"
            },
            "position": {
              "type": "number",
              "description": "Position in the diff"
            },
            "body": {
              "type": "string",
              "description": "Comment body"
            },
            "line": {
              "type": "number",
              "description": "Line number"
            },
            "side": {
              "type": "string",
              "description": "Side of the diff (LEFT or RIGHT)"
            }
          }
        },
        "description": "Array of review comments to include"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber",
      "event"
    ]
  }
  ```
</Expandable>

***

## github\_add\_pull\_request\_review\_comment

Add a review comment on a pull request diff

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                 |
| ------------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`       | string | Yes      | —       | Repository owner                            |
| `repo`        | string | Yes      | —       | Repository name                             |
| `pullNumber`  | number | Yes      | —       | Pull request number                         |
| `body`        | string | Yes      | —       | Comment body                                |
| `commitId`    | string | Yes      | —       | The SHA of the commit to comment on         |
| `path`        | string | Yes      | —       | The relative path of the file to comment on |
| `line`        | number | No       | —       | The line of the blob to comment on          |
| `side`        | string | No       | —       | Side of the diff to comment on              |
| `subjectType` | string | No       | —       | Whether the comment is on a line or file    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      },
      "body": {
        "type": "string",
        "description": "Comment body"
      },
      "commitId": {
        "type": "string",
        "description": "The SHA of the commit to comment on"
      },
      "path": {
        "type": "string",
        "description": "The relative path of the file to comment on"
      },
      "line": {
        "type": "number",
        "description": "The line of the blob to comment on"
      },
      "side": {
        "type": "string",
        "enum": [
          "LEFT",
          "RIGHT"
        ],
        "description": "Side of the diff to comment on"
      },
      "subjectType": {
        "type": "string",
        "enum": [
          "line",
          "file"
        ],
        "description": "Whether the comment is on a line or file"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber",
      "body",
      "commitId",
      "path"
    ]
  }
  ```
</Expandable>

***

## github\_reply\_to\_pull\_request\_comment

Reply to an existing review comment on a pull request

**Parameters:**

| Parameter    | Type   | Required | Default | Description                              |
| ------------ | ------ | -------- | ------- | ---------------------------------------- |
| `owner`      | string | Yes      | —       | Repository owner                         |
| `repo`       | string | Yes      | —       | Repository name                          |
| `pullNumber` | number | Yes      | —       | Pull request number                      |
| `commentId`  | number | Yes      | —       | The ID of the review comment to reply to |
| `body`       | string | Yes      | —       | Reply body                               |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "pullNumber": {
        "type": "number",
        "description": "Pull request number"
      },
      "commentId": {
        "type": "number",
        "description": "The ID of the review comment to reply to"
      },
      "body": {
        "type": "string",
        "description": "Reply body"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "pullNumber",
      "commentId",
      "body"
    ]
  }
  ```
</Expandable>

***

## github\_search\_issues

Search issues across GitHub repositories using GitHub search syntax. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore. Use qualifiers like repo:owner/name, state:open, label:bug, assignee:username, etc.

**Parameters:**

| Parameter | Type   | Required | Default  | Description                                                                                                              |
| --------- | ------ | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------ |
| `query`   | string | Yes      | —        | GitHub search query string. Supports qualifiers like repo:owner/name, state:open, label:bug, assignee:username, is:issue |
| `sort`    | string | No       | —        | Sort field for results                                                                                                   |
| `order`   | string | No       | `"desc"` | Sort order                                                                                                               |
| `perPage` | number | No       | `30`     | Number of results per page (max 100)                                                                                     |
| `page`    | number | No       | —        | Page number for pagination (default: 1)                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "string",
        "description": "GitHub search query string. Supports qualifiers like repo:owner/name, state:open, label:bug, assignee:username, is:issue"
      },
      "sort": {
        "type": "string",
        "enum": [
          "comments",
          "reactions",
          "reactions-+1",
          "reactions--1",
          "reactions-smile",
          "reactions-thinking_face",
          "reactions-heart",
          "reactions-tada",
          "interactions",
          "created",
          "updated"
        ],
        "description": "Sort field for results"
      },
      "order": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "default": "desc",
        "description": "Sort order"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "query"
    ]
  }
  ```
</Expandable>

***

## github\_search\_pull\_requests

Search pull requests across GitHub repositories using GitHub search syntax. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore. Use qualifiers like repo:owner/name, state:open, label:bug, author:username, is:pr, etc.

**Parameters:**

| Parameter | Type   | Required | Default  | Description                                                                                                         |
| --------- | ------ | -------- | -------- | ------------------------------------------------------------------------------------------------------------------- |
| `query`   | string | Yes      | —        | GitHub search query string. Supports qualifiers like repo:owner/name, state:open, label:bug, author:username, is:pr |
| `sort`    | string | No       | —        | Sort field for results                                                                                              |
| `order`   | string | No       | `"desc"` | Sort order                                                                                                          |
| `perPage` | number | No       | `30`     | Number of results per page (max 100)                                                                                |
| `page`    | number | No       | —        | Page number for pagination (default: 1)                                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "string",
        "description": "GitHub search query string. Supports qualifiers like repo:owner/name, state:open, label:bug, author:username, is:pr"
      },
      "sort": {
        "type": "string",
        "enum": [
          "comments",
          "reactions",
          "reactions-+1",
          "reactions--1",
          "reactions-smile",
          "reactions-thinking_face",
          "reactions-heart",
          "reactions-tada",
          "interactions",
          "created",
          "updated"
        ],
        "description": "Sort field for results"
      },
      "order": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "default": "desc",
        "description": "Sort order"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "query"
    ]
  }
  ```
</Expandable>

***

## github\_search\_code

Search code across GitHub repositories using GitHub search syntax. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore. Use qualifiers like repo:owner/name, language:javascript, filename:test, extension:ts, etc.

**Parameters:**

| Parameter | Type   | Required | Default  | Description                                                                                                                      |
| --------- | ------ | -------- | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `query`   | string | Yes      | —        | GitHub search query string. Supports qualifiers like repo:owner/name, language:javascript, filename:test, extension:ts, path:src |
| `sort`    | string | No       | —        | Sort field for results (only "indexed" is supported)                                                                             |
| `order`   | string | No       | `"desc"` | Sort order                                                                                                                       |
| `perPage` | number | No       | `30`     | Number of results per page (max 100)                                                                                             |
| `page`    | number | No       | —        | Page number for pagination (default: 1)                                                                                          |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "string",
        "description": "GitHub search query string. Supports qualifiers like repo:owner/name, language:javascript, filename:test, extension:ts, path:src"
      },
      "sort": {
        "type": "string",
        "enum": [
          "indexed"
        ],
        "description": "Sort field for results (only \"indexed\" is supported)"
      },
      "order": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "default": "desc",
        "description": "Sort order"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "query"
    ]
  }
  ```
</Expandable>

***

## github\_search\_users

Search users on GitHub using GitHub search syntax. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore. Use qualifiers like type:user, type:org, location:city, language:javascript, followers:>100, etc.

**Parameters:**

| Parameter | Type   | Required | Default  | Description                                                                                                                  |
| --------- | ------ | -------- | -------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `query`   | string | Yes      | —        | GitHub search query string. Supports qualifiers like type:user, type:org, location:city, language:javascript, followers:>100 |
| `sort`    | string | No       | —        | Sort field for results                                                                                                       |
| `order`   | string | No       | `"desc"` | Sort order                                                                                                                   |
| `perPage` | number | No       | `30`     | Number of results per page (max 100)                                                                                         |
| `page`    | number | No       | —        | Page number for pagination (default: 1)                                                                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "string",
        "description": "GitHub search query string. Supports qualifiers like type:user, type:org, location:city, language:javascript, followers:>100"
      },
      "sort": {
        "type": "string",
        "enum": [
          "followers",
          "repositories",
          "joined"
        ],
        "description": "Sort field for results"
      },
      "order": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "default": "desc",
        "description": "Sort order"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "query"
    ]
  }
  ```
</Expandable>

***

## github\_list\_workflows

List all workflows in a GitHub repository (GitHub Actions workflow files). IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `perPage` | number | No       | `30`    | Number of results per page (max 100)        |
| `page`    | number | No       | —       | Page number for pagination (default: 1)     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_get\_workflow

Get a specific workflow by ID or filename

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                        |
| ------------ | ------ | -------- | ------- | ------------------------------------------------------------------ |
| `owner`      | string | Yes      | —       | Repository owner (username or organization)                        |
| `repo`       | string | Yes      | —       | Repository name                                                    |
| `workflowId` | string | Yes      | —       | Workflow ID (number) or workflow file name (string, e.g. "ci.yml") |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "workflowId": {
        "oneOf": [
          {
            "type": "number"
          },
          {
            "type": "string"
          }
        ],
        "description": "Workflow ID (number) or workflow file name (string, e.g. \"ci.yml\")"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "workflowId"
    ]
  }
  ```
</Expandable>

***

## github\_list\_workflow\_runs

List workflow runs for a repository, optionally filtered by workflow, actor, branch, event, or status. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                                  |
| ------------ | ------ | -------- | ------- | ---------------------------------------------------------------------------- |
| `owner`      | string | Yes      | —       | Repository owner (username or organization)                                  |
| `repo`       | string | Yes      | —       | Repository name                                                              |
| `workflowId` | string | No       | —       | Filter by workflow ID (number) or workflow file name (string, e.g. "ci.yml") |
| `actor`      | string | No       | —       | Filter by the user who triggered the run                                     |
| `branch`     | string | No       | —       | Filter by branch name                                                        |
| `event`      | string | No       | —       | Filter by event type (e.g. push, pull\_request)                              |
| `status`     | string | No       | —       | Filter by run status                                                         |
| `perPage`    | number | No       | `30`    | Number of results per page (max 100)                                         |
| `page`       | number | No       | —       | Page number for pagination (default: 1)                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "workflowId": {
        "oneOf": [
          {
            "type": "number"
          },
          {
            "type": "string"
          }
        ],
        "description": "Filter by workflow ID (number) or workflow file name (string, e.g. \"ci.yml\")"
      },
      "actor": {
        "type": "string",
        "description": "Filter by the user who triggered the run"
      },
      "branch": {
        "type": "string",
        "description": "Filter by branch name"
      },
      "event": {
        "type": "string",
        "description": "Filter by event type (e.g. push, pull_request)"
      },
      "status": {
        "type": "string",
        "enum": [
          "completed",
          "action_required",
          "cancelled",
          "failure",
          "neutral",
          "skipped",
          "stale",
          "success",
          "timed_out",
          "in_progress",
          "queued",
          "requested",
          "waiting",
          "pending"
        ],
        "description": "Filter by run status"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_get\_workflow\_run

Get a specific workflow run by ID

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `runId`   | number | Yes      | —       | Workflow run ID                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "runId": {
        "type": "number",
        "description": "Workflow run ID"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "runId"
    ]
  }
  ```
</Expandable>

***

## github\_list\_workflow\_jobs

List jobs for a specific workflow run. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `runId`   | number | Yes      | —       | Workflow run ID                             |
| `perPage` | number | No       | `30`    | Number of results per page (max 100)        |
| `page`    | number | No       | —       | Page number for pagination (default: 1)     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "runId": {
        "type": "number",
        "description": "Workflow run ID"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "runId"
    ]
  }
  ```
</Expandable>

***

## github\_get\_workflow\_job

Get a specific workflow job by ID

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `jobId`   | number | Yes      | —       | Job ID                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "jobId": {
        "type": "number",
        "description": "Job ID"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "jobId"
    ]
  }
  ```
</Expandable>

***

## github\_run\_workflow

Trigger a workflow dispatch event to run a GitHub Actions workflow. The workflow must have a workflow\_dispatch trigger configured.

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                                        |
| ------------ | ------ | -------- | ------- | ------------------------------------------------------------------ |
| `owner`      | string | Yes      | —       | Repository owner (username or organization)                        |
| `repo`       | string | Yes      | —       | Repository name                                                    |
| `workflowId` | string | Yes      | —       | Workflow ID (number) or workflow file name (string, e.g. "ci.yml") |
| `ref`        | string | Yes      | —       | Git reference (branch or tag) to run the workflow on               |
| `inputs`     | object | No       | —       | Input key-value pairs for the workflow\_dispatch event             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "workflowId": {
        "oneOf": [
          {
            "type": "number"
          },
          {
            "type": "string"
          }
        ],
        "description": "Workflow ID (number) or workflow file name (string, e.g. \"ci.yml\")"
      },
      "ref": {
        "type": "string",
        "description": "Git reference (branch or tag) to run the workflow on"
      },
      "inputs": {
        "type": "object",
        "additionalProperties": true,
        "description": "Input key-value pairs for the workflow_dispatch event"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "workflowId",
      "ref"
    ]
  }
  ```
</Expandable>

***

## github\_get\_job\_logs

Download logs for a specific workflow job

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `jobId`   | number | Yes      | —       | Job ID                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "jobId": {
        "type": "number",
        "description": "Job ID"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "jobId"
    ]
  }
  ```
</Expandable>

***

## github\_cancel\_workflow\_run

Cancel a workflow run that is in progress or queued

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `runId`   | number | Yes      | —       | Workflow run ID to cancel                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "runId": {
        "type": "number",
        "description": "Workflow run ID to cancel"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "runId"
    ]
  }
  ```
</Expandable>

***

## github\_rerun\_workflow

Re-run an entire workflow run

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `runId`   | number | Yes      | —       | Workflow run ID to re-run                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "runId": {
        "type": "number",
        "description": "Workflow run ID to re-run"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "runId"
    ]
  }
  ```
</Expandable>

***

## github\_rerun\_failed\_jobs

Re-run only the failed jobs in a workflow run (instead of the entire run)

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `runId`   | number | Yes      | —       | Workflow run ID to re-run failed jobs for   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "runId": {
        "type": "number",
        "description": "Workflow run ID to re-run failed jobs for"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "runId"
    ]
  }
  ```
</Expandable>

***

## github\_list\_workflow\_run\_artifacts

List artifacts produced by a workflow run. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `runId`   | number | Yes      | —       | Workflow run ID                             |
| `perPage` | number | No       | `30`    | Number of results per page (max 100)        |
| `page`    | number | No       | —       | Page number for pagination (default: 1)     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "runId": {
        "type": "number",
        "description": "Workflow run ID"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "runId"
    ]
  }
  ```
</Expandable>

***

## github\_download\_workflow\_run\_artifact

Get a download URL for a workflow run artifact. Returns a redirect URL to download the artifact archive (ZIP).

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                 |
| ------------ | ------ | -------- | ------- | ------------------------------------------- |
| `owner`      | string | Yes      | —       | Repository owner (username or organization) |
| `repo`       | string | Yes      | —       | Repository name                             |
| `artifactId` | number | Yes      | —       | Artifact ID to download                     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "artifactId": {
        "type": "number",
        "description": "Artifact ID to download"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "artifactId"
    ]
  }
  ```
</Expandable>

***

## github\_get\_label

Get a specific label by name from a GitHub repository

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `name`    | string | Yes      | —       | Label name                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "name": {
        "type": "string",
        "description": "Label name"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "name"
    ]
  }
  ```
</Expandable>

***

## github\_list\_labels

List all labels in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `perPage` | number | No       | `30`    | Number of results per page (max 100)        |
| `page`    | number | No       | —       | Page number for pagination (default: 1)     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_create\_label

Create a new label in a GitHub repository

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                                            |
| ------------- | ------ | -------- | ------- | ---------------------------------------------------------------------- |
| `owner`       | string | Yes      | —       | Repository owner (username or organization)                            |
| `repo`        | string | Yes      | —       | Repository name                                                        |
| `name`        | string | Yes      | —       | Label name                                                             |
| `color`       | string | Yes      | —       | Label color as hex string without the # prefix (e.g. "ff0000" for red) |
| `description` | string | No       | —       | Label description                                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "name": {
        "type": "string",
        "description": "Label name"
      },
      "color": {
        "type": "string",
        "description": "Label color as hex string without the # prefix (e.g. \"ff0000\" for red)"
      },
      "description": {
        "type": "string",
        "description": "Label description"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "name",
      "color"
    ]
  }
  ```
</Expandable>

***

## github\_update\_label

Update an existing label in a GitHub repository. Can change name, color, and/or description.

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                                                |
| ------------- | ------ | -------- | ------- | -------------------------------------------------------------------------- |
| `owner`       | string | Yes      | —       | Repository owner (username or organization)                                |
| `repo`        | string | Yes      | —       | Repository name                                                            |
| `name`        | string | Yes      | —       | Current label name                                                         |
| `newName`     | string | No       | —       | New label name                                                             |
| `color`       | string | No       | —       | New label color as hex string without the # prefix (e.g. "ff0000" for red) |
| `description` | string | No       | —       | New label description                                                      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "name": {
        "type": "string",
        "description": "Current label name"
      },
      "newName": {
        "type": "string",
        "description": "New label name"
      },
      "color": {
        "type": "string",
        "description": "New label color as hex string without the # prefix (e.g. \"ff0000\" for red)"
      },
      "description": {
        "type": "string",
        "description": "New label description"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "name"
    ]
  }
  ```
</Expandable>

***

## github\_delete\_label

Delete a label from a GitHub repository

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `name`    | string | Yes      | —       | Label name to delete                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "name": {
        "type": "string",
        "description": "Label name to delete"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "name"
    ]
  }
  ```
</Expandable>

***

## github\_list\_releases

List releases in a GitHub repository, ordered by creation date. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `perPage` | number | No       | `30`    | Number of results per page (max 100)        |
| `page`    | number | No       | —       | Page number for pagination (default: 1)     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_get\_latest\_release

Get the latest published release in a GitHub repository (excludes drafts and pre-releases)

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_get\_release\_by\_tag

Get a specific release by its tag name

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `tag`     | string | Yes      | —       | Tag name (e.g. "v1.0.0")                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "tag": {
        "type": "string",
        "description": "Tag name (e.g. \"v1.0.0\")"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "tag"
    ]
  }
  ```
</Expandable>

***

## github\_list\_tags

List tags in a GitHub repository. IMPORTANT: This tool paginates. Results may be incomplete. Always check pagination.hasMore in the response — if true, you MUST call again with the next page number to get all results. Do not report results as complete without checking pagination.hasMore.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `perPage` | number | No       | `30`    | Number of results per page (max 100)        |
| `page`    | number | No       | —       | Page number for pagination (default: 1)     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "perPage": {
        "type": "number",
        "default": 30,
        "description": "Number of results per page (max 100)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination (default: 1)"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo"
    ]
  }
  ```
</Expandable>

***

## github\_get\_tag

Get an annotated tag object by its SHA. Use this to get details like the tag message and tagger information.

**Parameters:**

| Parameter | Type   | Required | Default | Description                                 |
| --------- | ------ | -------- | ------- | ------------------------------------------- |
| `owner`   | string | Yes      | —       | Repository owner (username or organization) |
| `repo`    | string | Yes      | —       | Repository name                             |
| `tagSha`  | string | Yes      | —       | The SHA of the annotated tag object         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "tagSha": {
        "type": "string",
        "description": "The SHA of the annotated tag object"
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "tagSha"
    ]
  }
  ```
</Expandable>

***

## github\_get\_repository\_tree

Get a repository tree (directory listing) recursively or non-recursively. Use HEAD as the treeSha to get the default branch tree, or provide a specific branch name or tree SHA.

**Parameters:**

| Parameter   | Type    | Required | Default | Description                                                                                     |
| ----------- | ------- | -------- | ------- | ----------------------------------------------------------------------------------------------- |
| `owner`     | string  | Yes      | —       | Repository owner (username or organization)                                                     |
| `repo`      | string  | Yes      | —       | Repository name                                                                                 |
| `treeSha`   | string  | Yes      | —       | SHA of the tree or branch name (use HEAD for default branch)                                    |
| `recursive` | boolean | No       | `false` | Whether to recursively list all files in subdirectories. Warning: large repos may be truncated. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name"
      },
      "treeSha": {
        "type": "string",
        "description": "SHA of the tree or branch name (use HEAD for default branch)"
      },
      "recursive": {
        "type": "boolean",
        "default": false,
        "description": "Whether to recursively list all files in subdirectories. Warning: large repos may be truncated."
      }
    },
    "required": [
      "PCID",
      "owner",
      "repo",
      "treeSha"
    ]
  }
  ```
</Expandable>

***

## github\_list\_trigger\_capabilities

List available trigger types that can be created for GitHub webhooks

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID (optional for this operation)"
      }
    }
  }
  ```
</Expandable>

***

## github\_create\_trigger

Create a GitHub webhook that will send events

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                                                                                                                |
| ------------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `triggerType` | string | Yes      | —       | Type of trigger to create                                                                                                                  |
| `webhookUrl`  | string | Yes      | —       | The webhook URL where GitHub should send events                                                                                            |
| `repository`  | string | Yes      | —       | Repository in owner/name format (e.g., "octocat/hello-world"). Tip: Use github\_list\_repositories to see repositories you have access to. |
| `events`      | any    | Yes      | —       | Event types to subscribe to. Common: push, pull\_request, issues, issue\_comment, release. Can be passed as JSON string array or array.    |
| `secret`      | string | No       | —       | Optional webhook secret for signature verification (auto-generated if not provided)                                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "triggerType": {
        "type": "string",
        "enum": [
          "github_repository_events"
        ],
        "description": "Type of trigger to create"
      },
      "webhookUrl": {
        "type": "string",
        "description": "The webhook URL where GitHub should send events"
      },
      "repository": {
        "type": "string",
        "description": "Repository in owner/name format (e.g., \"octocat/hello-world\"). Tip: Use github_list_repositories to see repositories you have access to."
      },
      "events": {
        "type": "effects",
        "description": "Event types to subscribe to. Common: push, pull_request, issues, issue_comment, release. Can be passed as JSON string array or array."
      },
      "secret": {
        "type": "string",
        "description": "Optional webhook secret for signature verification (auto-generated if not provided)"
      }
    },
    "required": [
      "PCID",
      "triggerType",
      "webhookUrl",
      "repository",
      "events"
    ]
  }
  ```
</Expandable>

***

## github\_update\_trigger

Update an existing GitHub webhook (only supports updating events list)

**Parameters:**

| Parameter   | Type    | Required | Default | Description                                                                                                              |
| ----------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------ |
| `webhookId` | string  | Yes      | —       | The GitHub webhook ID to update                                                                                          |
| `owner`     | string  | Yes      | —       | Repository owner (username or organization). Tip: Use github\_list\_repositories to see repositories you have access to. |
| `repo`      | string  | Yes      | —       | Repository name. Tip: Use github\_list\_repositories to find the repository.                                             |
| `events`    | any     | Yes      | —       | Array of event types to subscribe to. Can be passed as JSON string array or array.                                       |
| `active`    | boolean | No       | `true`  | Whether the webhook is active                                                                                            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "webhookId": {
        "type": "string",
        "description": "The GitHub webhook ID to update"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (username or organization). Tip: Use github_list_repositories to see repositories you have access to."
      },
      "repo": {
        "type": "string",
        "description": "Repository name. Tip: Use github_list_repositories to find the repository."
      },
      "events": {
        "type": "effects",
        "description": "Array of event types to subscribe to. Can be passed as JSON string array or array."
      },
      "active": {
        "type": "boolean",
        "default": true,
        "description": "Whether the webhook is active"
      }
    },
    "required": [
      "PCID",
      "webhookId",
      "owner",
      "repo",
      "events"
    ]
  }
  ```
</Expandable>

***

## github\_delete\_trigger

Delete a GitHub webhook

**Parameters:**

| Parameter   | Type   | Required | Default | Description                                                          |
| ----------- | ------ | -------- | ------- | -------------------------------------------------------------------- |
| `triggerId` | string | Yes      | —       | The ID of the webhook to delete                                      |
| `owner`     | string | No       | —       | Repository owner (required if not in metadata from trigger creation) |
| `repo`      | string | No       | —       | Repository name (required if not in metadata from trigger creation)  |
| `webhookId` | string | No       | —       | Optional webhook ID (if not provided, will use triggerId)            |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "triggerId": {
        "type": "string",
        "description": "The ID of the webhook to delete"
      },
      "owner": {
        "type": "string",
        "description": "Repository owner (required if not in metadata from trigger creation)"
      },
      "repo": {
        "type": "string",
        "description": "Repository name (required if not in metadata from trigger creation)"
      },
      "webhookId": {
        "type": "string",
        "description": "Optional webhook ID (if not provided, will use triggerId)"
      }
    },
    "required": [
      "PCID",
      "triggerId"
    ]
  }
  ```
</Expandable>
