LearnNewsExamplesServices
Frontmatter
id7477
titleArchitect GitHub Workflow as MCP Server
stateClosed
labels
epicai
assigneestobiu
createdAtOct 14, 2025, 10:37 AM
updatedAtOct 20, 2025, 12:56 PM
githubUrlhttps://github.com/neomjs/neo/issues/7477
authortobiu
commentsCount2
parentIssuenull
subIssues
7478 Define Initial OpenAPI Specification for GitHub Workflow Server
7479 Scaffold GitHub Workflow MCP Server
7480 Refine Health Check for GitHub Workflow Server
7481 Implement Pull Request API Endpoints
7482 Enhance PR Listing and Checkout Logic
7483 Implement PR Commenting Endpoint
7484 Get PR Conversation History
7485 Manage Repository Labels
7486 Refactor to an MCP Tool-Providing Server
7487 Enhance Tools List with OpenAPI Schema
7491 Implement MCP Stdio Server for GitHub Workflow
7492 Refactor to Direct MCP Tool Definitions
7493 Implement Dynamic Tool Discovery via OpenAPI
7494 Implement Zod-based Validation with JSON Schema Conversion
7495 Add outputSchema to MCP Tool Definitions
7496 Add Annotations to MCP Tool Definitions
7497 Refine `mcp-stdio.mjs` for MCP Compliance and Clarity
7498 Fix Gemini CLI Client Compatibility for MCP `tools/list` Response
7499 Implement Conditional Omission of Optional Fields in MCP Tool Definitions
7500 Simplify Description Handling in Zod Schema Generation
subIssuesCompleted20
subIssuesTotal20
blockedBy[]
blocking[]
closedAtOct 20, 2025, 12:56 PM

Architect GitHub Workflow as MCP Server

Closed v11.0.0 epicai
tobiu
tobiu commented on Oct 14, 2025, 10:37 AM

This epic is a high-priority follow-up to Epic: Integrate GitHub CLI to Streamline Contribution Workflow (#7364). It addresses our primary internal bottleneck by migrating the script-based gh integrations into a robust, professional-grade Model Context Protocol (MCP) server.

The primary goal is to create a persistent, stateful server that provides a formal API for all GitHub interactions. This moves us away from ad-hoc scripts and toward the professionalized AI tooling outlined in the project ROADMAP.md.

Priority & Methodology

This is a critical-path initiative for the core team (Tobi & Gemini duo). It is not a candidate for Hacktoberfest or external contribution.

We will employ a rapid and agile development approach. The scope and API specification are expected to evolve as we build and test the server. This flexibility is key to quickly delivering a solution that effectively unblocks our PR review and issue management workflows.

Top-Level Items

Phase 1: Scaffolding & Core API Definition

  • Goal: Establish the server's foundation and define the initial API for PR interactions.
  • Sub-Tasks:
    • ticket-define-initial-openapi-spec.md: Create and refine an openapi.yaml specification, focusing first on health checks and core PR operations (list, checkout, diff).
    • ticket-scaffold-github-workflow-server.md: Scaffold the server structure, including directories, core files, and middleware, mirroring the memory server.
    • ticket-refine-healthcheck-for-github-workflow-server.md: Implement a robust health check to verify gh installation, authentication, and version.

Phase 2: API Implementation

  • Goal: Build out the backend logic to connect the OpenAPI endpoints to live gh commands.
  • Sub-Tasks:
    • ticket-implement-pull-request-api-endpoints.md: Implement the core pull-requests endpoints (list, checkout, diff).
    • ticket-enhance-pr-listing-and-checkout.md: Add state filtering to the PR list endpoint and improve the checkout response.
    • ticket-implement-pr-comment-endpoint.md: Implement an endpoint to allow commenting on pull requests.
    • ticket-get-pr-conversation-history.md: Implement an endpoint to retrieve the full conversation history for a PR.
    • ticket-manage-repository-labels.md: Implement endpoints for listing and managing repository labels.

Phase 3: MCP Refactoring

  • Goal: Evolve the server from a REST API to a true MCP tool-providing server.
  • Sub-Tasks:
    • ticket-refactor-to-mcp-tool-server.md: Implement tools/list and tools/call endpoints to dynamically expose the server's capabilities.
    • ticket-enhance-tools-list-with-schema.md: Enhance the /tools/list endpoint to include OpenAPI schema definitions for each tool's parameters and responses.
    • ticket-implement-mcp-stdio-server.md: Implement a proper MCP-compliant server using a stdio transport.
    • ticket-refactor-to-direct-mcp-tool-definitions.md: Refactor to define tools directly in code, removing the OpenAPI dependency.
    • ticket-implement-dynamic-tool-discovery.md: Implement dynamic tool discovery via OpenAPI.
    • ticket-implement-zod-validation.md: Implement Zod-based Validation with JSON Schema Conversion.
    • ticket-add-mcp-output-schema.md: Add outputSchema to MCP Tool Definitions.
    • ticket-add-mcp-tool-annotations.md: Add Annotations to MCP Tool Definitions.
    • ticket-refine-mcp-stdio.md: Refine mcp-stdio.mjs for MCP Compliance and Clarity.
    • ticket-fix-gemini-cli-mcp-compatibility.md: Fix Gemini CLI Client Compatibility for MCP tools/list Response.
    • ticket-implement-conditional-omission.md: Implement Conditional Omission of Optional Fields in MCP Tool Definitions.
    • ticket-simplify-description-handling.md: Simplify Description Handling in Zod Schema Generation.

Future Scope

  • Integration of ticket and issue synchronization.
tobiu assigned to @tobiu on Oct 14, 2025, 10:37 AM
tobiu added the epic label on Oct 14, 2025, 10:37 AM
tobiu added the ai label on Oct 14, 2025, 10:37 AM
tobiu added sub-issue #7478 on Oct 14, 2025, 10:40 AM
tobiu added sub-issue #7479 on Oct 14, 2025, 10:58 AM
tobiu added sub-issue #7480 on Oct 14, 2025, 11:12 AM
tobiu added sub-issue #7481 on Oct 14, 2025, 11:22 AM
tobiu added sub-issue #7482 on Oct 14, 2025, 11:37 AM
tobiu added sub-issue #7483 on Oct 14, 2025, 12:48 PM
tobiu added sub-issue #7484 on Oct 14, 2025, 12:56 PM
tobiu added sub-issue #7485 on Oct 14, 2025, 1:24 PM
tobiu added sub-issue #7486 on Oct 14, 2025, 1:49 PM
tobiu added sub-issue #7487 on Oct 14, 2025, 2:23 PM
tobiu cross-referenced by #7403 on Oct 14, 2025, 5:02 PM
tobiu added sub-issue #7491 on Oct 15, 2025, 12:12 PM
tobiu added sub-issue #7492 on Oct 15, 2025, 12:29 PM
tobiu closed this issue on Oct 15, 2025, 12:35 PM
tobiu added sub-issue #7493 on Oct 15, 2025, 12:44 PM
tobiu cross-referenced by PR #7490 on Oct 15, 2025, 1:37 PM
tobiu
tobiu Oct 15, 2025, 1:40 PM

closed the epic by accident. not done yet.

tobiu reopened this issue on Oct 15, 2025, 1:40 PM
tobiu added sub-issue #7494 on Oct 15, 2025, 1:43 PM
tobiu added sub-issue #7495 on Oct 15, 2025, 1:44 PM
tobiu added sub-issue #7496 on Oct 15, 2025, 1:45 PM
tobiu added sub-issue #7497 on Oct 15, 2025, 2:13 PM
tobiu referenced in commit af7afb2 - "#7477 toolService.mjs: intent-driven comments" on Oct 15, 2025, 2:17 PM
tobiu added sub-issue #7498 on Oct 15, 2025, 3:41 PM
tobiu added sub-issue #7499 on Oct 15, 2025, 3:55 PM
tobiu added sub-issue #7500 on Oct 15, 2025, 4:07 PM
tobiu referenced in commit 75979a4 - "#7477 deleted the obsolete tools.mjs file" on Oct 15, 2025, 4:12 PM
tobiu referenced in commit c4a2c83 - "#7477 ensuring the return value of nextCursor is a string" on Oct 15, 2025, 4:27 PM
tobiu referenced in commit 4b9b403 - "#7477 added healthcheck as a tool" on Oct 15, 2025, 4:45 PM
tobiu referenced in commit d52d356 - "#7477 pr service: author.login description (confusing, since it contains the name)" on Oct 15, 2025, 7:42 PM
tobiu
tobiu Oct 20, 2025, 12:56 PM

resolved. i will create more epics for specific enhancements.

tobiu closed this issue on Oct 20, 2025, 12:56 PM