github / github/github-mcp-server

feat: Issue Preview with manual edit in the chat view before publish

Ouverte
#1,668 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Go
Étoiles
33k
Forks
5k
Merge moyen
2 j 1 h
PR mergées (30 j)
52

Description

## Describe the feature or problem you'd like to solve

Currently, when creating GitHub issues through the `github-mcp-server` MCP tool (`create_or_update_issue`), the workflow requires providing a complete JSON payload upfront with fields like method, owner, repo, title, body, and labels.

This creates several problems:

1. **Black box experience** ➡️ After submission, users only see a JSON one-liner output from the MCP server, making it impossible to review what was actually created
2. **No real preview capability** ➡️ There's no way to see how the issue will look on GitHub before it's published; can only copy and paste into a text window, and have a long string for the body.
3. **Difficult to verify**: Users can't easily confirm that all fields (title, body, labels, assignees) are correct before creation
4. **Hard to cross-reference** ➡️ It is not easy if existing issues already taking care of
5. **Error-prone**: Mistakes in the JSON payload result in incorrectly published issues that need immediate editing on GitHub

The current one-liner JSON output provides no human-readable feedback about what was created, forcing users to navigate to GitHub to verify the result, if I am correct?

```json
{ "body": "body ...", "labels": [ "label_1", "label_2" ], "method": "create", "owner": "owner", "repo": "repo", "title": "title" }
```

## Proposed solution

Add an interactive **preview and edit workflow** similar to git commit messages, where the MCP server pre-fills the issue content and presents it in an editable text view for final proofreading before publication. Similar to `Source Control` commit messages, users can review and make minor edits before confirming the creation of the commit in a text editor interface, if the the commit is empty.

### Git-style commit workflow:

**Stage 1: MCP Pre-fills Content**
- MCP `create_or_update_issue` prepares the complete issue based on the conversation
- Instead of immediately publishing, opens a text editor preview with all fields populated by the MCP
- Display format similar to `git commit` editor:

# Title (required)
feat: Add pytest-benchmark support

# Body
Add benchmarking capabilities to track optimizer performance over time.

Implementation details:
- Integrate pytest-benchmark
- Add benchmark fixtures
- Document usage in README

# Metadata
Labels: enhancement, testing
Assignees: @copilot
Milestone: v2.0

# ─────────────────────────────────────────────
# Review and edit above, then click 'Confirm & Publish'
# Lines starting with # are comments and won't be published

**Stage 2: Proofreading & Minor Edits**
- User reviews the pre-filled content
- Can make quick corrections: fix typos, adjust wording, add/remove labels
- Cross-reference with existing issues if needed
- Action buttons:
- ✅ **Confirm & Publish** - Creates the issue on GitHub
- ❌ **Cancel** - Aborts without creating

**Stage 3: Publication**
- Only after explicit confirmation, the actual `create_or_update_issue` call is made
- Show success message with direct link: "✅ Issue #xyz created successfully"
- Display full URL for easy access

### Benefits:
- **Familiar UX**: Developers are used to git commit proofreading workflows
- **Safety net**: Catch errors before publication
- **Clear confirmation**: Explicit publish action prevents accidents
- **Full visibility**: See complete issue before creation
- **Cross-referencing**: Time to verify against existing issues
- **Minimal friction**: Quick proofread rather than rebuilding from scratch

## Example prompts or workflows

### Workflow: Issue Creation with Proofreading

**User**: "Create an issue in useful-optimizer for adding pytest-benchmark support to track performance regressions"

**MCP**: Prepares the issue content and opens text editor preview:

# Title (required)
feat: Add pytest-benchmark support

# Body
Add benchmarking capabilities to track optimizer performance over time and detect performance regressions.

## Implementation details
- Integrate pytest-benchmark plugin
- Add benchmark fixtures for key optimizer functions
- Document usage in README
- Set up CI integration for automated benchmarking

# Metadata
Labels: enhancement, testing
Assignees: @copilot
Milestone:

# ─────────────────────────────────────────────
# Review and edit above, then click 'Confirm & Publish'
# Lines starting with # are comments and won't be published

**User**: Reviews content, notices a typo in "optimizer functions", changes it to "optimization algorithms", then clicks **Confirm & Publish**

**Assistant**: "✅ Issue #xyz created successfully: feat: Add pytest-benchmark support
https://github.com/user/repo/issues/xyz"

## Additional context

This feature request is directly related to improving the user experience based on the current JSON output limitation. See related discussions:
- https://github.com/Anselmoo/useful-optimizer/pull/56#issuecomment-3681205232
- https://github.com/Anselmoo/useful-optimizer/pull/56

### Implementation considerations:

In reference to the existing `git commit` workflow, the MCP server can leverage a similar text editor interface for issue creation.

See also: https://code.visualstudio.com/docs/sourcecontrol/staging-commits#_use-the-editor-for-commit-messages

This git-style proofreading workflow provides a familiar safety net for developers, allowing them to catch and fix errors before publishing to the repository—similar to how `git commit` lets them review commit messages before they're finalized.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

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

Recevez les nouvelles issues par e-mail

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