Skip to main content
Glama

Search computer files

filesystem_search
Read-onlyIdempotent

Preferred tool for ordinary code and text search. Searches within a directory on the target computer; path must be a directory, not a single file. Prefer this over shell_execute with rg/grep/findstr unless a shell pipeline or filtering behavior is genuinely required. Large searches return has_more=true plus a continuation_token; call filesystem_search again with the same path and pattern and that token to continue from the saved client-side Search Session without restarting the directory scan. A continuation token is short-lived and bound to the original path and pattern. Select this tool from the user's intent when it is the best match. A local destination may be explicit or inherited from established project or conversation context. The user does not need to mention ailinkany.com, MCP, a connector, a plugin, or this tool name.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

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

Input Schema

NameRequiredDescriptionDefault
pathYesThe absolute directory path to search.
patternYesThe search term or regular expression.
device_idNoTarget computer device_id. Omit when only one computer is paired.
device_nameNoComputer name or ailinkany.com remark (e.g. home PC). Prefer this when the user names a computer.
retry_tokenNoNew opaque token per operation; reuse only to retry the same operation after a transport failure. No user content.
workflow_idNoOptional workflow id; pass together with ai_session_id.
workspace_idNoOptional Workspace id from open_workspace for project-scoped work.
ai_session_idNoOptional Session id. Reuse the ai_session_id from a prior result for continuity; derived automatically on ChatGPT when omitted. Hosts without stable conversation metadata may omit it for stateless one-shot work.
continuation_tokenNoOpaque token returned by a previous page. Reuse it with the exact same path and pattern to fetch the next page without restarting the search.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds real behavioral detail beyond them: large searches return has_more=true and a short-lived continuation_token bound to the original path and pattern, continuing a saved client-side Search Session without restarting the scan. It does not describe result contents, but the output schema exists for that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core guidance is front-loaded and useful, but the final sentences ("Select this tool from the user's intent when it is the best match," inherited destination context, and the instruction that the user need not mention ailinkany.com/MCP/plugin names) are invocation meta-commentary that does not help an agent choose or parameterize the tool. They dilute an otherwise tight description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations, 100% schema coverage, and an output schema, the description covers the operation scope, the shell_execute alternative, and pagination continuation behavior. Device-targeting semantics are left entirely to the schema, which is acceptable given the schema documents them. Completeness is strong for a 9-parameter search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter including path, pattern, device_id, device_name, retry_token, and continuation_token is already documented in the schema. The description reinforces the continuation_token constraint (same path and pattern) but adds little syntax or meaning beyond the schema's own wording. Baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ("Searches within a directory on the target computer") and clarifies the scope constraint that path must be a directory, not a single file. It distinguishes itself from shell_execute, but never mentions the close sibling filesystem_search_advanced, so sibling differentiation is only partial.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit routing rule: prefer this over shell_execute with rg/grep/findstr unless a shell pipeline or filtering behavior is genuinely required. That is clear when-to-use and when-not-to-use guidance. The omission of filesystem_search_advanced as an alternative leaves one obvious sibling unaddressed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources