m365_files_search
Search OneDrive for files matching a query. Optionally limit the number of results returned.
Instructions
Search for files in your OneDrive
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Max results | |
| query | Yes | Search query |
Search OneDrive for files matching a query. Optionally limit the number of results returned.
Search for files in your OneDrive
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Max results | |
| query | Yes | Search query |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety and non-mutating profile is clear. The description adds the scope 'in your OneDrive', which is useful context, but it does not disclose any additional behavioral traits such as search fields (name/content), pagination, or result ordering. Given the presence of thorough annotations, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that delivers the core purpose without any unnecessary words. It front-loads the action and resource, making it immediately scannable. There is no filler or redundant detail, achieving maximum conciseness for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with only two parameters and no output schema, the description is somewhat minimal. It tells what the tool does and the scope ('in your OneDrive'), but it does not explain return format, search semantics, or any limitations. While annotations cover safety and the schema covers parameters, the description alone would not fully prepare an agent for invocation without additional inference. It is adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with descriptions for both parameters ('Search query' and 'Max results'). The description adds no further parameter semantics beyond stating the overall purpose. Since the schema already documents the parameters fully, the baseline of 3 applies without additional value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Search for files in your OneDrive'. It uses a specific verb (search) and resource (files), and the location scope (OneDrive) distinguishes it from sibling tools like m365_files_list or m365_files_read. However, it does not explicitly contrast with other file tools, so it falls short of a perfect 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as m365_files_list or m365_mail_search. It does not mention contexts where search is preferred over list, nor any exclusions or limitations that would help an agent choose between this and sibling tools. The single sentence is purely declarative with no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sam2kb/m365-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server