Skip to content

Add --exclude-tool-types and --list-tools flags.#19

Open
Kyu wants to merge 1 commit intokooshi:mainfrom
Kyu:filter_tools
Open

Add --exclude-tool-types and --list-tools flags.#19
Kyu wants to merge 1 commit intokooshi:mainfrom
Kyu:filter_tools

Conversation

@Kyu
Copy link

@Kyu Kyu commented Feb 10, 2026

Addresses #13

Usage examples:

SharpTools.StdioServer.exe --list-tools
Tools:
  AnalysisTools
    - SharpTool_AnalyzeComplexity
    - SharpTool_FindReferences
    - SharpTool_GetMembers
    - SharpTool_ListImplementations
    - SharpTool_ManageAttributes
    - SharpTool_ManageUsings
    - SharpTool_SearchDefinitions
    - SharpTool_ViewDefinition
  DocumentTools
    - SharpTool_CreateRoslynDocument
    - SharpTool_OverwriteRoslynDocument
    - SharpTool_ReadRawFromRoslynDocument
    - SharpTool_ReadTypesFromRoslynDocument
  MiscTools
    - SharpTool_RequestNewTool
  ModificationTools
    - SharpTool_AddMember
    - SharpTool_FindAndReplace
    - SharpTool_MoveMember
    - SharpTool_OverwriteMember
    - SharpTool_RenameSymbol
    - SharpTool_Undo
  PackageTools
  SolutionTools
    - SharpTool_LoadProject
    - SharpTool_LoadSolution

then e.g

SharpTools.StdioServer.exe --exclude-tool-types ModificationTools --exclude-tool-types DocumentTools
# OR
SharpTools.StdioServer.exe --exclude-tool-types ModificationTools DocumentTools

@kooshi
Copy link
Owner

kooshi commented Feb 13, 2026

While I like where you're going with this, I think the mechanism to exclude tools should be either more flexible, or more specific to what people need.

I'm guessing you did this to put it in a "read-only" mode, right?

While this accomplishes that, excluding all DocumentTools also omits the read-only document tools.

I think it would make more sense to have a --read-only flag, which just filters tools based on the ReadOnly property of the McpServerTool attribute that each tool has.

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.

2 participants