Read users
users_getOne user, by username
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Their username |
users_getOne user, by username
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Their username |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is known. The description adds little behavioral detail beyond 'one user', but it also does not add any misleading or contradictory behavior. It is adequate but does not go further to describe inputs, error cases, or response shape.
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 extremely concise: 'One user, by username'. Every word is informative and no filler or redundancy is present. It is front-loaded with the core notion of 'one user' and then specifies the key used to identify that user.
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 very simple single-parameter read operation, the description plus a fully documented schema and read-only/idempotent annotations provide enough context to understand how to invoke the tool. A little more context around what the returned user object contains would improve completeness, but it is not essential to correct invocation.
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 schema already fully documents the 'id' parameter as 'Their username', so the description does not need to repeat it. The phrase 'by username' aligns with the schema but does not add additional meaning beyond what the structured field already conveys.
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 specifies the operation as fetching one user by username, which clearly conveys the scope of the tool and distinguishes it from list-style siblings like users_list. It lacks an explicit verb, but the title 'Read users' supplies that, and 'One user, by username' is precise about the target resource and lookup key.
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 implies that this tool is for retrieving a single user when the username is already known, which is a helpful usage cue. However, it does not explicitly explain when users_get should be preferred over users_find or users_list, nor does it mention any exclusions or edge cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.