Get profile
whoop_get_profileThe current user's basic WHOOP profile (user id, email, first name, last name). WHOOP REST: GET /v2/user/profile/basic. Scope: read:profile.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
whoop_get_profileThe current user's basic WHOOP profile (user id, email, first name, last name). WHOOP REST: GET /v2/user/profile/basic. Scope: read:profile.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, and the description adds concrete context beyond them: the exact REST endpoint (GET /v2/user/profile/basic) and the required OAuth scope (read:profile). That scope disclosure is genuinely useful for an agent reasoning about authorization failures, though it says nothing about rate limits or error behavior.
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?
Three tight fragments — purpose, endpoint, scope — with the returned fields front-loaded. No filler, no repeated information, and the most important clause comes first.
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 zero-parameter read tool with no output schema, the description compensates by listing the returned fields and giving the endpoint and scope. Nothing an agent needs in order to call this correctly is missing.
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 tool takes zero parameters, so no parameter semantics are needed; baseline is 4. The description correctly adds no param noise.
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?
States a specific verb+resource ('The current user's basic WHOOP profile') and enumerates the exact fields returned (user id, email, first/last name). This cleanly distinguishes it from sibling tools like whoop_get_cycle or whoop_get_sleep, which target different resources.
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?
Usage is implied by the resource name — an agent can infer this fetches profile data — but there is no explicit when-to-use statement, no conditions, and no named alternatives. Given the siblings are all disjoint resources, ambiguity is low, so this is adequate but not enriched.
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.