Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Feature request: expose an MCP server so AI agents can interact with PRs and issues

Ouverte
#9,070 1 commentaire 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@alexr00 y travaille déjà.

Depuis le 16/10/2026.

  • #1 par @lmilbaum — fermée sans fusion
  • #9071 par @lmilbaum — ouverte

Évaluation

Cette issue n'a pas encore été évaluée.

Description

Summary

Add a Model Context Protocol (MCP) server to the extension so that AI coding agents running inside VS Code (Claude Code, GitHub Copilot extensions, etc.) can programmatically invoke the extension's PR and issue capabilities without a human clicking UI elements.

Motivation

The extension already exposes a rich set of commands through VS Code's command palette. Agents like Claude Code can call vscode.commands.executeCommand, but that requires the agent to be running inside VS Code and to know the exact command IDs. An MCP server would give any MCP-capable agent a stable, discoverable, schema-validated interface, regardless of how it is hosted.

Concretely: when an agent is working a PR (rebasing, fixing CI, iterating on review feedback) it currently has to shell out to gh CLI for everything. If the extension exposed an MCP server the agent could instead call typed tools and get back structured data that matches what the extension already knows — open diffs, review threads, CI status, notifications — without leaving the editor context.

Proposed tool groups

The list below was derived by querying contributes.commands from the extension's package.json and grouping commands by functional area. Each group maps naturally to one or more MCP tools.

Pull request lifecycle
MCP tool Source commands
create_pull_request pr.create, pr.pushAndCreate, pr.createPrMenuCreate, pr.createPrMenuDraft
get_pull_request pr.openDescription, pr.refreshPullRequest, pr.refreshList
checkout_pull_request pr.pick, pr.checkoutByNumber, pr.checkoutFromDescription, pr.pickInWorktree, pr.pickInWorktreeFromDescription
merge_pull_request pr.merge, pr.acceptMerge, pr.createPrMenuMerge, pr.createPrMenuMergeWhenReady, pr.createPrMenuRebase, pr.createPrMenuSquash
mark_ready_for_review pr.readyForReview, pr.readyForReviewAndMerge
get_pull_request_diff pr.openChanges, pr.openDiffView, pr.showDiffAll, pr.showDiffSinceLastReview
add_to_stack pr.addToStack
generate_title_and_description pr.generateTitleAndDescription
Review
MCP tool Source commands
start_review pr.startReview, pr.preReview
submit_review review.approve, review.requestChanges, review.comment
create_review_comment pr.createComment, pr.createSingleComment, pr.addFileComment
edit_review_comment pr.editComment, pr.saveComment, pr.deleteComment
resolve_review_thread pr.resolveReviewThread, pr.unresolveReviewThread
create_suggestion pr.makeSuggestion, review.createSuggestionFromChange, review.createSuggestionsFromChanges
apply_suggestion pr.applySuggestion, pr.applySuggestionWithCopilot
mark_file_viewed pr.markFileAsViewed, pr.unmarkFileAsViewed, pr.resetViewedFiles
diff_with_pr_head review.diffWithPrHead, review.diffLocalWithPrHead, pr.diffOutdatedCommentWithHead
Issues
MCP tool Source commands
create_issue issue.createIssue, issue.createIssueFromSelection, issue.createIssueFromClipboard, issue.createIssueFromFile
get_issue issue.openIssue, issue.openDescription, issue.getCurrent
start_working_on_issue issue.startWorking, issue.startWorkingBranchPrompt
stop_working_on_issue issue.stopWorking
copy_issue_link issue.copyIssueUrl, issue.copyIssueNumber, issue.copyGithubPermalink
Notifications
MCP tool Source commands
list_notifications notifications.refresh
mark_notification_read notification.markAsRead, notifications.markPullRequestsAsRead
mark_notification_done notification.markAsDone, notifications.markPullRequestsAsDone
summarize_notification notification.chatSummarizeNotification
Metadata helpers (new PR creation)
MCP tool Source commands
add_assignees pr.addAssigneesToNewPr
add_reviewers pr.addReviewersToNewPr
add_labels pr.addLabelsToNewPr
add_milestone pr.addMilestoneToNewPr
add_projects pr.addProjectsToNewPr

Implementation notes

  • The MCP server can be registered via vscode.lm.registerMcpServer (available since VS Code 1.99) and activated lazily when an MCP-capable client connects.
  • For read-only tools (get_pull_request, list_notifications, …) the server can delegate directly to the extension's existing data models — no extra GitHub API calls needed.
  • For write tools (submit_review, merge_pull_request, …) a confirmation prompt to the user would be appropriate before the first call, similar to how Copilot Edits asks for approval.
  • The github.api.preloadPullRequest internal command suggests there is already an API surface; the MCP server could build on that.

Alternatives considered

  • Using the gh CLI: works but has no awareness of what the extension has already fetched; forces duplicate API calls and loses the extension's diff/comment context.
  • VS Code Language Model tools: the vscode.lm tool registration API is closer but limited to Copilot Chat inside VS Code; MCP reaches agents running outside the editor.

Related

Langage dominant
TypeScript
Étoiles
2.6k
Forks
805
Merge moyen
2 j 9 h
PR mergées (30 j)
43

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de microsoft/vscode-pull-request-github

Toutes les issues de microsoft/vscode-pull-request-github

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.