File Search MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_filesA | USE INSTEAD OF GLOB/FIND. Find files by pattern with built-in previews - eliminates follow-up read calls. Respects .gitignore, skips binary files, filters by size/date, handles symlinks safely. Perfect for exploring unfamiliar codebases or analyzing build infrastructure. Set detail_level="full" to get content previews without separate read calls. Examples: ".yml" in .github/workflows/, "**/Jenkinsfile", "*.config.js" |
| search_contentA | USE INSTEAD OF GREP. Search file contents with surrounding context - see matches in context without follow-up reads. Respects .gitignore, skips binary files, smart case-sensitivity. Use for finding implementations, tracing function calls, or analyzing patterns across a codebase. Use context_lines parameter to control how much surrounding code you see (default: 2 lines). Examples: "slackSend|notification" in *.groovy, "webhook" across all files, "TODO" in src/ Requires ripgrep: brew install ripgrep (macOS) | apt install ripgrep (Ubuntu) |
| fuzzy_findA | USE WHEN YOU DON'T KNOW THE EXACT FILENAME. Fuzzy search that finds "UserController.ts" when you type "usrctl". Ranked by match quality - best matches first. Perfect when you vaguely remember a filename or are exploring an unfamiliar codebase. Much faster than glob with wildcards when you're guessing at names. Examples: "userctrl" → UserController.ts, "jenkfile" → Jenkinsfile, "slacklib" → slackLib.groovy |
| treeA | USE INSTEAD OF LS/FIND FOR STRUCTURE. Visualize directory layout without multiple commands. Get instant overview of project organization. Configurable depth prevents overwhelming output in deep repos. Use this first when exploring a new codebase - shows you where to look before you start searching. Perfect for: "Show me the project structure", "What's in repos/jenkins/", "How is src/ organized?" |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool targets a distinct search modality: fuzzy_find for approximate filename matching, search_content for grepping file contents, search_files for pattern-based file listing with previews, and tree for directory structure visualization. No overlap in purposes.
All tools use lowercase snake_case with clear verbs or nouns (fuzzy_find, search_content, search_files, tree). The naming pattern is consistent and predictable, aiding agent selection.
4 tools is well-scoped for a file search server. Each tool serves a core need (fuzzy name search, content grep, pattern file search, directory tree) without redundancy or excess.
The tool surface covers essential file exploration operations: fuzzy name finding, content search with context, pattern-based file discovery with previews, and project structure overview. No obvious gaps for typical use cases.