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 default toolset grouping#1159

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

Merged
tonytrg merged 8 commits intomainfromtonytrg/default-toolsetgrouping
Oct 6, 2025

Conversation

tonytrg
Copy link
Contributor

@tonytrgtonytrg commentedSep 30, 2025
edited
Loading

Summary

This PR introduces a data-driven default toolset configuration to improve performance, reduce inference costs, and provide a better out-of-the-box experience for GitHub MCP Server users.

Problem

The current "all tools enabled by default" approach causes several issues:

  • Excessive context: 102 tools consuming 64.6k tokens by default
  • Tool selection degradation: LLMs struggle with too many tool options
  • Higher inference costs: Large context windows increase computational expenses
  • User feedback: Most users don't customize toolsets and experience performance issues

Changes

New Default Toolsets (Data-Driven Selection)

Based on real-world usage analysis across all sessions, the new default includes the 5 most-used toolset groups:

  • context - Current user and GitHub context
  • repos - Repository operations
  • issues - Issue tracking
  • pull_requests - PR workflows
  • users - User information

These cover almost all top 20 most frequently used tools.

Code Changes

  1. pkg/github/tools.go:

    • AddedToolsetMetadata struct to hold toolset ID and description
    • Created metadata constants for all toolsets
    • ImplementedGetDefaultToolsetIDs() to return curated default list
    • AddedGenerateToolsetsHelp() for improved CLI help text
    • Moved stargazer tools fromrepos to new dedicatedstargazers toolset
  2. cmd/github-mcp-server/main.go:

    • Updated default flag behavior to useGetDefaultToolsetIDs() when no toolsets specified
    • Improved help text withGenerateToolsetsHelp()
  3. README.md:

    • Added prominent default toolset configuration section
    • Reorganized toolset documentation for better discoverability
    • Addedstargazers toolset to available toolsets table
  4. docs/remote-server.md:

    • Addedstargazers toolset to remote server documentation

Performance Improvements compared to old default("all")

Token Reduction

  • Before: 102 tools, 64.6k tokens
  • After: 52 tools, 30.3k tokens
  • Savings:53% reduction in token usage

User Experience Benefits

  • ✅ Faster LLM responses with smaller context windows
  • ✅ More accurate tool selection from focused set
  • ✅ Lower inference costs
  • ✅ Better out-of-the-box behavior for common workflows

Future Work

  • Split large toolsets (repos,pull_requests) into more specialized subgroups

Testing

  • Verified default toolsets load correctly when no--toolsets flag provided
  • Confirmed--toolsets all still enables all toolsets
  • Validated custom toolset combinations work as expected
  • Checked README and documentation updates render correctly

LuluBeatson reacted with heart emoji
@tonytrgtonytrg requested a review froma team as acode ownerSeptember 30, 2025 10:47
@CopilotCopilotAI review requested due to automatic review settingsSeptember 30, 2025 10:47
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 introduces a new "stargazers" toolset grouping by moving stargazer-related tools from the repositories toolset into their own dedicated group, and updates the default tools list to include specific toolsets instead of "all".

  • Moved stargazer tools (list_starred_repositories, star_repository, unstar_repository) from repositories to a new dedicated stargazers toolset
  • Updated DefaultTools to explicitly list toolsets: "context", "repos", "issues", "pull_requests", "users" instead of using "all"
  • Added documentation entries for the new stargazers toolset in both remote server documentation and README

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

FileDescription
pkg/github/tools.goCreates new stargazers toolset and moves stargazer tools from repositories toolset, updates DefaultTools list
docs/remote-server.mdAdds stargazers toolset entry to the remote server toolsets table
README.mdMoves stargazer tool documentation from repositories section to new stargazers section and updates toolsets list

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

@tonytrgtonytrg marked this pull request as draftSeptember 30, 2025 19:22
@tonytrgtonytrg marked this pull request as ready for reviewOctober 1, 2025 08:02
}
ToolsetMetadataDynamic=ToolsetMetadata{
ID:"dynamic",
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.",
Copy link
Contributor

Choose a reason for hiding this comment

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

shall we include this in the default? This would allow agent to see what tools are available and prompt to enable them.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Hmm right now its turned off i need to test it a bit better to make a judgement

@tonytrgtonytrg merged commitbf0d62e intomainOct 6, 2025
16 checks passed
@tonytrgtonytrg deleted the tonytrg/default-toolsetgrouping branchOctober 6, 2025 15:07
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

Copilot code reviewCopilotCopilot left review comments

@almaleksiaalmaleksiaalmaleksia approved these changes

@IrynaKulakovaIrynaKulakovaIrynaKulakova approved these changes

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

Successfully merging this pull request may close these issues.

3 participants
@tonytrg@almaleksia@IrynaKulakova

[8]ページ先頭

©2009-2025 Movatter.jp