Skip to content

Implement github.create_issue MCP tool#3114

Merged
arii merged 5 commits into
mainfrom
implement-github-create-issue-mcp-3985094494030064141
Jun 29, 2026
Merged

Implement github.create_issue MCP tool#3114
arii merged 5 commits into
mainfrom
implement-github-create-issue-mcp-3985094494030064141

Conversation

@google-labs-jules

Copy link
Copy Markdown
Contributor

Implemented the github.create_issue MCP tool in the boomtick-mcp server. This tool allows for programmatic issue creation by wrapping the td-cli gh create-issue command.

Key changes:

  • Defined the github.create_issue tool schema in boomtick-pkg/mcp/src/mcp/definitions.ts.
  • Implemented the handler in boomtick-pkg/mcp/src/tools/github.create_issue.ts, including input validation and CLI response parsing.
  • Registered the new handler in the MCP server's tool router in boomtick-pkg/mcp/src/mcp/server.ts.
  • Added a new test file boomtick-pkg/mcp/src/tools/github.create_issue.test.ts and verified that all MCP tests pass.

Fixes #3101


PR created automatically by Jules for task 3985094494030064141 started by @arii

- Add github.create_issue tool definition to MCP_TOOLS in definitions.ts
- Implement createIssueHandler in src/tools/github.create_issue.ts using td-cli
- Wire up the handler in server.ts
- Add unit tests for the new handler in src/tools/github.create_issue.test.ts
@google-labs-jules

Copy link
Copy Markdown
Contributor Author

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@github-actions

github-actions Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

🚀 Deployment Details (Last updated: Jun 27, 2026, 9:57 PM PST)

🚀 Pushed to gh-pages; publish in progress

- Implement github.create_issue MCP tool wrapping td-cli
- Fix sys.path in td_cli.py to resolve tdw_services package
- Update package.json audit:anti-patterns to include required PYTHONPATH
- Add unit tests for github.create_issue handler
@github-actions

Copy link
Copy Markdown
Contributor

👁️ Gemini Code Review Agent

Powered by Gemini 3.x

Reviewing: PR #3114

Code Review Feedback


Generated by gemini-code-review

@github-actions

Copy link
Copy Markdown
Contributor

🐙 GitHub Models Code Review

Powered by GitHub Models

Reviewing: PR #3114

Model: gpt-4.1

Code Review Feedback

[PERFORMANCE] Review

No HIGH / Blocking performance issues are present in this diff. All new code is straightforward, synchronous, and does not introduce expensive computations, redundant re-renders, or inefficient data structures. The handler is a thin wrapper around a CLI call, with proper input validation and error handling. There are no bundle or memory growth concerns.

Detailed Review:

  • Expensive Computations: None. The handler simply validates input, calls a CLI, parses JSON, and returns a result.
  • Redundant Re-renders: Not applicable; this is backend/server code, not UI.
  • Large Bundle Impacts: No new large dependencies or data structures are introduced.
  • Inefficient Data Structures: All data is handled as simple objects; no unbounded growth or inefficient iteration.

Test File: The tests are direct and do not introduce performance regressions.

Summary: No blocking performance issues found.

[STYLE] Review

No HIGH / Blocking issues found.

All new code is type-safe, consistent with existing patterns, and readable. The handler validates input and output schemas, handles CLI errors, and parses responses robustly. The test file asserts correct behavior for both success and error cases. The tool is registered in the server switch with proper schema parsing.

No design system/layout violations are possible in this backend/server-only code.

Summary of review:

  • No missing types, no type mismatches.
  • No anti-patterns or performance issues.
  • No test tautologies or broken assertions.
  • No design system/layout violations.
  • Naming and structure are clear and consistent.

No blocking issues.


Generated by github-models-code-review

…issues

- Implement github.create_issue MCP tool wrapping td-cli
- Fix sys.path in td_cli.py to resolve tdw_services package without external PYTHONPATH
- Update package.json audit:anti-patterns script to include required PYTHONPATH
- Add comprehensive unit tests for github.create_issue handler in MCP server
- Implement github.create_issue MCP tool wrapping td-cli
- Fix sys.path in td_cli.py to resolve tdw_services package without external PYTHONPATH
- Update package.json audit:anti-patterns script to include required PYTHONPATH
- Add comprehensive unit tests for github.create_issue handler in MCP server

@arii arii left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comprehensive PR Review: #3114

Summary

This PR implements the github.create_issue MCP tool within the boomtick-mcp package. It correctly acts as a Tier 1 layer wrapping the Tier 2 td-cli gh create-issue command, utilizing Zod for robust input and output parsing.

Observations

  • File Changes:
    • boomtick-pkg/mcp/src/mcp/definitions.ts: Adds the github.create_issue schema (Title, Body).
    • boomtick-pkg/mcp/src/mcp/server.ts: Wires the tool directly to its new handler (createIssueHandler).
    • boomtick-pkg/mcp/src/tools/github.create_issue.ts: Implements the handler, correctly calling runCommand("td-cli", [...]) and parsing the output string against a Zod schema.
    • boomtick-pkg/mcp/src/tools/github.create_issue.test.ts: Complete unit tests mocking the CLI shell wrapper.
    • td_cli.py: Adjusts sys.path.append logic to ensure both CLI root and dev_tools are available, fixing implicit import errors.
    • package.json: Prefixes the audit:anti-patterns script with PYTHONPATH exports so the anti-pattern script runs properly locally.
  • Adherence to Repository Standards: The new MCP tool perfectly aligns with memory constraints: it uses runCommand("td-cli", ["gh", ...]) instead of raw gh binaries, and it validates CLI inputs/outputs using Zod.
  • CI Status: The PR passes all validation (deploy, build, resolve-conflicts, verify-changes, etc.).

Recommendations

  • The implementation is clean and completes the github.create_issue feature request robustly. The addition of Python path bootstrapping in td_cli.py makes it far more resilient.

Conclusion

Excellent addition to the MCP server. The tool is fully compliant with repository constraints. Ready for merge.

- Implement github.create_issue MCP tool wrapping td-cli
- Fix sys.path in td_cli.py to resolve tdw_services package without external PYTHONPATH
- Update package.json audit:anti-patterns script to include required PYTHONPATH
- Add comprehensive unit tests for github.create_issue handler in MCP server

@arii arii left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review: #3114 - Implement github.create_issue MCP tool

Context Analysis:
This PR titled "Implement github.create_issue MCP tool" modifies the following files: boomtick-pkg/cli/dev_tools/td_cli.py, boomtick-pkg/mcp/src/mcp/definitions.ts, boomtick-pkg/mcp/src/mcp/server.ts, boomtick-pkg/mcp/src/tools/github.create_issue.test.ts, boomtick-pkg/mcp/src/tools/github.create_issue.ts, package.json.
The PR has been automatically fetched and its context analyzed.

File-specific Feedback:

  • Looking at boomtick-pkg/cli/dev_tools/td_cli.py, the modifications appear structurally sound based on the diff context provided.
  • The CI checks logged in the context show that foundational gates and build processes have been executed.
  • Please verify that any changes to boomtick-pkg/cli/dev_tools/td_cli.py do not introduce unintended side effects in downstream consumers, especially if this is a configuration or dependency file.

Recommendation:
Based on the automated audit and CI status, this PR is progressing normally. The changes to boomtick-pkg/cli/dev_tools/td_cli.py are consistent with the PR description. If all tests pass and there are no overlapping conflict risks as identified in the global overlap report, it is recommended to proceed with merging.

Remaining work:
Verify that the changes to boomtick-pkg/cli/dev_tools/td_cli.py, boomtick-pkg/mcp/src/mcp/definitions.ts, boomtick-pkg/mcp/src/mcp/server.ts, boomtick-pkg/mcp/src/tools/github.create_issue.test.ts, boomtick-pkg/mcp/src/tools/github.create_issue.ts, package.json perform as expected in the deployed environment. No major anti-patterns were detected in the immediate diff.

@arii arii marked this pull request as ready for review June 29, 2026 16:28
@arii arii merged commit 628942b into main Jun 29, 2026
14 checks passed
@arii arii deleted the implement-github-create-issue-mcp-3985094494030064141 branch June 29, 2026 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement github.create_issue MCP tool in boomtick-mcp

1 participant