github / github/github-mcp-server
feat: Issue Preview with manual edit in the chat view before publish
- Lenguaje dominante
- Go
- Estrellas
- 33k
- Forks
- 5k
- Merge medio
- 2 d 1 h
- PR fusionados (30 d)
- 52
Descripción
## 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.
Guía de contribución
Evaluación
Este issue todavía no se ha evaluado.