Resolve public profiles
get_public_profilesResolve public display names for a set of emails.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| emails | Yes | Emails to resolve. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
get_public_profilesResolve public display names for a set of emails.
| Name | Required | Description | Default |
|---|---|---|---|
| emails | Yes | Emails to resolve. |
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the description does not need to restate the read-only nature. It adds a useful detail by specifying 'public' display names, but it does not explain behavior for unresolved emails or mention any limiations or failure modes.
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 sentence that front-loads the verb and object, with no filler or repetition. Every word contributes to understanding the tool's purpose.
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 one-parameter, read-only tool with an output schema present, the description covers the essential invocation context. It could theoretically mention behavior for unresolved emails or ordering, but those details are not necessary for an agent to select and call the tool correctly.
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?
Schema description coverage is 100%, since the emails parameter is already described as 'Emails to resolve.' The tool description adds the purpose of returning display names, but provides no additional parameter-level format, validation, or edge-case guidance beyond what the schema already states.
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 uses a specific verb, 'Resolve', and names the exact resource ('public display names') and input ('a set of emails'). It fully distinguishes this tool from sibling tools like get_board or get_org, which serve entirely different purposes.
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 intended context is implied: use this tool when you have emails and need public display names. There is no explicit mention of alternatives or when not to use it, but no sibling tool performs a similar email-to-display-name resolution, so the omission is less critical.
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.
Every tool targets a distinct resource/action: board retrieval is split into JSON vs image with explicit cross-references, and drawing tools are separated from the generic update_board. Look-alikes like list_documents vs list_diagrams and publish_listing vs use_template are differentiated clearly.
Most tools follow a verb_noun pattern: create_project, list_documents, update_board, upsert_org_member. A few noun-only names like my_listings, project_file_counts and template_categories break the pattern, so naming is consistent but not uniform.
40 tools is well beyond the 25+ threshold for a single server, even though the domains are clustered into org/project/document/board/template areas. The large surface will make tool selection and onboarding heavier for an agent than necessary.
Core lifecycle coverage for org/project/document/board/template is mostly present, and update_board serves as a flexible escape hatch. However, the board API reads rectangle/diamond/ellipse/free-text drawings and groups/links but only offers explicit create/erase for strokes and arrows; paid template purchase/access is also left unclear.