---
title: GitHub Tools
description: Add scoped GitHub tools with Vercel Connect authentication and approval rules.
type: extension
keywords:
  - github
  - repositories
  - pull requests
  - issues
  - code review
  - ci
  - vercel connect
  - approval
---

# GitHub Tools

Extension integration for eve. Add scoped GitHub tools with Vercel Connect authentication and approval rules.

## Install

Install the GitHub Tools extension and Vercel Connect client:

```bash
eve add extension/github-tools
```

The extension provides the GitHub toolset as a versioned eve package. Use a Vercel Connect connector for short-lived, scoped GitHub tokens, or omit `@vercel/connect` and authenticate with a GitHub token.

## Quick start

Create and attach a GitHub connector to the Vercel project that runs your agent:

```bash
vercel link
vercel connect create github --name my-connector
vercel connect attach github/my-connector --yes
vercel env pull
```

Then mount the extension under `agent/extensions/`:

```ts title="agent/extensions/github.ts"
import githubExtension from "@github-tools/eve-extension";

export default githubExtension({
  connector: "github/my-connector",
  preset: "maintainer",
  requireApproval: {
    mergePullRequest: true,
  },
});
```

The filename supplies the `github` namespace, so tools appear as `github__listPullRequests`, `github__createIssue`, and `github__addPullRequestComment`. The preset automatically limits the connector token to the scopes its tools need.

## Configure

Choose one or more presets to limit the available tools: `code-review`, `issue-triage`, `repo-explorer`, `ci-ops`, or `maintainer`. Every write tool requires approval by default, while read tools do not. Use `requireApproval` to apply `always`, `once`, or an input-dependent policy to individual tools:

```ts title="agent/extensions/github.ts"
import githubExtension from "@github-tools/eve-extension";

export default githubExtension({
  connector: "github/my-connector",
  preset: ["code-review", "issue-triage"],
  requireApproval: {
    addPullRequestComment: "once",
    mergePullRequest: true,
    createIssue: ({ toolInput }) => toolInput?.owner !== "my-org",
  },
});
```

For local or non-Vercel deployments, omit `connector` and set `GITHUB_TOKEN`; the extension also accepts an explicit `token`. Prefer fine-grained credentials, expose only the presets the agent needs, and keep approval enabled for writes. See the [GitHub Tools eve documentation](https://github-tools.com/frameworks/eve#eve-extension) for token authentication, per-tool overrides, commit attribution, and the complete tool catalog.

[Read the full extension documentation](https://github-tools.com/frameworks/eve#eve-extension)

---

For a semantic overview of all documentation, see [/sitemap.md](/sitemap.md)

For an index of all available documentation, see [/llms.txt](/llms.txt)

For agent-facing discovery, including API and MCP surfaces, see [/agents.md](/agents.md)