Skip to content

Conversation

@JoannaaKL
Copy link
Contributor

@JoannaaKL JoannaaKL commented Jan 19, 2026

Summary

What changed

CleanShot 2026-01-19 at 13 23 20@2x CleanShot 2026-01-19 at 13 23 46@2x

MCP impact

  • No tool or API changes
  • Tool schema or behavior changed
  • New tool added

Prompts tested (tool changes only)

  • N/A

Security / limits

  • No security or limits impact
  • Auth / permissions considered
  • Data exposure, filtering, or token/size limits considered

Tool renaming

  • I am renaming tools as part of this PR (e.g. a part of a consolidation effort)
    • I have added the new tool aliases in deprecated_tool_aliases.go
  • I am not renaming tools as part of this PR

Note: if you're renaming tools, you must add the tool aliases. For more information on how to do so, please refer to the official docs.

Lint & tests

  • Linted locally with ./script/lint
  • Tested locally with ./script/test

Docs

  • Not needed
  • Updated (README / docs / examples)

@JoannaaKL JoannaaKL requested a review from a team as a code owner January 19, 2026 12:22
Copilot AI review requested due to automatic review settings January 19, 2026 12:22
Copy link
Contributor

Copilot AI 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 a new tool search functionality to enable searching through GitHub MCP Server tools by name and description. However, the implementation is incomplete and contains critical bugs that prevent it from functioning.

Changes:

  • Added new pkg/tooldiscovery package with search scoring algorithm
  • Added SearchTools and Search functions for tool discovery
  • Referenced (but did not implement) new tool-search CLI command
  • Added dependencies: lithammer/fuzzysearch, fatih/color

Reviewed changes

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

Show a summary per file
File Description
pkg/tooldiscovery/search.go Implements tool search and scoring algorithm with extensive commented-out parameter matching code
pkg/tooldiscovery/search_test.go Minimal test coverage with only 2 basic test cases
cmd/github-mcp-server/main.go References undefined toolSearchCmd variable (compilation error) and removes blank line
internal/ghmcp/server.go Formatting-only changes (alignment fix)
go.mod Adds fuzzysearch and color dependencies
go.sum Adds transitive dependencies for new packages
Comments suppressed due to low confidence (2)

pkg/tooldiscovery/search.go:25

  • The constant parameterMatchScore is defined but never used in the actual code (the only usage is in commented-out code). This should be removed to avoid confusion, or the parameter matching functionality should be implemented if it's intended.
	parameterMatchScore   = 1

pkg/tooldiscovery/search.go:50

  • The Search function passes nil as the tools parameter to SearchTools, which will result in iterating over a nil slice (lines 70-78 in SearchTools). This means Search will always return an empty result. This appears to be incomplete implementation - you should either load tools from a cache/inventory here or document this as a placeholder for future implementation.
func Search(query string, options ...SearchOptions) ([]SearchResult, error) {
	return SearchTools(nil, query, options...)

SamMorrowDrums
SamMorrowDrums previously approved these changes Jan 19, 2026
Copy link
Collaborator

@SamMorrowDrums SamMorrowDrums left a comment

Choose a reason for hiding this comment

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

Love it, one documentation bit about the fact most people have the docker version.

Comment on lines 343 to 360
The `github-mcp-server` binary includes a few CLI subcommands that are helpful for debugging and exploring the server.

- `github-mcp-server tool-search "<query>"` searches tools by name, description, and input parameter names.
- Use `--max-results` to return more matches.
- Output is colorized when writing to a TTY (and typically not colorized when piped).

Example:

```bash
github-mcp-server tool-search "owner" --max-results 5
```
Copy link
Collaborator

Choose a reason for hiding this comment

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

I guess should maybe document the others in a follow-up. Also might be worth providing a docker run command? As most users don't have binary hanging around.

@github-actions
Copy link
Contributor

⚠️ License files need updating

The license files are out of date. I tried to fix them automatically but don't have permission to push to this branch.

Please run:

script/licenses
git add third-party-licenses.*.md third-party/
git commit -m "chore: regenerate license files"
git push

Alternatively, enable "Allow edits by maintainers" in the PR settings so I can fix it automatically.

Auto-generated by license-check workflow
@JoannaaKL JoannaaKL marked this pull request as draft January 19, 2026 14:21
@JoannaaKL JoannaaKL marked this pull request as ready for review January 19, 2026 14:21
@JoannaaKL JoannaaKL merged commit e81f120 into main Jan 19, 2026
18 checks passed
@JoannaaKL JoannaaKL deleted the add-tool-search branch January 19, 2026 14:59
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.

5 participants