Skip to main content
Glama

Tokeet MCP by usefulapi

Server Details

Read Tokeet rentals, rates, guests, tasks and expenses; add guests, notes and tasks.

Ownership verified
Status
Healthy
Uptime
100.0% over 20 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

B3.4/5.0

Scored across 24 tools

Disambiguation4/5

Each tool targets a fairly distinct resource+action, and the descriptions carefully distinguish lookups (e.g. get_guest vs get_guest_by_email, get_user vs get_current_user, list_rentals vs list_rentals_by_owner). A couple of pairs (guest retrieval variants) are close but the descriptions disambiguate them well.

Naming Consistency5/5

Every tool uses the same tokeet_ prefix and a consistent verb_noun snake_case pattern (get_/list_/create_/update_/add_/record_). No mixing of conventions; names are predictable and readable.

Tool Count3/5

At 24 tools this is on the heavy side for the surface, and several domains have full list/get/create/update sets that could be consolidated. It is not excessive for a full rental-management platform, but it sits at the borderline-heavy end.

Completeness3/5

Coverage is uneven: guests and tasks get create/get/list/update, but there is no delete, expenses are read-only, rates/templates/triggers are read-only, and there are no booking/inquiry tools despite tasks referencing inquiries and templates existing without any send capability. Notable gaps for common workflows.

Available Tools

24 tools
tokeet_add_guest_noteAdd guest noteAInspect

WRITE: add an internal note to a guest record (not visible to or sent to the guest). POST /guest/{guest_pkey}/note.

NameRequiredDescriptionDefault
noteYesThe note text.
guest_idYesGuest id (the id / pkey Tokeet returns for it).

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds real value beyond that: the "WRITE" marker, the confidentiality property that the note is never visible or sent to the guest, and the concrete endpoint POST /guest/{guest_pkey}/note.

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

Conciseness5/5

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

A single front-loaded sentence plus the endpoint path, with no filler. The behaviorally important constraint (not visible to the guest) appears immediately after the core verb+resource.

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?

For a simple two-parameter write tool with rich annotations, the description covers purpose, write semantics, and confidentiality. It does not state auth/permission requirements, idempotency behavior, or what the call returns (there is no output schema), which are minor gaps for this tool class.

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 description coverage is 100%, so both parameters (guest_id, note) are already documented, including the note's 1-4000 length bounds. The description adds nothing beyond the schema for the parameters themselves except reinforcing that guest_id maps to the pkey in the URL path, so the baseline 3 applies.

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 names a specific verb and resource ("add an internal note to a guest record") and clarifies the note is internal, which separates it from guest-facing siblings like tokeet_record_guest_interaction. It does not explicitly contrast itself with the closest siblings (update_guest, record_guest_interaction), so it stops short of a 5.

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

Usage Guidelines3/5

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

Usage is implied: you add a note when you have internal commentary about a guest, and the note is not sent to the guest. There is no explicit when-to-use/when-not guidance and no named alternative, so the agent must infer routing from the purpose statement alone.

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

tokeet_create_guestCreate guestAInspect

WRITE: create a guest record (name and email required, the rest optional). Nothing is sent to the guest. Tokeet cannot recover deleted data and this server cannot delete guests. POST /guest.

NameRequiredDescriptionDefault
kidsNoNames of the guest's children, as one string.
nameYesGuest full name.
drinkNoFavourite drink.
emailYesPrimary email.
hobbyNoHobby.
notesNoInitial notes, as strings.
phoneNoPhone number.
sportNoSport.
spouseNoName of the guest's spouse.
addressNoGuest address.
birthdayNoBirthday, MM/DD/YYYY.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and openWorldHint=true, but the description adds value beyond them: nothing is sent to the guest, deleted data is unrecoverable, and this server cannot delete guests. The explicit 'POST /guest' endpoint and the no-notification guarantee are useful traits an agent cannot infer from the annotations alone.

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

Conciseness5/5

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

Four short sentences, front-loaded with the WRITE: marker so the mutation nature is visible immediately. Every sentence carries distinct information (required fields, external side effects, irreversibility, endpoint) with no padding.

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?

For a non-idempotent write tool with no output schema, the description covers the important caveats (nothing sent, no undo, no delete path). The one remaining gap is what the call returns — the created guest's ID, for instance — which the agent must know since no output schema exists.

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 description coverage is 100%, so the schema already documents all 11 properties including nested address fields and formats. The description's only parameter statement ('name and email required, the rest optional') merely restates the schema's required array. Baseline 3 is appropriate.

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 opens with a specific verb and resource: 'create a guest record'. This is unambiguous and implicitly distinguishable from get_guest, list_guests, and update_guest. However, it never explicitly names a sibling or clarifies the create-vs-update boundary, so it stops short of full differentiation.

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

Usage Guidelines3/5

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

'WRITE:' and 'create a guest record' imply the usage condition (adding a new guest), and the required/optional split is stated. But there is no explicit guidance on when to use this versus tokeet_update_guest or tokeet_get_guest_by_email, and no stated prerequisites (e.g. permission or duplicate-email behavior).

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

tokeet_create_taskCreate taskAInspect

WRITE: create a task (to-do) in the account, optionally linked to an inquiry and assigned to a user. due is an epoch timestamp: use the same unit as the due of existing tasks from tokeet_list_tasks. No message is sent to anyone by this call. POST /task.

NameRequiredDescriptionDefault
dueYesEpoch timestamp when the task is due (same unit as existing tasks).
listYesName of the task list to add it to.
nameYesTask name.
notesNoA note about the task.
statusNo1 = active (default), 2 = completed.
user_idNoUser id the task is assigned to (see tokeet_list_users).
inquiry_idNoInquiry (booking) id the task relates to.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=true, so the write/non-idempotent profile is known. The description adds genuinely non-structured context: that no notification is sent to anyone (a quiet side effect agents commonly get wrong) and the underlying POST /task endpoint. It stops short of describing error behavior or whether `list` must pre-exist.

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

Conciseness5/5

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

Four short sentences, each carrying distinct information: purpose, the `due` unit caveat, the notification side effect, and the HTTP endpoint. The operation type is front-loaded and there is no filler.

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?

For a 7-parameter write tool with annotations but no output schema, the description covers intent, key field semantics, side effects and transport. Minor gaps remain around failure modes (nonexistent list/user_id, invalid assignment) and whether the created task's id is returned, though the absence of an output schema lowers that burden.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds required-versus-optional framing ('optionally linked to an inquiry and assigned to a user') and emphasizes the ambiguous `due` unit semantics across required fields. It does not clarify how an unknown `list` value is handled, which is the one remaining ambiguity.

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

Purpose5/5

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

States a specific verb and resource ('create a task (to-do) in the account') plus the two optional linkage dimensions, so an agent can tell it apart from tokeet_update_task, tokeet_get_task and tokeet_list_tasks. The leading 'WRITE:' marker immediately classifies the operation.

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?

Gives real workflow guidance: it points to tokeet_list_tasks to determine the correct `due` unit before calling, which is a prerequisite step an agent would otherwise miss. It does not, however, state when to use this versus tokeet_update_task or what to do if the task already exists, so no exclusions are defined.

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

tokeet_get_current_userGet current userA
Read-only
Inspect

The Tokeet user the API key belongs to (name, email, role). Login data is never returned. GET /user/me.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real value beyond them by enumerating the returned fields (name, email, role) and explicitly disclosing negative space: 'Login data is never returned' — a privacy constraint an agent would otherwise have to guess.

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

Conciseness4/5

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

Three short, front-loaded fragments with no filler; the identity scope comes first and the return shape follows. The trailing 'GET /user/me' endpoint path adds little for an agent caller but costs almost nothing.

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 zero params and no output schema, the description does the necessary work by listing the returned fields and stating what is withheld. It stops short of describing the response envelope or error/auth-failure behavior, but that gap is minor for a simple identity read.

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

Parameters4/5

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

The tool takes zero parameters, so per the baseline the description carries no parameter burden. Nothing is mis-specified or missing.

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 names a specific resource and scope: 'The Tokeet user the API key belongs to (name, email, role)', which distinguishes it from tokeet_get_user (by id) and tokeet_list_users without needing the schema. It lacks an explicit verb, so it reads as a noun phrase rather than a crisp action statement.

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

Usage Guidelines2/5

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

The phrase 'the API key belongs to' implicitly signals the authenticated-user context, but the description never states when to call this versus tokeet_get_user or tokeet_list_users, nor any prerequisites. No when-to-use or when-not-to-use guidance is given.

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

tokeet_get_expenseGet expenseC
Read-only
Inspect

One expense by id. GET /expense/{expense_pkey}.

NameRequiredDescriptionDefault
expense_idYesExpense id (the id / pkey Tokeet returns for it).

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description contributes only the raw REST path, which adds no behavioral context such as error behavior for a missing id or auth requirements.

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

Conciseness4/5

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

Two very short sentences with the resource scope front-loaded and zero filler. It is efficient, though arguably terse to the point of leaving gaps.

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

Completeness3/5

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

For a single-parameter read tool with full schema coverage and safety annotations, the essentials are present. However, the absence of any routing guidance versus tokeet_list_expenses and no output expectations leaves it merely adequate.

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 description coverage is 100% and the single parameter (expense_id) is fully documented in the schema. The description adds no format or sourcing detail beyond 'by id', so the baseline 3 applies.

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?

States a specific verb and resource ('One expense by id'), which implicitly separates it from the sibling tokeet_list_expenses. It doesn't name the sibling explicitly, so the differentiation is left for the agent to infer.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of alternatives such as tokeet_list_expenses for browsing expenses. Usage is only implied by the retrieval semantics.

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

tokeet_get_guestGet guestB
Read-only
Inspect

One guest by id: contact details, notes, interactions and preferences. GET /guest/{pkey}.

NameRequiredDescriptionDefault
guest_idYesGuest id (the id / pkey Tokeet returns for it).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds useful return-shape context (contact details, notes, interactions, preferences) and the underlying endpoint, but says nothing about pagination, auth, or rate limits.

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

Conciseness5/5

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

Two short fragments, front-loaded with the core purpose and return contents, with the endpoint as a trailing implementation hint. No wasted words.

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?

For a one-parameter read tool with full schema coverage, safety annotations, and no output schema, the description does enough: it identifies the lookup key and enumerates the returned content. It could be stronger by distinguishing the by-id path from the by-email sibling, but nothing needed to call it correctly is missing.

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?

With 100% schema description coverage the single guest_id parameter is already fully documented in the schema, so baseline is 3. The description's 'by id' confirms the id lookup semantics but adds no syntax or format detail beyond what the schema provides.

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 names a specific verb ('get') and resource ('guest') and scopes it to a single record by id, which implicitly contrasts with tokeet_list_guests and tokeet_get_guest_by_email. It stops short of naming those siblings explicitly, so the differentiation is inferable rather than stated.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no alternatives named. An agent must infer from 'by id' that this is the lookup path when a guest id (not an email) is available, but the description never tells the caller when to prefer this over tokeet_get_guest_by_email or tokeet_list_guests.

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

tokeet_get_guest_by_emailGet guest by emailB
Read-only
Inspect

The guest whose primary email is exactly this address. GET /guest/email/{email}.

NameRequiredDescriptionDefault
emailYesGuest primary email address.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the exact-match scoping rule and exposes the underlying route, but says nothing about behavior on no-match (empty vs 404) or auth/rate limits. With annotations carrying the main burden, this is an appropriate 3.

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

Conciseness4/5

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

Two compact sentences, front-loaded with the resolution rule before the endpoint reference. No wasted words; the endpoint string is arguably redundant but cheap.

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 no output schema, the description need not explain return values, and annotations cover the safety profile for this single-param lookup. The only omission is what happens when no matching guest exists, which keeps it out of 5 territory.

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% and the single param is already documented as 'Guest primary email address.' The description's addition of 'exactly' conveys exact-match rather than fuzzy/substring semantics, a small but real increment. Baseline 3 holds since 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?

States a specific verb (get) and resource (guest), plus the distinguishing qualifier that this resolves by email rather than by id, which separates it from tokeet_get_guest and tokeet_list_guests. It stops short of explicitly naming those siblings, so differentiation is implied by the 'by email' qualifier rather than stated.

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

Usage Guidelines2/5

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

No when-to-use guidance is given: it never says to prefer this over tokeet_get_guest when only an email is known, nor any prerequisite or condition. The endpoint path implies a lookup use case but nothing is stated, leaving the agent to infer selection.

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

tokeet_get_rentalGet rentalA
Read-only
Inspect

One rental property by id (its pkey from tokeet_list_rentals). GET /rental/{rental_pkey}.

NameRequiredDescriptionDefault
rental_idYesRental id (the id / pkey Tokeet returns for it).

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the backing endpoint (GET /rental/{rental_pkey}); it says nothing about not-found behavior, error shape, or what the returned rental contains, which is the remaining useful context.

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

Conciseness5/5

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

Two short fragments, front-loaded with the resource and scope, then the id provenance and endpoint. Nothing padding, nothing buried.

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?

For a one-parameter read tool with full schema coverage and complete annotations, the definition covers what an agent needs to invoke it. The only gap is the absence of an output schema combined with no hint about the returned rental shape, but that is minor here.

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

Parameters4/5

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

Schema coverage is 100% and the schema already defines rental_id as the pkey Tokeet returns, so the baseline is 3. The description earns one extra point by naming the tool that issues that id, turning a bare parameter into a usable call chain.

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

Purpose5/5

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

States a specific verb+resource+scope: fetch one rental property by id. It also names the sibling that produces the id (tokeet_list_rentals), so an agent can immediately place it against tokeet_list_rentals and the other tokeet_get_* tools.

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 makes the usage chain explicit by telling the agent the id is 'its pkey from tokeet_list_rentals', which answers where the required argument comes from. It stops short of stating when not to use it (e.g. batch lookups across rentals), so no exclusion guidance.

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

tokeet_get_rental_availabilityGet rental availabilityB
Read-only
Inspect

The open and blocked dates of one rental over the next two years. GET /rental/{rental_pkey}/availability.

NameRequiredDescriptionDefault
rental_idYesRental id (the id / pkey Tokeet returns for it).

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds the meaningful constraint of a two-year forward window and the open/blocked split, which is useful behavioral context beyond the annotations. It does not mention pagination, return format, or rate limits, but the window constraint is a genuine addition.

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

Conciseness5/5

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

Two terse sentences with zero waste: the availability scope is front-loaded, followed by the endpoint route. Nothing is repeated or padded.

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

Completeness3/5

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

For a single-parameter read tool with rich annotations, the description covers the essentials: what it returns (open/blocked dates) and the two-year horizon. However, without an output schema it does not explain the shape of the returned date data, and it omits any usage context versus sibling tools.

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 description coverage is 100% and the sole rental_id parameter is already documented in the schema, so the description adds nothing about parameter meaning. 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?

States a specific verb (Get) and resource (rental availability) and pins the scope to 'open and blocked dates of one rental over the next two years'. This distinguishes it from siblings like tokeet_get_rental or tokeet_list_rates, though it does not name any alternative explicitly.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance is given. The agent must infer that this is the tool for checking rental calendar availability rather than, say, tokeet_get_rental, which returns rental metadata.

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

tokeet_get_taskGet taskB
Read-only
Inspect

One task by id. GET /task/{task_pkey}.

NameRequiredDescriptionDefault
task_idYesTask id (the id / pkey Tokeet returns for it).

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the endpoint mapping and confirms a single-task return, but says nothing about error behavior (e.g. task not found) or any auth/rate-limit context.

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

Conciseness4/5

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

Two short sentences, front-loaded with the operation and then the endpoint. Nothing is wasted, though the terseness borders on under-specification rather than tight communication.

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

Completeness3/5

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

For a simple single-record read with full schema coverage and annotations handling safety, the description is close to sufficient. That said, with no output schema, the return shape is only hinted at ('One task'), leaving an agent to guess at the response structure.

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% with a single well-documented task_id. The description's 'by id' merely echoes what the schema already states, adding no format or lookup semantics beyond it. Baseline 3 is appropriate.

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?

States a specific verb and resource ('One task by id') and the underlying endpoint GET /task/{task_pkey}, which clearly contrasts with the sibling list_tasks. It doesn't explicitly name the listing alternative, but the singular framing makes the single-record scope unambiguous.

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

Usage Guidelines2/5

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

No when-to-use or when-not guidance is given. The reader must infer that this is for retrieving a single known task versus tokeet_list_tasks for enumeration; no prerequisites, no routing to alternatives.

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

tokeet_get_templateGet message templateB
Read-only
Inspect

One message template by id. GET /template/{template_pkey}.

NameRequiredDescriptionDefault
template_idYesTemplate id (the id / pkey Tokeet returns for it).

TDQS

B3.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safe-read profile is fully covered externally. The description adds only the underlying REST path (GET /template/{template_pkey}) and says nothing about failure behavior (e.g., missing id), which is the one thing annotations cannot express here.

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

Conciseness5/5

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

Two short sentences, scope stated first, no filler or repetition. Nothing could be removed without losing information.

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?

For a single-parameter, read-only lookup with complete schema coverage and annotations, this is nearly enough; the agent knows what to pass and that it is safe. With no output schema, a brief note on what a template record contains would close the remaining gap.

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?

Only one parameter, and schema description coverage is 100% with the field already documented as 'Template id (the id / pkey Tokeet returns for it)'. The description's 'by id' merely restates the schema, so the baseline 3 applies.

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?

States a specific verb (get) plus resource (message template) and scoping condition (by id), which distinguishes it in principle from the sibling tokeet_list_templates. It never names that sibling, so the differentiation is inferable rather than explicit.

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

Usage Guidelines3/5

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

The phrase 'by id' implies usage when a template id is already known, but there is no statement of when to prefer this over tokeet_list_templates, nor any prerequisite such as needing the id from a prior list call. Usage is only implied.

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

tokeet_get_userGet userC
Read-only
Inspect

One team member by id. GET /user/{user_pkey}.

NameRequiredDescriptionDefault
user_idYesUser id (the id / pkey Tokeet returns for it).

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond restating the raw HTTP route, offering no context on what the lookup returns, what happens if the id is unknown, or any auth requirement.

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?

It is short and front-loaded, but the second sentence simply echoes the endpoint path, which adds little for an agent that already has the structured tool name and schema. Two clipped fragments spend characters on redundancy rather than the missing usage context.

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

Completeness3/5

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

For a simple one-parameter read tool with annotations covering safety, this is barely sufficient. There is no output schema, so the description could usefully say what a user record look-up yields, and it does not address the current-user or list-users alternatives in a crowded sibling set.

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% and the single parameter is fully documented in the schema, including the 'id / pkey' clarification. The description's '{user_pkey}' mirrors that mapping but adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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

Purpose3/5

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

The fragment 'One team member by id' does convey a singular fetch of a user keyed by id, and the endpoint path corroborates it. But it omits the verb entirely and gives no explicit contrast with close siblings like tokeet_get_current_user or tokeet_list_users.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisite or permission note, and no mention of the alternative tools that retrieve users. An agent must infer the id-vs-current-vs-list distinction on its own.

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

tokeet_list_expensesList expensesA
Read-only
Inspect

List the expenses recorded in the account (date, rental, category, amount, paid/unpaid status), by creation date. Read-only. GET /expense.

NameRequiredDescriptionDefault
skipNoRows to skip, from 0 (default 0). Pass the previous reply's next_skip.
sortNo1 ascending, -1 descending.
limitNoResults per page, 1-100 (default 25).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's 'Read-only' is largely redundant. It does add the underlying endpoint (GET /expense) and the identity of the returned fields, which is mild extra context, but says nothing about pagination behavior, result caps, or account scoping beyond the annotations.

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

Conciseness4/5

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

One front-loaded sentence carries the substance, followed by two short fragments. Nothing is padded, though 'Read-only' duplicates the annotation and 'GET /expense' is of marginal use to an agent, so it stops just short of ideal.

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 no output schema, the description helpfully enumerates the fields a caller will receive and the ordering, and pagination is fully handled by the schema. The only remaining gap is the absence of any guidance on filtering or scope limits of the listing.

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 description coverage is 100% – skip, sort, and limit are each fully documented in the schema, including the 1-100 limit range and the next_skip chaining hint. The description adds no parameter-level detail, so the baseline of 3 applies.

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

Purpose5/5

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

Specific verb ('List') plus resource ('expenses'), with an explicit enumeration of the returned fields (date, rental, category, amount, paid/unpaid) and the sort basis (creation date). It is clearly distinguishable from the sibling tokeet_get_expense (singular fetch) and the other list_* tools.

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

Usage Guidelines3/5

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

The description establishes the context (items in the account, ordered by creation date) but never states when to prefer this over tokeet_get_expense or how it relates to other listing tools. Usage is implied by 'List' rather than articulated, and no exclusions or prerequisites are given.

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

tokeet_list_guestsList guestsA
Read-only
Inspect

List guests (personal data: name, emails, phones, address, notes, interactions), one page at a time. Filter by partial name, booking source/channel, and whether they have bookings. GET /guest.

NameRequiredDescriptionDefault
nameNoPartial guest name (matched by regex on the name).
skipNoRows to skip, from 0 (default 0). Pass the previous reply's next_skip.
sortNoSort by name: 1 ascending, -1 descending.
limitNoResults per page, 1-100 (default 25).
bookedNotrue = only guests with bookings.
sourceNoOnly guests from this channel/source, e.g. airbnb.
unbookedNotrue = only guests without bookings.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds real value beyond that by disclosing that results contain personal data (name, emails, phones, address, notes, interactions) and that results are paginated one page at a time — context an agent needs for privacy handling and iteration.

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

Conciseness5/5

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

Two tight sentences with zero filler: the resource and PII payload come first, then filters and pagination. Every clause earns its place and nothing is buried.

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 no output schema, the description carries the return-value burden and does so reasonably by naming the returned PII fields and the paging model. It is complete enough to call correctly given 100% schema coverage and read-only annotations, though it never states the pagination cursor semantics itself (deferred to the schema).

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 description coverage is 100%, so every parameter is already documented with syntax (e.g. regex matching for name, next_skip chaining for skip, 1-100 for limit). The description's filter summary largely restates that, so it sits at the baseline of 3 without adding format or constraint detail beyond the schema.

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?

States a specific verb and resource ("List guests") plus scope ("one page at a time") and the filterable dimensions, so the agent knows exactly what it returns. It does not explicitly differentiate itself from siblings like tokeet_get_guest or tokeet_get_guest_by_email, though the list-vs-get distinction is inferable.

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

Usage Guidelines3/5

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

The description names the available filter axes (partial name, booking source/channel, has/hasn't bookings), which implies when each filter is useful, but it gives no explicit when-to-use guidance or routing to alternatives such as get_guest_by_email for a single lookup. Usage is implied rather than stated.

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

tokeet_list_ratesList rental ratesA
Read-only
Inspect

All standard, dynamic and promotional rates of one rental. Read-only: rates cannot be changed with this server. GET /rate/{rental_pkey}.

NameRequiredDescriptionDefault
skipNoRows to skip, from 0 (default 0). Pass the previous reply's next_skip.
sortNo1 ascending, -1 descending.
limitNoResults per page, 1-100 (default 25).
rental_idYesRental id (the id / pkey Tokeet returns for it).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the 'Read-only: rates cannot be changed with this server' sentence largely restates structured data. The endpoint reference is mild added value, but nothing is said about pagination flow (next_skip), rate volume, or auth requirements beyond what the schema and annotations supply.

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

Conciseness4/5

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

Front-loaded and brief: purpose first, then constraint, then endpoint. The read-only sentence is partially redundant with readOnlyHint, which costs a point but does not bloat the text.

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?

For a simple paginated list tool with full schema coverage, annotations covering safety, and no output schema to explain, the description is nearly complete. It omits nothing critical, though it could note the paged/next_skip nature of results to set expectations.

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 description coverage is 100% and all four parameters (rental_id, skip, limit, sort) are documented in the schema with defaults, bounds and next_skip semantics. The description adds only the implicit 'one rental' scoping and no format/detail beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

States a specific verb (list) and resource (rental rates), and narrows scope with 'of one rental' while enumerating the rate categories returned (standard, dynamic, promotional). That is enough to separate it from siblings like tokeet_get_rental and tokeet_get_rental_availability without opening any schema.

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

Usage Guidelines3/5

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

Scope ('of one rental') and the read-only note imply when the tool applies, but there is no explicit when-to-use guidance or named alternative (e.g., use get_rental_availability instead when checking bookable dates). Usage is inferable rather than stated.

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

tokeet_list_rentalsList rentalsB
Read-only
Inspect

List the rental properties in the account, sorted by name. GET /rental.

NameRequiredDescriptionDefault
skipNoRows to skip, from 0 (default 0). Pass the previous reply's next_skip.
sortNo1 ascending, -1 descending.
limitNoResults per page, 1-100 (default 25).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description corroborates this with 'GET /rental' and adds the default ordering ('sorted by name'), which is genuinely new information, but says nothing about pagination behavior or result shape.

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

Conciseness5/5

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

Two short sentences, zero waste, with the core verb+resource front-loaded and the endpoint appended for context. Nothing is padded or restated from the title.

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?

For a simple read-only list tool with full schema coverage and no output schema, the description covers purpose and default ordering adequately. It leaves pagination and return format unstated, though the schema encodes pagination via next_skip.

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 description coverage is 100%, so skip/sort/limit are fully documented in the schema itself. The description adds no parameter detail beyond the default sort ordering, which matches the baseline 3 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?

States a specific verb and resource ('List the rental properties in the account'), which clearly separates it from the singular tokeet_get_rental and the owner-scoped tokeet_list_rentals_by_owner. It doesn't explicitly name those siblings, so it doesn't reach the top of the scale, but an agent can infer the granularity.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance and no named alternative. The agent gets the resource scope ('in the account') but must infer on its own whether to call this versus get_rental or list_rentals_by_owner.

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

tokeet_list_rentals_by_ownerList rentals by ownerA
Read-only
Inspect

List the rentals assigned to one owner. GET /rental/owner/{owner_pkey} (Tokeet documents no paging for it: all of the owner's rentals come back).

NameRequiredDescriptionDefault
owner_idYesOwner id (the id / pkey Tokeet returns for it).

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds genuine non-structured context: Tokeet documents no paging for this endpoint, so the full set of the owner's rentals is returned. That is useful behavioral detail an agent would otherwise have to guess, though nothing is said about result size limits or error cases.

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

Conciseness5/5

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

Two tight sentences with the purpose front-loaded and the ending-content note second. No filler, no restatement of the title.

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?

For a single-parameter read tool with no output schema and annotations covering the safety profile, the description is nearly complete: it states scope and the no-paging behavior. Missing only a note on what a rental record contains or how large the unpaged payload may get.

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 description coverage is 100% and the single owner_id parameter is documented as the id/pkey Tokeet returns. The description's endpoint path ({owner_pkey}) confirms the identifier semantics but adds no format, validation, or sourcing detail beyond the schema, so the baseline 3 applies.

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

Purpose5/5

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

States a specific verb (List) and resource (rentals) scoped to one owner, and implies the distinction from the sibling tokeet_list_rentals by making the owner scoping explicit. It even names the underlying endpoint, so the agent knows exactly what is being fetched.

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

Usage Guidelines3/5

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

The owner-scoped framing implicitly signals when to prefer this over tokeet_list_rentals, but the description never names that sibling or states the selection condition outright. Usage is inferable rather than stated.

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

tokeet_list_tasksList tasksB
Read-only
Inspect

List the tasks (to-dos, e.g. cleanings and check-ins) in the account, sorted by task name. GET /task.

NameRequiredDescriptionDefault
skipNoRows to skip, from 0 (default 0). Pass the previous reply's next_skip.
sortNo1 ascending, -1 descending.
limitNoResults per page, 1-100 (default 25).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the sort behavior and the underlying endpoint, but says nothing about pagination semantics, rate limits, or response shape, so it is only modestly additive.

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

Conciseness4/5

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

A single front-loaded sentence with the resource, scope, and ordering, plus a short endpoint note. The 'GET /task' fragment is low-value technical noise, but overall it is tight and waste-free.

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?

For a simple, non-destructive list tool with 100% schema coverage and full annotations, the description covers what the tool returns conceptually (tasks) and how they are ordered. It omits pagination flow (the schema's next_skip hint implies a cursor) and any return-format note, but no output schema exists so the gap is small.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds real value on one parameter: the 'sort' property only specifies 1/-1 direction, and the description supplies the missing field ('sorted by task name'). It adds nothing for skip/limit, which are already well documented.

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?

States a specific verb (List) and resource (tasks) with scope ('in the account') and clarifying examples ('cleanings and check-ins') that map to the domain. It is distinguishable from tokeet_get_task (single fetch) and tokeet_create_task by implication, though it never names those siblings explicitly.

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

Usage Guidelines2/5

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

No when-to-use or when-not-to-use guidance, and no mention of alternatives such as tokeet_get_task for a single task. Usage is only implied by the word 'List'; an agent gets no routing help.

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

tokeet_list_templatesList message templatesB
Read-only
Inspect

List the message/email templates in the account, optionally of one type. GET /template.

NameRequiredDescriptionDefault
skipNoRows to skip, from 0 (default 0). Pass the previous reply's next_skip.
sortNo1 ascending, -1 descending.
typeNoOnly templates of this type.
limitNoResults per page, 1-100 (default 25).

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only the underlying endpoint (GET /template) and the optional type narrowing; it says nothing about pagination behavior or auth, which is a modest addition on top of the annotations.

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

Conciseness4/5

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

A single short sentence followed by the endpoint, with the core purpose front-loaded and no filler. The raw HTTP verb/path adds little for an agent and is the only slightly expendable element.

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

Completeness3/5

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

All four optional parameters are documented in the schema and annotations carry the safety profile, so the essential call mechanics are present. However, with no output schema the description never indicates the shape of the returned template list or how paging metadata (next_skip) surfaces, leaving that gap.

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 description coverage is 100%, with skip, sort, type and limit all self-documented including the next_skip pagination hint, so the baseline is 3. The description restates the type filter but adds no syntax, format, or default detail beyond the schema.

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?

States a specific verb (List) and resource (message/email templates) scoped to the account, and notes an optional type filter. It clearly contrasts with the singular sibling tokeet_get_template by virtue of 'list' vs 'get', though it never names siblings explicitly.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no reference to alternatives such as tokeet_get_template for fetching a single template. 'Optionally of one type' is a filtering hint, not usage guidance, so the agent must infer when this tool is appropriate.

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

tokeet_list_triggersList automation triggersA
Read-only
Inspect

List the automation triggers (event, rental, template, delay) in the account. Read-only: triggers cannot be changed with this server. GET /trigger.

NameRequiredDescriptionDefault
skipNoRows to skip, from 0 (default 0). Pass the previous reply's next_skip.
sortNo1 ascending, -1 descending.
limitNoResults per page, 1-100 (default 25).

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known before reading the description. The sentence 'triggers cannot be changed with this server' largely restates readOnlyHint rather than adding new behavioral context; no pagination or result-shape behavior is disclosed beyond the GET /trigger endpoint. Some added value, but not enough for a 4.

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

Conciseness5/5

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

Two short sentences, zero filler, with the resource and scope front-loaded before the read-only constraint. Every clause contributes.

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

Completeness3/5

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

For a parameterless-filter list tool this is close to adequate, and annotations cover safety. However, with no output schema, the description should say more about the returned shape (e.g. that results are paginated via next_skip), which is currently left entirely to the input schema.

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 description coverage is 100%, so skip, sort, and limit are already fully documented including defaults and use of next_skip. The description adds no parameter meaning, which is the expected baseline 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.

Purpose5/5

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

States a specific verb (List) and resource (automation triggers), and enumerates the trigger kinds (event, rental, template, delay), which tells an agent precisely what domain object is returned. No sibling tool covers triggers, so there is no ambiguity to resolve.

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

Usage Guidelines3/5

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

The description implies the usage context (inspect automation triggers) but never states when to prefer this over alternatives or what prerequisite conditions apply. The 'read-only' note hints at the boundary of the tool, but there is no explicit when/when-not guidance.

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

tokeet_list_usersList usersB
Read-only
Inspect

List the team members (users) of the Tokeet account. GET /user.

NameRequiredDescriptionDefault
skipNoRows to skip, from 0 (default 0). Pass the previous reply's next_skip.
limitNoResults per page, 1-100 (default 25).

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the scope ('team members of the Tokeet account') and the HTTP endpoint ('GET /user'), but does not describe auth needs, rate limits, or pagination behavior beyond what the schema already provides.

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

Conciseness5/5

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

The description is two short sentences with zero waste, and the core purpose is front-loaded before the HTTP method detail. It is appropriately sized for a simple list tool.

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?

For a simple read-only list operation with full schema parameter documentation and safety annotations, the description covers purpose and scope adequately. It omits return-value details, but for a basic user list this does not prevent correct invocation.

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 description coverage is 100%, and both pagination parameters are fully documented in the input schema. The description adds no additional parameter meaning, so the baseline score of 3 is appropriate.

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: 'List the team members (users) of the Tokeet account.' It is clear what the tool does, but it does not distinguish itself from sibling tools like tokeet_get_user or tokeet_get_current_user.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives such as tokeet_get_user for a single user or tokeet_get_current_user for the authenticated user. Usage is only implied by the word 'List'.

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

tokeet_record_guest_interactionRecord guest interactionAInspect

WRITE: log an interaction you had with a guest (phone call, meeting or comment) in the guest's history. Nothing is sent to the guest. date is an epoch timestamp: use the same unit as the dates you see on existing interactions from tokeet_get_guest. POST /guest/{guest_pkey}/interaction.

NameRequiredDescriptionDefault
dateYesEpoch timestamp of the interaction (same unit as Tokeet's other dates).
typeYesInteraction type.
commentYesWhat was discussed.
guest_idYesGuest id (the id / pkey Tokeet returns for it).

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare write (readOnlyHint=false), open-world, non-idempotent, non-destructive. The description adds the non-obvious fact that no notification reaches the guest and discloses the underlying POST endpoint, which meaningfully clarifies the openWorldHint=true flag. It does not cover auth, permissions, or duplicate handling.

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

Conciseness5/5

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

Front-loaded with 'WRITE:' in caps, then the effect, then the field caveat, then the endpoint. Every sentence earns its place with no padding.

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?

For a 4-param write tool with full schema coverage and no output schema, the definition covers the critical unknowns (side effects, date unit). It could go slightly further on what a successful call yields or what errors to expect, but nothing essential for correct invocation is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description goes beyond the schema by explaining how to determine the epoch unit (match existing interactions from tokeet_get_guest) rather than just asserting 'same unit as Tokeet's other dates'.

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

Purpose5/5

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

The description names a specific verb (log) and resource (interaction with a guest) and even enumerates the accepted interaction types (phone call, meeting, comment), so an agent can distinguish this from siblings like tokeet_add_guest_note without opening the schema.

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 states the effect clearly ('Nothing is sent to the guest') and gives concrete guidance on resolving the trickiest field by pointing to tokeet_get_guest for the date unit. It stops short of explicit when-to-use-vs-alternatives routing (e.g. versus add_guest_note).

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

tokeet_update_guestUpdate guestA
DestructiveIdempotent
Inspect

WRITE: change fields of a guest (name, address, birthday, spouse, kids, drink, hobby, sport). Only the fields you pass are sent, and each one OVERWRITES the stored value (an address object replaces the whole address). Emails and phones have their own endpoints and are not changed here. PUT /guest/{guest_pkey}.

NameRequiredDescriptionDefault
kidsNoNames of the guest's children, as one string.
nameNoNew full name.
drinkNoFavourite drink.
hobbyNoHobby.
sportNoSport.
spouseNoName of the guest's spouse.
addressNoGuest address.
birthdayNoBirthday, MM/DD/YYYY.
guest_idYesGuest id (the id / pkey Tokeet returns for it).

TDQS

A4.4/5.0
Behavior4/5

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

Annotations declare destructiveHint=true, but the description goes further by explaining exactly what destruction means: each passed field OVERWRITES the stored value, and an address object replaces the whole address. This partial-update/wholesale-replace distinction is the key risk and is not derivable from the annotations alone. Auth/permission requirements and error behavior are still unstated.

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

Conciseness5/5

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

Three sentences, zero filler. The WRITE marker is front-loaded, field list second, the critical overwrite warning third, the exclusion fourth, and the HTTP endpoint last. Every sentence earns its place.

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?

For a 9-parameter mutation tool with no output schema, the description covers the mutation model, field scope, exclusions, and endpoint, which is most of what an agent needs. Missing pieces are permission/auth prerequisites and what the response contains, both of which matter for a destructive write.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning the schema lacks: per-field overwrite semantics and the fact that the nested address object is replaced as a unit rather than merged. That is the one parameter behavior the schema cannot express on its own.

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

Purpose5/5

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

Opens with an explicit 'WRITE:' verb marker and names the resource ('change fields of a guest'), then enumerates the exact field set. An agent can immediately separate this from tokeet_create_guest, tokeet_get_guest, or tokeet_update_task without opening any schema.

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?

Gives a clear exclusion — 'Emails and phones have their own endpoints and are not changed here' — which routes the agent away from this tool for those fields. It also states that only passed fields are sent. It stops short of naming the sibling to use for creation vs update, so it is context-rich but not fully explicit about alternatives.

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

tokeet_update_taskUpdate taskA
DestructiveIdempotent
Inspect

WRITE: change a task: rename, move to another list, reschedule, edit notes, reassign, or mark it completed (status 2) or active (1). Only the fields you pass are sent and each OVERWRITES the stored value. PUT /task/{task_pkey}.

NameRequiredDescriptionDefault
dueNoEpoch timestamp when due (same unit as existing tasks).
listNoTask list name.
nameNoNew task name.
notesNoTask note (replaces the old one).
statusNo1 = active, 2 = completed.
task_idYesTask id (the id / pkey Tokeet returns for it).
user_idNoUser id to assign the task to.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered. The description meaningfully extends this by disclosing that only passed fields are sent and that each passed field OVERWRITES the stored value, plus the PUT endpoint — a real destructive-semantics clarification. It omits auth requirements and 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.

Conciseness5/5

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

Three dense sentences, front-loaded with the WRITE marker and the destructive overwrite caveat stated before the endpoint detail. No filler.

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?

For a 7-parameter partial-update mutation with no output schema, the essentials are present: verb, scope, partial-update/overwrite semantics, and endpoint. What is missing (permission requirements, error behavior on invalid list or user, response shape) is minor against annotation coverage.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by mapping intent to parameters (reschedule → due, move → list, reassign → user_id, complete → status 2) and by restating the status codes inline, letting an agent choose the right field without cross-referencing the schema.

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

Purpose5/5

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

States the specific verb and resource ('change a task') and enumerates the exact operations it covers (rename, move, reschedule, notes, reassign, status change). The 'WRITE:' prefix immediately distinguishes it from read siblings such as tokeet_get_task and tokeet_list_tasks, and from tokeet_create_task.

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?

The operation list makes clear this is the tool for modifying an existing task, which is strong selection context. It does not explicitly name alternatives (e.g., use tokeet_create_task instead for new tasks) or state when not to use it, so it stops short of full routing guidance.

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

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.