# search_files

Recursively search for files and directories matching a pattern. The patterns should be glob-style patterns that match paths relative to the working directory. Use pattern like '*.ext' to match files in current directory, and '/*.ext' to match files in all subdirectories. Returns full paths to all matching items. Great for finding files when you don't know their exact location. Only searches within allowed directories.

Agent View of the PolicyLayer registry record for `search_files`. HTML page: https://policylayer.com/tools/filesystem/search-files

## Facts

- Tool: `search_files`
- Server: Filesystem (`@modelcontextprotocol/server-filesystem`) — https://policylayer.com/tools/filesystem.md
- Install: `npx -y @modelcontextprotocol/server-filesystem`
- Homepage: https://github.com/modelcontextprotocol/server-filesystem
- Risk category: Read (Low risk)
- Registry record: grade D, identity verified
- Server rate-limited: no
- Parameters: 3 (2 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `path` | string | yes |  |
| `pattern` | string | yes |  |
| `excludePatterns` | array | no |  |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search_files",
    "arguments": {
      "path": "<path>",
      "pattern": "<pattern>"
    }
  }
}
```

## Why search_files is rated Low

This tool retrieves metadata about files and directories matching a glob pattern. It performs no write, delete, or execute operations. The blast radius of misuse is minimal—an agent could enumerate the filesystem structure but cannot modify, execute, or access file contents directly. This is a classic Read operation.

From the tool's own definition: "Tool description states it 'Recursively search for files and directories matching a pattern' and 'Returns full paths to all matching items.' The verb 'search' combined with 'returns' indicates data retrieval with no modification."

Risk signals: Accepts file system path (path)

## Use case

AI agents call search_files to retrieve information from Filesystem without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Filesystem:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "search_files": {}
  }
}
```

## Other tools on Filesystem (13)

- `directory_tree` — Read — https://policylayer.com/tools/filesystem/directory-tree.md
- `get_file_info` — Read — https://policylayer.com/tools/filesystem/get-file-info.md
- `list_allowed_directories` — Read — https://policylayer.com/tools/filesystem/list-allowed-directories.md
- `list_directory` — Read — https://policylayer.com/tools/filesystem/list-directory.md
- `list_directory_with_sizes` — Read — https://policylayer.com/tools/filesystem/list-directory-with-sizes.md
- `read_file` — Read — https://policylayer.com/tools/filesystem/read-file.md
- `read_media_file` — Read — https://policylayer.com/tools/filesystem/read-media-file.md
- `read_multiple_files` — Read — https://policylayer.com/tools/filesystem/read-multiple-files.md
- `read_text_file` — Read — https://policylayer.com/tools/filesystem/read-text-file.md
- `create_directory` — Write — https://policylayer.com/tools/filesystem/create-directory.md
- `edit_file` — Write — https://policylayer.com/tools/filesystem/edit-file.md
- `move_file` — Write — https://policylayer.com/tools/filesystem/move-file.md
- `write_file` — Write — https://policylayer.com/tools/filesystem/write-file.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=filesystem · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/filesystem
