Skip to main content
Glama
Wayazi
by Wayazi

search_files

Search through directories on the MCP File System to find files matching a specific pattern, with options to exclude unwanted results for precise queries. Simplify file discovery and organization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
excludePatternsNoPatterns to exclude
pathYesStarting directory
patternYesSearch pattern

Implementation Reference

  • The asynchronous handler function for the 'search_files' tool. It validates the path, recursively traverses the directory tree, skips excluded patterns, collects files matching the pattern by name (case-insensitive substring match), and returns a list of matching full paths or an error message.
    async ({ path: dirPath, pattern, excludePatterns = [] }: { path: string, pattern: string, excludePatterns?: string[] }) => { try { const validPath = validatePath(dirPath); const results: string[] = []; async function searchDir(currentPath: string) { const entries = await fs.readdir(currentPath, { withFileTypes: true }); for (const entry of entries) { const fullPath = path.join(currentPath, entry.name); // Check exclude patterns if (excludePatterns.some(exclude => fullPath.toLowerCase().includes(exclude.toLowerCase()))) { continue; } // Check if name matches pattern if (entry.name.toLowerCase().includes(pattern.toLowerCase())) { results.push(fullPath); } // Recursively search directories if (entry.isDirectory()) { await searchDir(fullPath); } } } await searchDir(validPath); return { content: [{ type: 'text', text: results.join('\n') }] }; } catch (error: any) { return { content: [{ type: 'text', text: `Error searching files: ${error.message}` }] }; } }
  • Zod schema for 'search_files' tool inputs: required 'path' (starting directory), 'pattern' (search string), optional 'excludePatterns' array.
    { path: z.string().describe("Starting directory"), pattern: z.string().describe("Search pattern"), excludePatterns: z.array(z.string()).optional().describe("Patterns to exclude") },
  • src/index.ts:184-185 (registration)
    Registration of the 'search_files' tool on the MCP server instance using server.tool(name, schema, handler).
    server.tool( "search_files",

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Wayazi/mcp_file_system'

If you have feedback or need assistance with the MCP directory API, please join our Discord server