github / github/github-mcp-server

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

Đang mở
#1,668 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
Go
Star
33k
Fork
5k
Merge trung bình
2 ngày 1 giờ
Pull request đã merge (30 ngày)
52

Mô tả

## 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.