contextual_keyword_searchLABSCO SUMMARY
Twenty matches become the three that matter.
Ranking search hits by how central the surrounding module is turns an unfamiliar repository into something navigable — you start at the code everything else depends on rather than at whichever file sorted first.
What it is
A code search server that pairs ripgrep and symbol extraction with a PageRank-style ranking called CodeRank, so results arrive ordered by how central a module is to the codebase rather than by where the match happened to fall.
What you get
- Keyword search backed by ripgrep, with the number of context lines under your control
- Functions, classes, methods and modules extracted as symbols, filterable by type
- Usage tracking — where a symbol is referenced across the whole tree
- Search results ranked by code importance rather than by file order
- Dependency chains traced, including external module dependencies, for impact analysis
- Hotspots surfaced: the code that is both heavily connected and heavily used
- File include and exclude patterns, and analysis of Markdown documentation alongside source
Requirements
Python 3.13 or newer and the uv package manager, plus two command-line tools on the PATH: ripgrep for the text search and kit for symbol analysis. Without those two, the search and symbol sides have nothing underneath them.
Setup effort
Build from source — git clone https://github.com/voxmenthe/search-tools-mcp
USE CASES
Getting oriented in a repository you have never opened
Ask which modules are most central and start there. Ranking by connectedness gives an entry point that alphabetical file listings never do.
Judging how risky a refactor is
Trace what depends on the code you are about to change, then look at where its symbols are used, so the blast radius is known before the edit rather than after the test run.
Finding every place a function is really used
Extract the symbol and follow its usages across the tree, rather than grepping a name that also appears in comments, strings and unrelated files.
Deciding what to clean up first
Hotspot detection surfaces the code that is both highly connected and frequently touched — the places where an hour of tidying pays for itself.
7 tools
Listed in project docs. Your client may show a different list.
get_repo_symbolsget_symbol_usagescoderank_analysisfind_code_hotspotstrace_dependency_impactsmart_code_searchBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation. get_repo_symbols and get_symbol_usages need the kit CLI and the search tools need ripgrep; without them the tools are listed but fail. All seven only read.
Requires
Python 3.13+
INSTALLATION
Connect your client
Server setup
# Clone the repository
git clone https://github.com/voxmenthe/search-tools-mcp
cd search-tools-mcp
# Install dependencies
uv syncMCP Clients
Cursor, Windsurf
{
"mcpServers": {
"search-tools": {
"command": "<YOUR_PATH_TO_UV>",
"args": [
"run",
"--directory",
"<YOUR_PATH_TO_SEARCH_TOOLS>",
"main.py"
]
}
}
}<YOUR_PATH_TO_UV> is the output of which uv, and <YOUR_PATH_TO_SEARCH_TOOLS> is the absolute path of your clone (run pwd inside it).
Claude Code
claude mcp add-json search-tools '{"type":"stdio","command":"/Users/<YOUR_USERNAME>/.local/bin/uv","args":[ "run", "--directory", "<YOUR_PATH_TO_SEARCH_TOOLS_DIRECTORY>", "main.py"]}'/Users/<YOUR_USERNAME>/.local/bin/uv is the output of which uv, and <YOUR_PATH_TO_SEARCH_TOOLS_DIRECTORY> is the absolute path of your clone (run pwd inside it).