Connect your AI Agents to GitHub in minutes

Merge lets you securely connect your agents to GitHub and thousands of tools instantly

Available tools

get_issue

Get a single issue by number from a specific repository. Returns detailed issue information including comments, labels, and assignees

get_issues

Get a list of issues from a repository with filtering options by state, labels, assignee, creator, and more. Supports pagination and sorting

search_issues

Search for issues across all accessible repositories using GitHub's search syntax. Supports advanced filtering and sorting options

create_issue

Create a new issue in a repository with title, body, labels, assignees, and milestone. Returns the created issue

update_issue

Update an existing issue's title, body, state, labels, assignees, milestone, and other properties

close_issue

Close an issue by setting its state to closed. Optionally specify a reason for closing

reopen_issue

Reopen a closed issue by setting its state to open

get_issue_comments

Get comments for a specific issue. Supports filtering by date and pagination for issues with many comments

create_issue_comment

Create a new comment on an issue. Comments support GitHub markdown formatting

update_issue_comment

Update an existing issue comment's content. Only the comment author or repository owners can update comments

delete_issue_comment

Delete an issue comment. Only the comment author or repository owners can delete comments

add_labels_to_issue

Add labels to an issue. Labels must already exist in the repository

How to set up Merge Agent Handler

In an mcp.json file, add the configuration below, and restart Cursor.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5      "headers": {
6        "Authorization": "Bearer yMt*****"
7      }
8    }
9  }
10}
11
Copy Code

Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.

Make sure Claude is using the Node v20+.

Learn more in the official documentation ↗

1{
2  "mcpServers": {
3    "agent-handler": {
4      "command": "npx",
5      "args": [
6        "-y",
7        "mcp-remote@latest",
8        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9        "--header",
10        "Authorization: Bearer ${AUTH_TOKEN}"
11      ],
12      "env": {
13        "AUTH_TOKEN": "yMt*****"
14      }
15    }
16  }
17}
Copy Code
Copied!

Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.

Learn more in the official documentation ↗

1{
2    "mcpServers": {
3      "agent-handler": {
4        "command": "npx",
5        "args": [
6          "-y",
7          "mcp-remote@latest",
8          "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9          "--header",
10          "Authorization: Bearer ${AUTH_TOKEN}"
11        ],
12        "env": {
13          "AUTH_TOKEN": "<ah-production-access-key>"
14        }
15      }
16    }
17  }
Copy Code

In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".

You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.

Learn more in the official documentation ↗

1{
2  "inputs": [
3    {
4      "type": "promptString",
5      "id": "agent-handler-auth",
6      "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7      "password": true
8    }
9  ],
10  "servers": {
11    "agent-handler": {
12      "type": "stdio",
13      "command": "npx",
14      "args": [
15        "-y",
16        "mcp-remote@latest",
17        "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18        "--header",
19        "Authorization: Bearer ${input:agent-handler-auth}"
20      ]
21    }
22  }
23}
Copy Code

FAQs on using Merge's GitHub  MCP server

FAQs on using Merge's GitHub  MCP server

How can I use the GitHub MCP server?

Here are just a few use cases worth implementing:

  • Monitor pull request activity across repositories. Your agent can track all open pull requests across multiple repositories and send daily summaries to your team's Slack channel, highlighting PRs that need review, are blocked, or have been open longer than your team's SLA
  • Automate code review coordination. Your agent can analyze PR content, automatically request reviews from the appropriate team members based on file paths and code ownership, and send reminders to reviewers when PRs are waiting for feedback
  • Link development work to business objectives. Your agent can combine GitHub commit and PR data with your project management tool to show leadership how engineering work maps to product roadmap items, helping them understand resource allocation and velocity toward strategic goals
  • Streamline issue management from communication tools. Your agent can help users create, update, and track GitHub issues directly from Slack or Microsoft Teams, allowing developers to triage bugs, assign tasks, and update statuses without context-switching between tools

What are popular tools for GitHub’s MCP server?

Here are some popular tools across data types:

Issues

  • <code class="blog_inline-code">get_issues</code>
  • <code class="blog_inline-code">search_issues</code>
  • <code class="blog_inline-code">close_issue</code>
  • <code class="blog_inline-code">add_labels_to_issue</code>

Pull requests (PRs)

  • <code class="blog_inline-code">get_pull_requests</code>
  • <code class="blog_inline-code">create_pull_requests</code>
  • <code class="blog_inline-code">update_pull_requests</code>
  • <code class="blog_inline-code">reopen_pull_request</code>

Repositories

  • <code class="blog_inline-code">get_repository</code>
  • <code class="blog_inline-code">create_repository</code>
  • <code class="blog_inline-code">update_repository</code>
  • <code class="blog_inline-code">delete_repository</code>

What makes Merge Agent Handler’s GitHub MCP server better than alternative GitHub MCP servers?

Merge Agent Handler provides several platform-level advantages over standalone MCP servers:

  • Enterprise-grade security and DLP: All GitHub tool inputs and outputs are scanned by Merge Agent Handler’s Security Gateway, which can block, redact, or mask sensitive data based on configurable rules. This allows you to enforce data governance policies consistently across all agent interactions
  • Managed authentication and credential handling: Merge Agent Handler supports guided authentication flows, credential storage, and both individual and shared authentication models, removing the need to implement OAuth or token handling yourself
  • Real-time observability and audit trails: Every GitHub tool call is logged with a complete, fully-searchable audit trail, enabling debugging, compliance reviews, and performance optimization from a single dashboard
  • Tool Pack management and customization: GitHub tools can be bundled with other connectors into Tool Packs, allowing you to control exactly which tools an agent can access per use case, without changing agent logic

Can I set custom security rules for GitHub tool calls in Merge Agent Handler?

Yes, you can set custom security rules for any GitHub tool calls to block or redact sensitive data. You can also log tool calls, allowing the agent to make them while providing your team with real-time visibility whenever this happens.

Here are some specific examples:

  • Block your agents from creating or updating pull requests, issues, or commits with API keys, access tokens, or credentials in titles, descriptions, comments, or code content
  • Automatically redact sensitive data patterns like internal IP addresses, database connection strings, or proprietary algorithms when your agents retrieve or display code, PR descriptions, or issue details, so they only see masked versions
  • Monitor and log whenever your agents attempt to push code or create PRs containing sensitive terms like "password", "secret", or "private key" in file names or content, giving your security team visibility without blocking the action
  • Block your agents from creating GitHub issues or PR descriptions with confidential project codenames, customer names under NDA, or internal-only labels that shouldn't be visible in your repositories

How can I start using Merge Agent Handler’s GitHub MCP server?

Here are all the steps you’ll need to take to integrate your agent with the MCP server:

1. Create a free Agent Handler account. Sign up here to access the Agent Handler dashboard.

2. Create a Tool Pack. Tool Packs define which connectors and tools your agent can access. This involves navigating to Tool Packs in the dashboard, clicking Create Tool Pack, adding the GitHub connector, and choosing  your authentication mode (Individual or Shared).

3. Set up a Registered User. Go to Registered Users in the dashboard; each Registered User represents a person or system identity that your agent runs as. When a user needs to authenticate with GitHub, Merge Agent Handler will automatically display a guided authorization prompt—no custom OAuth code required.

4. Test in the Playground. Before integrating into your app, validate everything works. This means opening the Sandbox for your Tool Pack and testing GitHub tool calls.

5. Integrate with your application. Connect your agent to Agent Handler to access the tools. You can do this in two ways:

  • Via MCP config: Copy the MCP server configuration from your Tool Pack page and add it to your agent's MCP client settings. This gives your agent access to all configured tools through the Model Context Protocol
  • Via API: Use Agent Handler's REST API to list available tools and invoke them programmatically. You'll need your Agent Handler API key, Tool Pack ID, and Registered User ID to authenticate requests

Explore other MCP servers built and managed by Merge

airtable
Airtable
asana
Asana
calendly
Calendly
confluence
Confluence
figma
Figma
gmail
Gmail
gong
Gong
google_calendar
Google Calendar
google_drive
Google Drive
greenhouse
Greenhouse
hubspot
HubSpot
intercom
Intercom
jira
Jira
jira_service_management
Jira Service Management
linear
Linear
microsoft_teams
Microsoft Teams
notion
Notion
onedrive
OneDrive
outlook
Outlook
pipedrive
Pipedrive
quickbooks_online
QuickBooks Online
sapsf
SAP SuccessFactors
salesforce
Salesforce
servicenow
ServiceNow
sharepoint
SharePoint
shopify
Shopify
slack
Slack
stripe
Stripe
weather
Weather
wikipedia
Wikipedia
zendesk
Zendesk
zoom
Zoom

Ready to try it out?

Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now