Connect GitHub to AI agents

Connect GitHub to Claude, Codex, Cursor, or other AI agents for your entire team. Metorial security, governance, observability, and gives your team a unified Magic MCP url to connect.

Supported Tools

manage_issue

Manage Issue

Create or update a GitHub issue, including issue type, lifecycle state, duplicate closure, and organization-defined issue fields. Existing calls may continue to omit method and use issueNumber.

create_release

Create Release

Create a new release for a GitHub repository with a tag, name, release notes, and draft/pre-release options. Can automatically generate release notes from commits since the last release.

list_commits

List Commits

List commits on a repository branch with filtering by SHA, path, author, or date range.

list_repositories

List Repositories

List repositories for the authenticated user or a specific organization. Supports filtering by type, sorting, and pagination.

review_pull_request

Review Pull Request

Create, submit, or delete pull request reviews; resolve or unresolve review threads; add line or file comments to a pending review; and reply or react to review comments. Existing APPROVE, REQUEST_CHANGES, COMMENT, and request_reviewers actions remain supported.

list_branches

List Branches

List branches in a GitHub repository.

manage_gist

Manage Gist

Create, read, update, or delete GitHub Gists (code snippets). - **create**: Create a new gist with one or more files. - **get**: Retrieve a gist by ID. - **update**: Update a gist's description or files. - **delete**: Delete a gist. - **list**: List gists for the authenticated user.

manage_file_content

Manage File Content

Read, create, update, or delete a file in a GitHub repository. - **read**: Retrieve file contents (decoded from Base64). - **write**: Create or update a file. Provide Base64-encoded content and a commit message. - **delete**: Delete a file. Requires the file's current SHA and a commit message.

comment_on_issue

Comment on Issue

Add a comment and/or reaction to a GitHub issue or pull request. Reactions can target the issue or pull request itself, or a specific issue comment; use the review-comment tools for pull request review comments.

get_user

Get User

Retrieve a GitHub user's profile. Provide a username to look up any user, or omit it to get the authenticated user's profile.

list_pull_requests

List Pull Requests

List pull requests in a GitHub repository with filtering by state, head/base branch, and sorting options. When filtering by author, use `search` with type `issues` and an `is:pr author:<login>` query instead.

search

Search GitHub

Search across GitHub for repositories, code, issues/pull requests, users, or organizations using GitHub's search syntax. Supports qualifiers for filtering (e.g., "language:python stars:>100" for repositories).

merge_pull_request

Merge Pull Request

Merge a pull request using the specified merge method (merge commit, squash, or rebase).

get_repository

Get Repository

Retrieve detailed information about a GitHub repository including its settings, statistics, and metadata. Use this to inspect a repository's configuration, check its visibility, default branch, language, star/fork counts, and more.

manage_labels

Manage Labels

List, create, update, rename, or delete labels in a GitHub repository. Use labels on issues and pull requests for categorization; existing action-based calls remain supported.

manage_workflow

Manage Workflow

List, inspect, download, trigger, rerun, cancel, and troubleshoot GitHub Actions workflows, runs, jobs, artifacts, and logs. Supports the official Actions method contracts and existing action-based calls.

get_issue

Get Issue

Retrieve detailed information about a specific issue, including its body, comments count, labels, assignees, and milestone.

list_issues

List Issues

List issues in a GitHub repository with cursor pagination, labels, custom issue fields, state, date, and ordering filters. Pass pageInfo.endCursor from one response as after to retrieve the next page.

create_repository

Create Repository

Create a new GitHub repository for the authenticated user or within an organization. Repositories are private by default unless private is explicitly set to false.

manage_collaborators

Manage Collaborators

List, add, or remove collaborators on a GitHub repository. Control access permissions for individual users.

manage_pull_request

Manage Pull Request

Create a new pull request or update an existing one. When creating: provide head branch, base branch, and title. Reviewers may be GitHub usernames or ORG/team-slug teams. When updating: provide the pull request number along with fields to change, including draft state and reviewers.

create_commit_status

Create Commit Status

Create a status check on a specific commit. Useful for integrating CI/CD results, deployment status, or other external checks. Also supports reading the combined status of all checks for a given ref.

update_repository

Update Repository

Update settings of an existing GitHub repository. Modify name, description, visibility, feature toggles (issues, wiki, projects), default branch, and archive status.

star_repository

Star Repository

Star or unstar a GitHub repository for the authenticated user.

get_commit

Get Commit Details

Get details for a commit from a GitHub repository.

list_discussions

List Discussions

List GitHub Discussions for a repository or organization, with cursor pagination, category filtering, paired ordering controls, and optional title/body filtering of the fetched page.

fork_repository

Fork Repository

Fork a GitHub repository to the authenticated account or a specified organization. GitHub may complete large forks asynchronously.

push_files

Push Files to Repository

Push multiple files to a GitHub repository in a single commit.

get_notification_details

Get Notification Details

Get detailed information for a specific GitHub notification. List notifications first when the notification ID is unknown.

get_repository_tree

Get Repository Tree

Get the tree structure (files and directories) of a GitHub repository at a specific ref or SHA.

list_releases

List Releases

List releases in a GitHub repository. Regular git tags without an associated release are not included.

sub_issue_write

Change Sub-Issue

Add a sub-issue to a parent issue in a GitHub repository.

issue_read

Issue Read

Read details, conversation comments, child issues, the parent issue, or assigned labels for a single GitHub issue.

get_secret_scanning_alert

Get Secret Scanning Alert

Get details of a specific secret scanning alert in a GitHub repository, including its secret type, location, state, and resolution information.

list_issue_types

List Issue Types

List issue types available to a GitHub repository or directly from its owner organization.

get_code_scanning_alert

Get Code Scanning Alert

Get details of a specific code scanning alert in a GitHub repository, including its rule, state, severity, affected location, and dismissal information.

list_discussion_categories

List Discussion Categories

List GitHub Discussion category node IDs and names for a repository, or for an organization through its .github repository.

dismiss_notification

Dismiss Notification

Dismiss a GitHub notification by marking its thread as read or done. Marking it done removes the thread from the notification inbox.

get_global_security_advisory

Get a Global Security Advisory

Get a global security advisory.

get_discussion

Get Discussion

Get a GitHub Discussion by repository-local number, including its Markdown body, category, answer state, author, timestamps, and permalink.

get_code_quality_finding

Get Code Quality Finding

Get details of a specific code quality finding in a GitHub repository, including its diagnostic context and remediation suggestion when available.

projects_list

List GitHub Projects Resources

Tools for listing GitHub Projects resources. Use this tool to list projects for a user or organization, or list project fields and items for a specific project.

get_tag

Get Tag Details

Get details about a git tag, including whether it is lightweight or annotated and the object it targets.

get_teams

Get Teams

Get details of the GitHub organization teams a user belongs to. Results are limited to organizations and teams accessible with the current credentials.

list_org_repository_security_advisories

List Organization Repository Security Advisories

List repository security advisories across a GitHub organization, with optional lifecycle filtering and chronological sorting.

list_starred_repositories

List Starred Repositories

List repositories starred by a GitHub user. Omit username to list repositories starred by the authenticated user.

get_latest_release

Get Latest Release

Get the latest published full release in a GitHub repository. Drafts and prereleases are excluded by GitHub.

list_repository_security_advisories

List Repository Security Advisories

List repository security advisories for a GitHub repository, with optional lifecycle filtering and chronological sorting.

projects_get

Get GitHub Projects Resource

Get details about specific GitHub Projects resources. Use this tool to get details about individual projects, project fields, and project items by their unique IDs.

list_issue_fields

List Issue Fields

List issue field definitions for a GitHub repository or organization, including valid options for single-select fields.

run_secret_scanning

Run Secret Scanning

Scan raw file contents, snippets, or recent diffs with GitHub for exposed API keys, passwords, tokens, and other credentials. The supplied content is sent to GitHub for an ephemeral pre-commit scan and is not persisted as a repository secret scanning alert.

list_code_scanning_alerts

List Code Scanning Alerts

List code scanning alerts in a GitHub repository. Filter by alert state, Git ref, severity, or scanning tool to focus security triage.

list_secret_scanning_alerts

List Secret Scanning Alerts

List secret scanning alerts in a GitHub repository. Filter by state, resolution, or secret type to investigate exposed credentials and remediation status.

get_file_contents

Get File or Directory Contents

Get a file or directory from a GitHub repository. Files are returned as downloadable content; directories return entry metadata.

get_dependabot_alert

Get Dependabot Alert

Get details of a specific Dependabot alert in a GitHub repository, including the vulnerable dependency, advisory, severity, and remediation information.

get_label

Get Label

Get a specific label from a GitHub repository by name.

projects_write

Manage GitHub Projects

Create and manage GitHub Projects: create projects, add/update/delete items, create status updates, and add iteration fields.

manage_notification_subscription

Manage Notification Subscription

Manage a GitHub notification thread subscription. Watch subscribes to updates, ignore mutes the thread, and delete removes the current subscription.

list_tags

List Tags

List git tags in a GitHub repository.

list_dependabot_alerts

List Dependabot Alerts

List Dependabot alerts in a GitHub repository. Filter by lifecycle state or severity and use the returned cursor to continue through larger security backlogs.

pull_request_read

Pull Request Read

Read details, a downloadable diff, commit status, changed files, commits, review threads, reviews, conversation comments, or check runs for one GitHub pull request.

update_pull_request_branch

Update Pull Request Branch

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

get_discussion_comments

Get Discussion Comments

Get a cursor-paginated page of top-level comments from a GitHub Discussion, optionally including up to 100 nested replies per comment.

discussion_comment_write

Manage Discussion Comments

Add, reply to, update, or delete GitHub Discussion comments, and mark or unmark a comment as the accepted answer for a Q&A discussion.

get_team_members

Get Team Members

Get the members of a specific GitHub organization team. Results are limited to teams accessible with the current credentials.

mark_all_notifications_read

Mark All Notifications as Read

Mark GitHub notifications as read through a specified time. Optionally limit the operation to one repository by providing owner and repo together.

list_global_security_advisories

List Global Security Advisories

List global security advisories from GitHub.

get_release_by_tag

Get Release by Tag

Get a published GitHub release by its tag name.

manage_repository_notification_subscription

Manage Repository Notification Subscription

Manage notification subscription settings for a GitHub repository. Watch subscribes to updates, ignore mutes repository notifications, and delete removes the current subscription.

list_notifications

List Notifications

List GitHub notifications for the authenticated user, including mentions, review requests, assignments, and updates on issues or pull requests. Use this to discover pending work or summarize what needs attention.

create_branch

Create Branch

Create a new branch in a GitHub repository.

search_commits

Search Commits

Search for commits across GitHub repositories using GitHub's commit search syntax. Searches commit messages on default branches only.

More integrations teams use with GitHub

Linear

Create, read, update, and delete issues across teams with support for priorities, labels, assignees, due dates, and workflow states. Manage projects that group related issues, and organize work into time-boxed cycles (sprints). Create and manage documents, comments, and file attachments. Search issues using vector similarity or rich filters. Configure teams, workflow states, and labels. Track customers and link them to issues. Subscribe to real-time webhooks for changes to issues, projects, cycles, comments, documents, and more.

Salesforce

Manage CRM data including Accounts, Contacts, Leads, Opportunities, Cases, and custom objects. Create, read, update, and delete records. Query data using SOQL and search across objects using SOSL. Perform bulk data operations for large-scale imports, exports, and migrations. Execute composite requests to batch multiple operations in a single API call. Access analytics, reports, and dashboards. Manage files and attachments associated with records. Interact with Chatter feeds, posts, and groups for social collaboration. Subscribe to real-time change events via Change Data Capture and Platform Events. Manage org metadata including custom objects, fields, layouts, and workflows. Query data using GraphQL for precise data retrieval across related objects.

Sharepoint

Manage SharePoint sites, document libraries, lists, and files. Create, read, update, and delete lists and list items with custom columns. Resolve site users to numeric Person/Group LookupId values. Upload, download, move, copy, and version files in document libraries. Search across sites, files, folders, lists, and list items using Microsoft Search. Manage permissions at site, list, and item levels with granular access control. Define and manage content types and site columns. Subscribe to webhooks for list and library change notifications. Retrieve site properties and search for sites across Microsoft 365.

Microsoft Outlook

Send, read, reply to, forward, and manage email messages in user mailboxes. Organize messages into folders, apply categories, flags, and importance levels. Manage file and item attachments. Create, update, delete, and respond to calendar events and meetings. Find available meeting times, manage attendees, handle recurrence, and work with shared or delegated calendars. Create, read, update, and delete contacts, organize them into contact folders, and manage contact photos. Manage tasks and task lists via Microsoft To Do, including due dates, reminders, recurrence, and checklist items. Subscribe to webhook notifications for changes to messages, calendar events, and contacts. Support for Focused Inbox, @-mentions, mail tips, send-on-behalf, and send-as capabilities.

Airtable

Create, read, update, and delete records in Airtable bases and tables. Manage base schemas including creating tables and fields. Filter records using formulas, sort by fields, and scope queries to specific views. Upsert records to find, create, or update in a single call. Upload attachments to records, read and write record comments, list accessible bases, and receive real-time base change events through webhooks.

Bitbucket

Manage Git repositories, pull requests, and CI/CD pipelines on Bitbucket Cloud. Create, fork, and configure repositories within workspaces and projects. Create, review, approve, merge, and decline pull requests with inline code comments. Browse source code, list commits, and manage branches and tags. Track issues with the built-in issue tracker. Trigger, monitor, and manage Bitbucket Pipelines. List workspace members, configure repository default reviewers and branch restrictions, create and manage repository webhooks, and search code across repositories.

Technical notes for GitHub

Manage repositories, issues, and pull requests. Create and configure branches, star repositories, review code, and merge changes. Automate CI/CD workflows with GitHub Actions, manage workflow runs, secrets, and artifacts. Track issues with labels, milestones, and assignees. Search across code, repositories, issues, and users. Manage organizations, teams, and memberships. Create and manage projects, gists, packages, deployments, and environments. Access security alerts including code scanning, secret scanning, and Dependabot alerts. Read and write file contents in repositories. Manage webhooks, notifications, and codespaces.

Connect GitHub to production AI agents

See how Metorial gives GitHub access the governance, tracing, and security controls teams need.

Frequently asked questions

Common questions about connecting GitHub to AI agents with Metorial.

  1. Can Metorial connect GitHub to AI agents?
    Yes. Metorial connects AI agents to GitHub through a governed integration layer, so teams can use the provider while keeping access controlled and observable.
  2. Metorial is MCP compatible and lets teams expose approved provider tools to MCP-capable agents and clients through a controlled access layer.
  3. Metorial applies policies across users, groups, providers, agents, and individual tools, then records the context around every agent interaction.
  4. Yes. Metorial records provider activity so teams can inspect tool calls, troubleshoot integrations, and give security teams the visibility they need.