---
title: "GitHub Integration"
description: "Manage GitHub repos, issues, and pull requests"
---
The GitHub integration provides access to manage GitHub repos, issues, and pull requests through the Integrate MCP server.

## Installation

The GitHub integration is included with the SDK:

```typescript
import { githubIntegration } from "integrate-sdk/server";
```

## Setup

### 1. Create a GitHub OAuth App

1. Go to [GitHub Developer Settings](https://github.com/settings/developers)
2. Create a new OAuth application
3. Configure your redirect URI
4. Note your Client ID and Client Secret

### 2. Configure the Integration on Your Server

Add the GitHub integration to your server configuration. The integration automatically reads `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET` from your environment variables:

```typescript
import { createMCPServer, githubIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    githubIntegration({
    }),
  ],
});
```

You can override the environment variables by passing explicit values:

```typescript
githubIntegration({
  clientId: process.env.CUSTOM_GITHUB_ID,
  clientSecret: process.env.CUSTOM_GITHUB_SECRET,
});
```

### 3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

```typescript
import { client } from "integrate-sdk";

await client.authorize("github");
const result = await client.github.createIssue({
  owner: "value",
});

console.log(result);
```

If you're using a custom client, add the integration to the integrations array:

```typescript
import { createMCPClient, githubIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [githubIntegration()],
});
```

## Configuration Options

<AutoTypeTable
  path="../src/integrations/github.ts"
  name="GitHubIntegrationConfig"
/>


## Tools

### `github_create_issue`

Create a new issue in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubCreateIssueParams"
/>

### `github_list_issues`

List issues in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListIssuesParams"
/>

### `github_get_issue`

Get a specific issue

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubGetIssueParams"
/>

### `github_update_issue`

Update an existing issue

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubUpdateIssueParams"
/>

### `github_close_issue`

Close an issue

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubCloseIssueParams"
/>

### `github_create_pull_request`

Create a pull request

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubCreatePullRequestParams"
/>

### `github_list_pull_requests`

List pull requests in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListPullRequestsParams"
/>

### `github_get_pull_request`

Get a specific pull request

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubGetPullRequestParams"
/>

### `github_merge_pull_request`

Merge a pull request

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubMergePullRequestParams"
/>

### `github_list_repos`

List repositories (for a user or organization)

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListReposParams"
/>

### `github_list_own_repos`

List repositories for the authenticated user

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListOwnReposParams"
/>

### `github_get_repo`

Get a specific repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubGetRepoParams"
/>

### `github_create_repo`

Create a new repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubCreateRepoParams"
/>

### `github_list_branches`

List branches in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListBranchesParams"
/>

### `github_create_branch`

Create a new branch

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubCreateBranchParams"
/>

### `github_get_authenticated_user`

Get information about the authenticated user

_No parameters._

### `github_get_user`

Get information about a user

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubGetUserParams"
/>

### `github_list_commits`

List commits in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListCommitsParams"
/>

### `github_get_commit`

Get a specific commit

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubGetCommitParams"
/>

### `github_list_issue_comments`

List comments on an issue

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListIssueCommentsParams"
/>

### `github_add_issue_comment`

Add a comment to an issue

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubAddIssueCommentParams"
/>

### `github_update_issue_comment`

Update an issue comment

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubUpdateIssueCommentParams"
/>

### `github_delete_issue_comment`

Delete an issue comment

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubDeleteIssueCommentParams"
/>

### `github_list_pr_files`

List pr files

_No parameters._

### `github_list_pr_commits`

List pr commits

_No parameters._

### `github_list_pr_reviews`

List pr reviews

_No parameters._

### `github_create_pr_review`

Create pr review

_No parameters._

### `github_list_pr_review_comments`

List pr review comments

_No parameters._

### `github_get_file_contents`

Get the contents of a file or directory in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubGetFileContentsParams"
/>

### `github_create_or_update_file`

Create or update a file in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubCreateOrUpdateFileParams"
/>

### `github_delete_file`

Delete a file from a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubDeleteFileParams"
/>

### `github_list_releases`

List releases in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListReleasesParams"
/>

### `github_get_release`

Get a specific release

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubGetReleaseParams"
/>

### `github_get_latest_release`

Get the latest release for a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubGetLatestReleaseParams"
/>

### `github_create_release`

Create a release

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubCreateReleaseParams"
/>

### `github_list_labels`

List labels for a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListLabelsParams"
/>

### `github_create_label`

Create a label in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubCreateLabelParams"
/>

### `github_add_issue_labels`

Add labels to an issue

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubAddIssueLabelsParams"
/>

### `github_list_collaborators`

List collaborators for a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListCollaboratorsParams"
/>

### `github_fork_repo`

Fork a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubForkRepoParams"
/>

### `github_search_repos`

Search repositories

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubSearchReposParams"
/>

### `github_search_issues`

Search issues and pull requests

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubSearchIssuesParams"
/>

### `github_search_code`

Search code

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubSearchCodeParams"
/>

### `github_list_workflows`

List workflows in a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListWorkflowsParams"
/>

### `github_list_workflow_runs`

List workflow runs for a repository or workflow

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListWorkflowRunsParams"
/>

### `github_trigger_workflow`

Trigger a workflow dispatch event

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubTriggerWorkflowParams"
/>

### `github_list_milestones`

List milestones for a repository

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubListMilestonesParams"
/>

### `github_create_milestone`

Create a milestone

<AutoTypeTable
  path="generated/tool-params/github.ts"
  name="GithubCreateMilestoneParams"
/>

## Notes

- Category: Engineering
- Authentication mode: OAuth
