Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

adding labels tools#1193

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
tonytrg wants to merge1 commit intomain
base:main
Choose a base branch
Loading
fromtonytrg/adding-labels
Open

adding labels tools#1193

tonytrg wants to merge1 commit intomainfromtonytrg/adding-labels

Conversation

tonytrg
Copy link
Contributor

@tonytrgtonytrg commentedOct 8, 2025
edited
Loading

This PR adds label management tools using a consolidated approach with GraphQL-only operations.

Summary

Following the tool consolidation pattern from#1172, this PR introduces three multi-functional label management tools:

  • get_label - Retrieves a specific label by name from a repository
  • list_label - Lists labels from a repository OR an issue (usesissue_number parameter to switch context)
  • write_label - Unified write operations withmethod parameter:
    • create - Create a new label (requiresname,color)
    • update - Update existing label (requiresname, at least one ofnew_name/color/description)
    • delete - Delete a label (requiresname)

Design Philosophy

We're moving towardconsolidated, multi-functional tools that use method parameters to handle related operations, rather than creating separate tools for each action. This approach:

Technical Details

All operations useGraphQL exclusively (gqlClient) for consistency and efficiency:

  • Queries userepository.labels andrepository.issue.labels
  • Mutations usecreateLabel,updateLabel, anddeleteLabel
  • Helper functionsgetRepositoryID() andgetLabelID() support the mutations

@tonytrgtonytrg requested a review froma team as acode ownerOctober 8, 2025 14:57
@CopilotCopilotAI review requested due to automatic review settingsOctober 8, 2025 14:57
Copy link
Contributor

@CopilotCopilotAI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds comprehensive GitHub Labels tools functionality to the GitHub MCP Server, enabling users to create, read, update, and delete repository labels through dedicated tools.

  • Introduces a new "labels" toolset with three core functions: get_label, list_label, and write_label
  • Adds extensive test coverage for all label operations including edge cases and error scenarios
  • Updates documentation to include the new labels toolset in both README and remote server documentation

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.

Show a summary per file
FileDescription
pkg/github/tools.goAdds ToolsetLabels metadata and integrates label tools into the default toolset group
pkg/github/labels.goImplements the three main label tools with GraphQL operations for CRUD functionality
pkg/github/labels_test.goComprehensive test suite covering all label operations and error cases
pkg/github/toolsnaps/*.snapTool schema snapshots for the three label tools
docs/remote-server.mdDocuments the new labels toolset in the remote server table
README.mdUpdates tool documentation with labels section and individual tool descriptions

Tip: Customize your code reviews with copilot-instructions.md.Create the file orlearn how to get started.

Description:"Discover GitHub MCP tools that can help achieve tasks by enabling additional sets of tools, you can control the enablement of any toolset to access its tools when this toolset is enabled.",
}
ToolsetLabels=ToolsetMetadata{
ID:"labels",
Copy link
Preview

CopilotAIOct 8, 2025

Choose a reason for hiding this comment

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

Inconsistent indentation detected. The field assignment uses tabs mixed with spaces, which should be aligned consistently with other struct fields in the same block.

Suggested change
ID:"labels",
ID:"labels",

Copilot uses AI. Check for mistakes.

@@ -0,0 +1,52 @@
{
"annotations": {
"title":"Write operations on labels - create, update, delete",
Copy link
Preview

CopilotAIOct 8, 2025

Choose a reason for hiding this comment

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

The title in the snapshot differs from the title defined in the source code. The source uses 'Write operations on labels' but the snapshot shows 'Write operations on labels - create, update, delete'.

Suggested change
"title":"Write operations on labels - create, update, delete",
"title":"Write operations on labels",

Copilot uses AI. Check for mistakes.

"title":"Write operations on labels - create, update, delete",
"readOnlyHint":false
},
"description":"Create, update, or delete repository labels in GitHub.",
Copy link
Preview

CopilotAIOct 8, 2025

Choose a reason for hiding this comment

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

The description in the snapshot differs from the description defined in the source code. The source uses the translation key output while the snapshot shows a hardcoded description.

Suggested change
"description":"Create, update, or delete repository labels in GitHub.",
"description":"output",

Copilot uses AI. Check for mistakes.

-`owner`: Repository owner (username or organization name) (string, required)
-`repo`: Repository name (string, required)

-**list_label** - Get Label from a repository.
Copy link
Preview

CopilotAIOct 8, 2025

Choose a reason for hiding this comment

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

The description 'Get Label from a repository.' is incorrect for list_label. It should be 'List labels from a repository or an issue' to match the actual functionality.

Suggested change
-**list_label** -Get Label from a repository.
-**list_label** -List labels from a repository or an issue.

Copilot uses AI. Check for mistakes.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

Copilot code reviewCopilotCopilot left review comments

At least 1 approving review is required to merge this pull request.

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@tonytrg

[8]ページ先頭

©2009-2025 Movatter.jp