An HTTP-based MCP server that searches for files on the filesystem by name fragment
This server has a single tool with severe definition gaps. The tool name 'file_search' is generic and does not clearly convey the action (search by filename fragment across the entire filesystem). The description is adequate in length (~110 chars) but lacks critical details about scope, prerequisites, and result limits. The input schema is present but critically incomplete: the parameter 'path' is ambiguously named (suggests a filesystem path, but actually means a filename fragment), lacks type information beyond 'string', and has no constraints or format guidance. No output schema is documented. The server has no error handling guidance, no pagination despite walking the entire filesystem, and no result limits despite the potential to return thousands of files. The code shows dangerous filesystem traversal starting from root ('/') with no permission checks or access controls.
Search for files on the filesystem by name fragment. Returns file metadata including name, path, size, and creation date.
Parameter naming is ambiguous and misleading. The 'path' parameter actually means 'filename_fragment', not a filesystem path. This will cause LLMs to pass absolute paths instead of search terms, causing silent failures.
No output schema is documented. LLMs do not know what fields to expect in results (name, path, size, creation_date), making it impossible to plan downstream actions or extract specific data.
No result limit or pagination. The code walks the entire filesystem from root and returns all matching files. A search for '.log' or '.txt' could return millions of results, exhausting context windows and breaking the agent.
No input validation or error guidance. If the search returns no results or fails (permission denied, timeout), the agent receives no actionable error message or recovery guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 25 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 18 | - | v1 |
Parameter 'path' lacks type specification beyond 'string'. No length limits, regex patterns, or format constraints are documented. LLMs cannot validate input before calling.
Dangerous filesystem security posture. The server searches the entire filesystem from '/' with no permission checks, potentially exposing sensitive system files, configuration files with credentials, or protected user directories. No access control or scope limiting.
Tool description does not explain when to use this tool vs alternatives, what constitutes a valid search fragment, or any limitations on scope or performance.