Skip to main content
Glama
palarkin

OwnerRez MCP Server

by palarkin

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Each tool targets a distinct resource and action: properties, bookings, guests, owners, statements, payments, deposits, refunds, inquiries, messages, availability, and rates. While some tools have similar list/get patterns, their resource names clearly differentiate them, and potential overlaps like get_schedule vs. get_availability are resolved by scope (all properties vs. one property).

    Naming Consistency5/5

    All tools follow a consistent ownerrez_verb_noun pattern using snake_case: list for collections, get for single items, search for guests, send for messages, update for rates. No camelCase or irregular verbs are used, making the naming predictable and easy to navigate.

    Tool Count4/5

    At 21 tools, the set is slightly heavier than the typical 3-15 well-scoped range but still reasonable for a property management domain covering many resource types. Each tool has a clear purpose, and the count is not excessive enough to feel bloated.

    Completeness3/5

    The server provides comprehensive read coverage (properties, bookings, guests, owners, statements, payments, deposits, refunds, inquiries) and a couple of write actions (send_message, update_rate). However, it lacks create, update, or delete operations for core entities like bookings, properties, and guests, which are notable gaps that could require workarounds.

  • Average 4.1/5 across 21 of 21 tools scored. Lowest: 3.1/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 8 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds the return field list and the 'all property owners' scope, which is useful behavioral context, but it does not disclose pagination, ordering, or parameter-driven filtering behavior.

    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 a single, front-loaded sentence with no filler. Every word contributes to conveying the tool's purpose and return fields.

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

    Completeness2/5

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

    The tool has two undocumented parameters and no output schema. While the description lists some return fields, it omits crucial behavior such as how active and include_fields affect the response and whether the list is paginated or sorted, making the tool only partially specified.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not mention active or include_fields at all. The agent is left guessing what these boolean parameters do, and the description fails to compensate for the missing parameter documentation.

    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 clearly states 'List all property owners' with a specific verb and resource, and even enumerates the returned fields. This distinguishes it from sibling tools like get_owner (singular) and list_owner_statements (different resource).

    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 description provides no guidance on when to use this tool versus alternatives. It does not mention that get_owner should be used for a single owner, nor does it explain the purpose of the active or include_fields parameters relative to alternative tools.

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

  • Behavior2/5

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

    The annotations already provide comprehensive safety information (read-only, idempotent, non-destructive). The description adds no further behavioral context beyond restating the purpose. It does not mention possible errors, return format, or any other side effects, which is a gap given the lack of an output schema.

    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 a single, short sentence that is immediately clear and front-loaded with the key action and resource. No filler or redundant information is present.

    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 get-by-id tool, the description is largely sufficient, especially with strong annotations. However, without an output schema, it would benefit from stating that the response contains the owner object. It also doesn't mention error cases or pagination, though those are less critical for a single record fetch. Overall, it meets the minimum but leaves some gaps.

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

    Parameters2/5

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

    The schema has only one parameter 'id' with 0% description coverage. The description's 'by id' simply restates the property name and adds no additional meaning about the parameter's format, semantics, or constraints. Since coverage is 0%, the description was expected to compensate, but it does not.

    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 'Fetch a single owner by id' clearly states the action (fetch), the resource (owner), and the access method (by id). It unambiguously distinguishes from sibling tools like list_owners, which fetch multiple owners, and from other getters targeting different resources.

    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 description implies when to use the tool: when you have a specific owner id and need that single record. It clearly conveys the scope ('single owner') making it obvious that for multiple owners, list_owners would be appropriate. However, it does not explicitly name alternatives or state exclusions, so it falls short of a 5.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds a valuable behavioral constraint: at least one of booking_id or since_utc is required to keep results bounded, which is not stated in the schema and is important for correct invocation.

    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 a single sentence with a clear verb-first structure, a parenthetical clarification, and a concise constraint. Every phrase contributes meaning, with no redundant or filler content.

    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 list tool with three scalar parameters and no output schema, the description covers the core purpose, the key parameter-selection logic, and the boundedness constraint. It does not describe return format or pagination, but given the tool's simplicity, this is acceptable and mostly complete.

    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?

    The input schema documents since_utc and booking_id (67% coverage), so the baseline is 3. The description adds the relationship between these two parameters and the requirement to provide one, which aids agent understanding. However, the 'limit' parameter's semantics remain unexplained beyond its type.

    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 'List deposits (payouts grouping)' with a specific verb and resource. It clarifies the domain as payout groupings, which helps differentiate it from sibling tools like ownerrez_list_payments and ownerrez_list_refunds, though it does not explicitly name alternatives.

    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 provides clear parameter-usage context: 'Provide booking_id (for one booking) or since_utc (recent activity) — one is required to keep results bounded.' However, it does not mention when to choose this tool over sibling tools or any exclusions, so usage guidance is only partially complete.

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

  • Behavior4/5

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

    Annotations already declare the tool read-only and idempotent. The description adds useful behavioral context about the default compact view, the full=true switch, and the use of limit to cap results, which informs expected behavior without contradicting annotations.

    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 compact and front-loaded, with the core action stated first followed by relevant output and parameter behavior. Every clause adds value without redundancy.

    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?

    Given the absence of an output schema, the description lists the compact view fields and explains the full option, covering the main use cases. It misses semantics for include_tags and include_fields, but overall it provides sufficient context for an agent to understand the tool's purpose and basic behavior.

    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?

    The description elaborates on the full and limit parameters, explaining what full=true does and how limit caps results, which goes slightly beyond the schema descriptions. However, it provides no information about include_tags and include_fields, leaving those parameters ambiguous.

    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 clearly states the tool lists properties, with a specific verb and resource. It also provides details about the compact view and full option, giving scope beyond a simple 'list'. While it doesn't explicitly contrast with get_property, the naming and behavior are unambiguous.

    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 when to use the tool (to retrieve multiple properties) and mentions options like full and limit, but does not explicitly compare with sibling tools like get_property. There is no exclusionary guidance such as 'for a single property, use get_property instead.'

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds no extra behavioral context such as response format or error cases, which is acceptable for a simple read tool with strong annotations.

    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 sentence with no wasted words. It is front-loaded and direct.

    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 get-by-id tool, the description is adequate. It clearly identifies the target resource and the required identifier. The absence of output schema is acceptable since the tool name and description imply a booking object, though a bit more detail on return shape would improve completeness.

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

    Parameters2/5

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

    Schema description coverage is 0%, so the description should explain the parameters. It mentions 'id' but gives no meaning for include_guest or include_charges. The bare schema names provide some self-documentation, but the description does not compensate for the lack of coverage.

    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 'Fetch a single booking by id' uses a specific verb and resource, clearly distinguishing it from sibling tools like ownerrez_list_bookings. It precisely states what the tool does.

    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 context for using this tool (when you have a specific booking id) is implied clearly. However, it does not explicitly mention when to avoid it or compare with alternatives like ownerrez_list_bookings.

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

  • Behavior3/5

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

    The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds that results are bounded only when a parameter is provided, but does not disclose return format, pagination behavior, or default limits. Consistent with the baseline for a read-only tool with annotations.

    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 sentences, front-loaded with the main action, and no unnecessary words. Every sentence adds value, making it highly concise and well-structured.

    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 three parameters and no output schema, the description is largely complete. It explains the key constraint for bounding results, though it leaves out details like return format or default limit behavior, which are minor gaps.

    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 67%: booking_id and since_utc already have descriptions, while limit does not. The description adds the cross-parameter constraint that one of the two is required, which is valuable, but it does not elaborate on limit semantics or add much beyond the existing schema descriptions.

    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 clearly states 'List refunds' with a specific verb and resource, distinguishing it from sibling tools like list_payments and list_deposits. It unambiguously identifies the purpose.

    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 description provides explicit guidance on how to invoke the tool: 'Provide booking_id or since_utc — one is required to keep results bounded.' This gives clear context for usage but does not mention when to prefer this over alternatives or when not to use it.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering safety. The description adds value by listing specific fields returned (owner_id, check-in/out rules, capacity, address), which goes beyond annotations and helps the agent understand the response content. No contradictions found.

    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 one concise sentence, front-loaded with the main action and resource, followed by a parenthetical list of detail fields. Every part is informative, and there is no redundant or filler content.

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

    Completeness5/5

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

    For a simple, single-parameter read-only tool, the description provides sufficient context: it states what it does, what fields are included, and is backed by comprehensive annotations. No output schema exists, but the description gives enough detail for the agent to select and invoke the tool correctly.

    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% for the single parameter 'id', with a clear description in the schema. The tool description does not add additional parameter information beyond 'by id', which matches the schema. Therefore, 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.

    Purpose5/5

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

    The description clearly states the tool fetches a single property by id, with a specific verb ('Fetch') and resource ('property'). It distinguishes from sibling tools like ownerrez_list_properties and ownerrez_get_booking by explicitly naming the target resource and indicating single-item retrieval with full detail.

    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 usage when you need a specific property's full details by its id, but it does not explicitly mention when not to use it or suggest alternatives. There is no direct comparison to sibling tools such as ownerrez_list_properties, so usage context is implied rather than explicit.

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

  • Behavior4/5

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

    The description reveals default compact view behavior and that include_charges implies full=true, adding behavioral context beyond the readOnly, idempotent, and openWorld annotations. No contradictions with annotations 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 crisp sentences cover the core purpose, a key requirement, default behavior, and optional flags. Every sentence adds value without repetition.

    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?

    Despite having 8 parameters and no output schema, the description effectively conveys the mandatory filter, view defaults, and related flag behavior. It relies on schema for details like status and date filters, which is acceptable given high schema coverage, though it could mention how status interacts.

    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 covers 75% of parameters with descriptions, so baseline is 3. The description adds the cross-parameter constraint 'requires property_ids OR since_utc' and explains limit usage, which are not evident from the schema alone.

    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 uses a specific verb 'Search' with resource 'bookings', clearly indicating a search/list operation. It does not explicitly differentiate from sibling tools like ownerrez_get_booking, but the name and phrasing imply a listing action.

    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 a clear prerequisite: requires property_ids or since_utc, and offers practical guidance on full view and limit. However, it does not mention when to choose alternative tools, so no explicit when-not guidance.

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

  • Behavior4/5

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

    Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral context beyond annotations: it explains that the tool returns bookings overlapping the range rather than a computed availability calendar, and highlights the lack of a calendar endpoint. This helps the agent interpret results correctly.

    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 sentences, front-loaded with the primary action, then provides essential context. Every sentence earns its place with no filler or redundancy.

    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?

    Given no output schema, the description does mention that the return is bookings overlapping the range, which is essential. It also discloses the lack of a calendar endpoint. While it doesn't detail the exact structure of returned bookings or handle edge cases, the description is complete enough for a read-only query tool with good annotations.

    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 only 50%, with descriptions for 'from' and 'to' but not for 'status' or 'property_id'. The description adds meaning for the date range and clarifies the output is bookings overlapping the range, but it does not explain the 'status' parameter's role or values. Property_id is self-explanatory from its name, so the description partially compensates for the schema gaps.

    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 clearly states the tool shows what's booked/blocked for a property in a date range, using a specific verb and resource. It distinguishes from sibling tools like list_bookings by explaining that availability is derived from bookings, not directly provided by a calendar endpoint.

    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 description implies when to use it: when you need availability for a property over a date range. It provides context that there is no calendar endpoint and that availability is derived from bookings, which gives a clear mental model. However, it does not explicitly name alternatives or exclusions, so it stops short of a 5.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds valuable context about authentication requirements (OAuth vs PAT), which is a behavioral constraint not covered by annotations. It does not, however, describe return format or error behavior, so it is not a perfect 5.

    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 sentences: a clear, front-loaded action statement and a concise note about authentication. Every word earns its place; there is no fluff or redundancy.

    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 fetch-by-id tool with annotations, the description is largely complete. It covers the core action and the crucial auth limitation. However, the lack of an output schema means the description could have clarified what exactly is returned (e.g., the full message object), so it is not fully complete.

    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 0% since the description does not detail the parameter schema, but the description does clarify that the tool operates by 'id', implying the required integer parameter is the message identifier. This is minimal compensation for a single, self-explanatory parameter, but it meets the baseline without adding richer meaning.

    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 clearly states the action ('Fetch') and resource ('a single message by id'). It distinguishes itself from sibling tools like list_thread_messages (which lists messages) and send_message (which sends messages) by specifying the unique resource and 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?

    The description gives clear context for when to use the tool (to fetch a single message by id) and explicitly notes an important exclusion: messaging is unavailable with a Personal Access Token and requires OAuth. However, it does not explicitly name alternative tools for listing messages or handling authentication failures, so it falls short of a full 5.

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

  • Behavior4/5

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

    Annotations already declare read-only, idempotent, and non-destructive behavior, so the description's burden is lower. It adds value by specifying the content of the schedule (arrivals, departures, stays, turnovers) and the scope (all properties or one). It does not contradict annotations and provides useful behavioral context beyond the structured hints.

    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 sentences, front-loaded with the core purpose ('operational schedule'), followed by a concise enumeration of result types and a key usage note. Every word earns its place, with no redundancy or 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 relatively simple read-only tool with no output schema, the description sufficiently covers what the agent needs to know: the data returned, the date-range scope, and the optional property filter. It lacks details on response structure or pagination, but given the tool's simplicity and the strength of annotations, it is complete enough for selection and 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% for all three parameters, each with clear descriptions and examples. The description reinforces that property_id is optional and that the tool can operate across all properties, but it does not add new semantic details beyond the schema. Baseline of 3 is appropriate given the high schema coverage.

    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 uses a specific verb ('get') and resource ('operational schedule') and clearly states what the tool returns: arrivals, departures, stay-throughs, and turnovers for a date range. It distinguishes itself from siblings by emphasizing the all-properties or single-property scope and the 'one call' convenience, which is unique among the listed 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?

    The description clearly implies when to use: to retrieve the operational schedule for a date range, optionally filtered to one property. The phrase 'One call — no need to pass property ids' explicitly guides the agent on a key usage scenario, but it does not mention alternatives or exclusions relative to sibling tools like list_bookings or get_availability.

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

  • Behavior4/5

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

    Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds behavioral context about the compact default output and the full=true flag, plus enumerates the fields returned. No contradictions; it enriches the annotation information.

    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 sentences: the first states the action and key outputs, the second explains the compact/full default. No redundant phrases; every word carries meaning. The structure is front-loaded with the core purpose.

    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 compensates by listing key fields and default behavior. It gives enough context to understand the tool's role among siblings. However, the behavior of 'limit' and any pagination semantics are not mentioned, which leaves a small 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 coverage is 75% (3 of 4 params have descriptions). The description clarifies the 'full' parameter and relates it to the output, but doesn't add meaning to 'limit' or 'since_utc' beyond what's in the schema. Thus it stays at the baseline for high schema coverage.

    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 clearly states the tool lists pre-booking guest inquiries/leads with specific fields (requested dates, party size, source channel, thread_ids). The term 'pre-booking' distinguishes it from list_bookings, and the mention of thread_ids for messaging tools differentiates it from get_inquiry or list_bookings.

    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?

    Provides clear context that this is for pre-booking leads, implying when it should be used over booking-related tools. The mention of thread_ids for messaging tools hints at a workflow, but it doesn't explicitly say 'use this instead of list_bookings' or 'for confirmed bookings use list_bookings', so it sits just above implied usage.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true and idempotentHint=true, so no safety concerns are needed. The description adds meaningful behavioral context: results are compact by default and full=true returns every field. This goes beyond the annotations and helps the agent understand response format variations.

    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, front-loaded with the primary function, and every word adds value. It efficiently covers the core behavior without unnecessary fluff.

    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 search tool with three parameters and no output schema, the description provides sufficient context for correct invocation: what to search, the search parameter, and the full parameter behavior. The only minor gap is lack of explanation for limit, but it is a standard pagination parameter and self-explanatory from its name.

    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 only 33% (only q is described). The description clarifies the purpose of q and adds semantics for full (full=true for every field), but does not explain the limit parameter. Since coverage is low, the description should compensate more; it partially does but leaves limit undocumented, resulting in a moderate score.

    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 uses a specific verb ('Find') and resource ('guests') with explicit search criteria ('by name or email'). It clearly distinguishes itself from sibling tools like ownerrez_get_guest, which implies retrieval by ID, while this tool searches by name/email.

    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 description clearly implies when to use the tool: when you need to find guests by name or email. It does not explicitly mention alternatives or exclusions, but the context is unambiguous and sufficient for an agent to decide.

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

  • Behavior4/5

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

    Descriptions goes beyond annotations by disclosing the preview/write gating via confirm, which is a safety-critical behavior not implied by readOnlyHint=false or destructiveHint=true alone. It also explains the null amount fallback, adding meaningful context about how the tool behaves. It doesn't contradict annotations, though it could mention idempotency explicitly.

    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 four short sentences, front-loaded with the core purpose. Every sentence adds essential information: scope, preview behavior, default amount behavior, and optional parameters. No filler or redundancy, making it easy for an agent to parse quickly.

    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 tool with 7 parameters, 3 required, and no output schema, the description covers the essential usage aspects: confirm gating, null amount fallback, and optional min/max nights. It relies on the schema for dates and currency formats, which is acceptable. Missing details like return values are less critical for a mutation tool, so this is fairly complete.

    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?

    The description adds semantics for amount (null = seasonal default) and confirm (must be true to write), which are not fully detailed in the schema. It also mentions min/max nights as optional, but without explaining their effect. With schema description coverage at 57%, the description partially compensates but still leaves min_nights/max_nights and property_id unexplained.

    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 opens with a specific verb+resource: 'Set the nightly rate for specific dates on a property (spot rates).' This clearly states the tool's function and scope, distinguishing it from read-only sibling tools like ownerrez_get_property or ownerrez_list_bookings. The parenthetical 'spot rates' adds precision by indicating this is date-specific rate setting, not a general rate template.

    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 description provides clear usage context: 'Without confirm=true it only previews' tells the agent when to include confirm for a real write, and 'amount=null means use the seasonal default' explains when to use null. While it does not name alternatives, the tool is the only rate-update sibling, so the purpose inherently guides selection. This fits the 'clear context, no exclusions' category.

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

  • Behavior3/5

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

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is established. The description adds that the return is 'full contact record', which gives useful context about the output, but doesn't discuss errors, rate limits, or other behavioral nuances. This is acceptable but not exceptional.

    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 a single sentence of nine words. It is front-loaded with the verb 'Fetch', states the object, and adds a parenthetical specifying the return detail. There is zero redundancy.

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

    Completeness5/5

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

    For a one-parameter GET-by-id tool with rich annotations (read-only, idempotent), the description plus schema cover everything needed. The 'full contact record' parenthetical preempts questions about the return shape, and there is no output schema requirement. The tool is simple enough that the description is complete.

    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 schema has no description, so coverage is 0%. The description's 'by id' clarifies that the generic 'id' parameter refers to the guest's identifier, which adds semantic meaning. With only one integer parameter and a straightforward purpose, this is sufficient compensation.

    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 uses the specific verb 'Fetch' and names the exact resource 'a single guest by id', further clarifying the scope as 'full contact record'. This clearly distinguishes it from sibling tools like ownerrez_search_guests (search) and ownerrez_get_owner (different entity).

    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 description clearly conveys the use case: retrieving a single guest when you have the guest's numeric id. It does not explicitly state when not to use it or mention alternatives, but the context is unambiguous given the sibling list and the 'by id' qualifier.

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

  • Behavior4/5

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

    Annotations already declare read-only, idempotent, and non-destructive behavior, so the bar is low. The description adds meaningful behavioral context by specifying the return fields and sort order, enhancing transparency beyond annotations.

    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 a single concise sentence that immediately states the action, includes key details, and provides a pointer to the companion tool. No wasted words.

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

    Completeness5/5

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

    For a simple one-parameter list tool with strong annotations and no output schema, the description is complete. It covers what is returned, the ordering, and the next step, making it sufficient for an agent to select and invoke correctly.

    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% for the single parameter (owner_id), and the description does not add any parameter-level detail beyond the schema. Baseline 3 is appropriate.

    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 clearly states the tool lists an owner's OwnerRez statements with specific fields (id, period, owner payout, paid/unpaid) and ordering (newest first). It distinguishes itself from sibling ownerrez_get_owner_statement by directing use of the id with that tool.

    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 description provides clear context for when to use this tool: to list statements, then retrieve a specific one via ownerrez_get_owner_statement. However, it does not explicitly mention exclusions or contrast with other list tools, so it stops short of full 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.

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description need not repeat safety. The description adds value by mentioning that the result includes 'full detail' and specifically 'thread_ids for messaging,' giving behavioral context beyond structured fields. No contradictions.

    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 one concise sentence, front-loaded with the action verb, and includes only necessary detail about output content. Every word earns its place; no fluff or redundancy.

    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 get-by-id tool with rich annotations and one parameter, the description is adequate. It states the resource, the scope (full detail), and an output element (thread_ids). It does not describe return format or error conditions, but those are not critical given the simplicity and existing annotations.

    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 input schema has no descriptions (0% coverage), so the description must compensate. The description says 'by id,' clarifying that the required integer parameter is the inquiry identifier. While minimal, it directly addresses the single parameter's purpose.

    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 clearly states the action: 'Fetch a single inquiry by id' with a specific verb and resource. It also notes 'full detail, including thread_ids for messaging,' which distinguishes it from list_inquiries and other siblings that may return summaries.

    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 description implies when to use this tool: when you need a single inquiry's full detail, including thread_ids. It does not explicitly exclude alternatives or name a sibling, but the context of siblings like list_inquiries and get_message makes the use case clear. No explicit when-not-to-use guidance, but sufficient for a simple fetch.

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

  • Behavior4/5

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

    Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds the behavioral constraint that one of booking_id or since_utc is required to keep results bounded, which is not obvious from the schema (no required fields). This goes beyond annotations by disclosing a practical API requirement. It does not mention pagination or response format, but the annotations cover the safety profile.

    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 a single, well-structured sentence that front-loads the core purpose ('List payments') and then provides parameter usage. Every clause adds necessary information without redundancy. It is highly concise and scannable.

    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 list operation with strong annotations (read-only, open-world, idempotent), the description provides sufficient context for selection and invocation. It omits details about response format or pagination, but no output schema exists and the parameter guidance is adequate. The tool is straightforward enough that this is acceptable, but a note about what fields are returned would push it to 5.

    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 67% (two of three parameters have descriptions). The description adds the crucial 'one is required' constraint, which is not captured by the schema's required list. It also reinterprets since_utc as 'recent activity' and booking_id as 'for one booking', reinforcing the schema descriptions. However, it does not explain the limit parameter, which remains undocumented in both schema and description. The added constraint elevates it above baseline 3.

    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 clearly states 'List payments (guest → you)' with a specific verb and resource, and the direction clarifies the scope. It distinguishes from sibling tools like list_deposits and list_refunds by focusing on payments, not other transaction types. The additional parameter context (booking_id or since_utc) further clarifies what the tool does.

    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 description provides clear guidance on when to use this tool: 'Provide booking_id (for one booking) or since_utc (recent activity) — one is required to keep results bounded.' This explains the typical use cases and imposes a necessary precondition. However, it does not explicitly mention alternatives like list_deposits or list_refunds, so while the context is clear, it lacks explicit 'when not to use' guidance.

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

  • Behavior4/5

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

    Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds valuable context: the auth requirement (OAuth app needed, not PAT) and the fact that there is no global message list. These go beyond what annotations provide.

    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 sentences, front-loaded with the core action, and no redundant or filler content. Every word earns its place.

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

    Completeness5/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-only tool with strong annotations, the description fully covers purpose, usage, and a critical auth limitation. No output schema exists, but the description is complete for practical use.

    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 schema already provides 100% coverage for thread_id. The description adds meaning by explaining why the parameter is necessary ('OwnerRez has no global message list'), making it clear the tool cannot operate without it.

    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 clearly states 'Fetch all messages on a single conversation thread', specifying the action (fetch), resource (messages), and scope (single conversation thread). This distinguishes it from sibling tools like get_message (single message) and send_message.

    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 explicitly mentions the requirement for a thread_id and notes that OwnerRez has no global message list, which clarifies when to use it. It also warns about the PAT auth limitation, but does not name alternative tools for other scenarios.

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

  • Behavior5/5

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

    Annotations already declare readOnly, openWorld, idempotent, and non-destructive traits. The description adds valuable behavioral details: it can fall back to a synthesized estimate when official data is missing, and it requires from+to for synthesis. This goes beyond the annotation's safety profile and is crucial for understanding the tool's dynamic behavior.

    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 three sentences, front-loaded with the core purpose, then logically explains the fallback mechanism and the forcing flag. No redundant words; every sentence contributes meaning.

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

    Completeness5/5

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

    For a tool with 7 parameters, two modes, and a fallback behavior, the description covers the decision logic, parameter roles, and conditions adequately. No output schema exists, but the description doesn't oversell; it provides enough for an agent to invoke correctly.

    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 schema covers all 7 parameters with descriptions, so the baseline is 3. The description adds cross-parameter semantics: that from+to are needed for synthesis, and that property_ids and include_bookings are synthesizer-only. This helps an agent understand parameter relationships beyond individual schema descriptions.

    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 clearly states the verb and resource ('Return an owner statement') and differentiates itself from sibling tools like list_owner_statements by specifying the two modes: fetching an official statement or synthesizing one. This is specific and unambiguous.

    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 description gives explicit conditions for when to use each behavior: prefer official statement, synthesize if none exists or unavailable, and force synthesis with synthesize=true. It lacks explicit comparison to sibling tools, but the contextual conditions are clear enough for an agent to decide.

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

  • Behavior5/5

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

    The description goes well beyond the annotations by disclosing critical behavioral traits: it requires OAuth, it previews without confirm=true, and it reaches the real guest in production. These details are not captured by readOnlyHint, openWorldHint, or idempotentHint, and they are essential for safe invocation.

    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 three sentences, front-loaded with the core purpose, and each subsequent sentence adds essential warnings. There is no fluff or redundancy, making it highly efficient.

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

    Completeness5/5

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

    Given the complexity of a send operation with side effects, the description covers authentication restrictions, the preview mechanism, production impact, and a key naming constraint. No output schema is needed, and the description provides enough context to invoke the tool safely and correctly.

    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 schema already provides 100% coverage for parameters, so the baseline is 3. The description adds value by clarifying the body should use the guest's real name (not template codes), which is not in the schema. It also reinforces the confirm parameter's behavior, though the schema already sees it.

    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 clearly states 'Post a message to a guest thread', which is a specific verb and resource. It distinguishes itself from sibling read tools like list_thread_messages and get_message. The additional notes about authentication and confirm behavior further clarify the tool's unique role.

    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 description provides clear context on when to use the tool, including the requirement for OAuth, the need for confirm=true to actually send, and the warning about reaching the real guest in production. It does not explicitly name alternative tools, but the sibling list makes the distinction obvious. The 'only previews and sends nothing' note is a strong usage qualifier.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

OwnerRez-MCP MCP server

Copy to your README.md:

Score Badge

OwnerRez-MCP MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/palarkin/OwnerRez-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server