Skip to main content
Glama
xs-mahbub

WPCafe MCP Server

by xs-mahbub

WPCafe MCP Server

Connect any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, and others — to your WordPress site running the WPCafe restaurant plugin.

Once connected, your AI assistant can manage reservations, food orders, locations, QR codes, settings, analytics, and every other feature available in the WPCafe admin panel.


What you can do

Category

Actions

Reservations

List, get, create, update, delete, bulk delete, cancel, check time slots, check capacity

Food Orders

List, get, update status, delete (WooCommerce orders)

Products

List food menu items, get product details, list categories

Locations

List, get, create, update, delete, bulk delete branches

QR Codes

List, get, create, update, delete scan-to-order QR codes

Settings

Get all settings, get public settings, update settings

Dashboard

Overview stats, food order analytics, reservation analytics, top-selling products

Modules

List extensions, enable/disable modules, get integrations, get addon plugins

Pro — Seat Plans

List, get, create, update, delete visual floor layouts

Pro — Discounts

List, get, create, update, delete discount codes

Pro — Receipts

List receipt layouts, get order receipt

Pro — Timed Products

List, create time-availability rules for menu items


Related MCP server: wordpress-seo-mcp

Prerequisites

  • Node.js 18 or later

  • WPCafe plugin (free) installed and active on your WordPress site

  • WordPress user with Administrator or Shop Manager role

  • A WordPress Application Password (created in WP Admin → Users → Your Profile)


Setup

Step 1 — Create a WordPress Application Password

  1. Go to WordPress Admin → Users → Your Profile

  2. Scroll down to Application Passwords

  3. Enter a name (e.g. WPCafe MCP) and click Add New Application Password

  4. Copy the password shown — it looks like xxxx xxxx xxxx xxxx xxxx xxxx

  5. Keep it somewhere safe; WordPress will not show it again

Step 2 — Configure your AI client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "wpcafe": {
      "command": "npx",
      "args": ["-y", "github:themewinter/wpcafe-mcp"],
      "env": {
        "WPCAFE_SITE_URL": "https://yoursite.com",
        "WPCAFE_USERNAME": "your-admin-username",
        "WPCAFE_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
      }
    }
  }
}

Restart Claude Desktop. WPCafe tools will appear automatically.

Cursor / VS Code (MCP extension)

{
  "servers": {
    "wpcafe": {
      "command": "npx",
      "args": ["-y", "github:themewinter/wpcafe-mcp"],
      "env": {
        "WPCAFE_SITE_URL": "https://yoursite.com",
        "WPCAFE_USERNAME": "your-admin-username",
        "WPCAFE_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx"
      }
    }
  }
}

Any other MCP client

The server speaks standard MCP over stdio. Use npx -y github:themewinter/wpcafe-mcp as the command with the three env vars set.


Example prompts

Show me all pending reservations for today.

Create a reservation for John Smith (john@example.com) on 2026-07-01 at 7pm for 4 guests.

List all food orders with status "processing".

What were the top 10 selling items this month?

Update the primary color in WPCafe settings to #FF5722.

Create a QR code named "Table 12" for location ID 3.

Enable the Delivery module.

Show me the dashboard overview for the past week.

Optional: Enable full write access

By default the server works with Application Password authentication. A small subset of WPCafe operations (reservation creation, food-order listing) use WordPress's CSRF nonce system, which requires a one-time server-side snippet.

If you hit a message like "This operation requires a WordPress security nonce", add this to your site's functions.php (or any active plugin):

add_action( 'rest_api_init', function () {
    register_rest_route( 'wpcafe/v2', '/nonce', [
        'methods'             => 'GET',
        'callback'            => fn() => [
            'nonce'   => wp_create_nonce( 'wp_rest' ),
            'expires' => time() + 43200,
        ],
        'permission_callback' => 'is_user_logged_in',
    ] );
} );

Alternatively, upload wordpress-plugin/wpcafe-mcp-bridge.php (included in this repo) to your wp-content/plugins/ directory and activate it in WP Admin — same effect, no code editing required.


Security

How authentication works

  1. You create an Application Password in your WordPress profile — it is separate from your login password and can be revoked at any time.

  2. The MCP server sends it with every request as an Authorization: Basic header.

  3. WordPress verifies it and authenticates the request as that user.

  4. All WPCafe permission checks (capabilities, roles) still apply — the MCP server does not bypass them.

What the MCP server does NOT do

  • It does not store or cache credentials on disk.

  • It does not bypass WordPress capability checks.

  • It does not expose any endpoint that isn't already in the WPCafe REST API.

  • It does not run any code inside WordPress — it only calls the existing REST API.

HTTPS requirement

Always use HTTPS for WPCAFE_SITE_URL. Application Passwords are sent in every request header; without HTTPS anyone on the network can read them. The server warns (but does not block) if it detects an HTTP URL for a non-localhost host.

Revoking access

Go to WordPress Admin → Users → Your Profile → Application Passwords and delete the WPCafe MCP entry. The server immediately loses access.

Role capabilities

Role

List / Get

Create

Update

Delete

Administrator

All resources

All resources

All resources

All resources

Shop Manager

Reservations, Orders, Products

Reservations

Order status, Reservation status

Staff (wpcafe_manage_*)

Own + all reservations/orders

Status only


Troubleshooting

"HTTP 401 Unauthorized"

  • Check that WPCAFE_USERNAME and WPCAFE_APP_PASSWORD are correct.

  • Make sure Application Passwords are enabled (some security plugins disable them).

  • Verify the user exists and has the right role.

"HTTP 403 Forbidden" The authenticated user does not have the required capability. Use an administrator or shop manager account.

"This operation requires a WordPress security nonce" Add the functions.php snippet above, or install wordpress-plugin/wpcafe-mcp-bridge.php.

Pro tools return 404 The wpcafe-pro plugin is not installed or not active. Pro tools are registered but return 404 on free-only installations.


Development

git clone https://github.com/themewinter/wpcafe-mcp.git
cd wpcafe-mcp
npm install
npm run dev      # Run with tsx (no build step)
npm run build    # Compile TypeScript to dist/
npm start        # Run compiled output

To add new tools, create a register function in src/tools/ following the pattern of existing files, then call it in src/index.ts.


License

GPL-2.0-or-later — same license as the WPCafe WordPress plugin.

Available Tools

53 tools
bulk_delete_locationsA

Delete multiple restaurant locations at once.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesArray of location IDs to delete

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but fails to disclose important behavioral traits such as whether deletions are permanent, whether there are batch size limits, or if the operation is atomic. The minimal description 'delete' is insufficient.

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, clear sentence with no unnecessary words or redundancy, making it maximally concise.

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?

Given the tool's simplicity (1 parameter, no output schema), the description covers the basic purpose but lacks contextual details like batch size limits or return value information, making it adequate but not 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 100% and the description does not add any meaning beyond what the schema already provides for the 'ids' parameter, so a baseline 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 verb 'delete' and resource 'multiple restaurant locations', distinguishing it from the sibling tool 'delete_location' which handles single deletions.

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 use for bulk operations but does not provide explicit guidance on when to use this tool over 'delete_location', nor does it mention any prerequisites or limitations.

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

bulk_delete_reservationsA

Delete multiple reservations at once by providing an array of IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesArray of reservation IDs to delete

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description should disclose behavioral traits. Only states that it deletes reservations; no mention of side effects, permissions, reversibility, atomicity, or error handling for invalid IDs.

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?

Single sentence of 10 words, no redundancy, efficient communication of purpose and action.

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?

Given the simplicity of the tool (one required param, no output schema, no nested objects), description covers basic purpose. However, lacks behavioral details like return format or error handling, which would benefit an agent.

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 'ids'. The description adds no new meaning beyond the schema's description of 'Array of reservation IDs to delete'. 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?

Description uses specific verb 'Delete', resource 'reservations', and clarifies 'multiple... by providing an array of IDs'. It clearly distinguishes from sibling tools like 'delete_reservation' (singular) and 'cancel_reservation' (different action).

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?

Implies use for batch deletion vs single deletion, but does not explicitly state when to use bulk vs sequential single deletes, nor any prerequisites or exclusions.

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

cancel_reservationA

Cancel a reservation using invoice number and guest email (public-facing cancellation, no admin login required).

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address used when the reservation was made
notesNoReason for cancellation
invoiceYesReservation invoice number (e.g. WPC3F9A2B7C1D4)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It reveals that the action is cancellable without admin login and uses specific credentials. However, it does not describe side effects (e.g., confirmation emails, reversibility) or whether the cancellation is immediate.

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 front-loads the main action and includes key differentiators. No unnecessary words or 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?

Given the simple tool with no output schema and no annotations, the description adequately covers what the tool does and its public nature. It could be improved by mentioning the result of cancellation (e.g., reservation status) but is otherwise 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 description coverage is 100%; the schema already describes all three parameters. The description adds minimal extra meaning beyond stating that invoice and email are used for cancellation. Notes parameter is not elaborated further.

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 (cancel a reservation) and identifies the key inputs (invoice number and guest email). It distinguishes from sibling tools by noting it's public-facing and requires no admin login, making it unique among cancellation 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 tells when to use (guest cancellation) and implies the context (no admin login). However, it does not explicitly state when not to use or mention alternative tools like delete_reservation or bulk_delete_reservations for admin use.

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

create_discountB

[WPCafe Pro] Create a new discount code for food orders.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesDiscount code customers enter at checkout
typeYesDiscount type: percentage off or fixed amount off
amountYesDiscount value (e.g. 10 for 10% or $10)
max_usesNoMaximum number of times this code can be used (0 = unlimited)
descriptionNoInternal description of the discount
expiry_dateNoExpiry date (YYYY-MM-DD), leave empty for no expiry
location_idNoRestrict to a specific location
min_order_amountNoMinimum order total required to use this code

TDQS

B3/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Create a new discount code' but does not mention side effects, permissions, or any constraints like uniqueness of codes.

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?

The description is a single sentence, which is concise but lacking in substantive value beyond the name. It could be more informative without being verbose.

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?

Given the tool has 8 parameters (3 required) and no output schema, the description does not explain return behavior or success indicators. It is too brief for a complete understanding of the tool's usage.

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 parameters are already well-documented in the input schema. The description adds no additional parameter context, making the baseline score of 3 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 'Create a new discount code for food orders' uses a specific verb ('create') and resource ('discount code'), clearly distinguishing it from sibling tools like update_discount or delete_discount.

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, no context about prerequisites or suitability. It merely states the action without any usage direction.

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

create_locationB

Create a new restaurant location/branch. Requires a name and location coordinates (lat/lng object).

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesGPS coordinates and address
restaurant_nameYesLocation/branch name
restaurant_typeNoType of restaurant (e.g. 'cafe', 'restaurant')
restaurant_emailNoLocation contact email
restaurant_phoneNoLocation phone number
restaurant_scheduleNoOpening hours schedule object
reservation_capacityNoMaximum guest capacity for reservations

TDQS

B3.2/5.0
Behavior2/5

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

The description only says 'Create,' implying mutation, but lacks details on side effects, duplicate handling, permissions, or state changes. With no annotations, the description bears full burden and is insufficient.

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 13-word sentence that is information-dense and clear, with no redundant or unnecessary words.

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 description omits crucial information: return value (e.g., does it return the created location?), error conditions, and handling of optional fields like address or schedule. For a create tool with 7 parameters and no output schema, this is incomplete.

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%, so the baseline is 3. The description highlights required fields (name, lat/lng) but adds no additional meaning beyond what the schema provides.

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's purpose as creating a new restaurant location/branch, specifying the required inputs (name and lat/lng coordinates). This distinguishes it from sibling tools like create_discount or create_reservation.

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 guidance is provided on when to use this tool versus others (e.g., update_location), nor any prerequisites or context such as whether the location must not already exist.

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

create_qrcodeA

Create a new QR code for a table or location. The QR encodes a URL that customers scan to open the food ordering page.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDescriptive name for this QR code (e.g. 'Table 5', 'Counter 1')
table_idNoTable identifier (e.g. 'T5', 'BAR-2')
location_idNoLink to a specific restaurant location ID
redirect_urlNoCustom URL the QR code should point to (defaults to site food order page)

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description must carry burden. It states the mutation action and that it encodes a URL, but does not disclose side effects, permissions, or return value. Lacks depth for a mutation tool.

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 with no wasted words. Efficiently states purpose and key context.

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 create tool with 4 flat parameters and no output schema, the description covers the essential purpose and usage. Lacks mention of response format or error handling, but remains sufficient for typical 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?

Schema covers 100% of parameters with descriptions. Description adds valuable examples (e.g., 'Table 5', 'T5') and clarifies default behavior for redirect_url. Provides extra meaning beyond 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?

Description explicitly states the action 'Create', resource 'QR code', and its purpose 'for a table or location' with customers scanning to open food ordering page. Clearly distinguishes from sibling tools like delete, update, get, list.

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?

Description implies when to use (need a QR code for table/location) but does not explicitly state when not to use or compare with alternatives. Still, the context is clear enough for the main use case.

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

create_reservationC

Create a new table reservation. Requires guest name, email, date, start_time, end_time, and total_guest. The booking price is calculated server-side.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesReservation date (YYYY-MM-DD or site date format)
nameYesGuest full name
emailYesGuest email address
notesNoSpecial requests or notes
phoneNoGuest phone number
statusNoInitial status (defaults to site setting)
end_timeYesEnd time (e.g. '09:00 PM' matching site time format)
branch_idNoLocation/branch ID
start_timeYesStart time (e.g. '07:00 PM' matching site time format)
table_nameNoTable identifier or seat number
branch_nameNoLocation/branch name
total_guestYesNumber of guests
payment_methodNoPayment method: wc (WooCommerce) or local (pay at venue)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description holds full burden. It discloses that price is server-calculated, which is useful, but omits other behaviors like whether it sends notifications, requires specific permissions, or the structure of success/failure responses.

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?

Extremely concise at two sentences with no redundant information. Every word adds value.

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?

Given 13 parameters and no output schema, the description is incomplete. It does not explain optional parameters, return values, error scenarios, or time formatting. The description needs more context for an agent to use it 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%, so baseline is 3. The description adds minimal value by reiterating required fields and mentioning price calculation, but does not clarify optional parameters like notes, branch_id, or constraints like time format.

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 'Create a new table reservation' and lists required fields, making the purpose clear. However, it does not explicitly distinguish this from sibling creation tools like create_discount or create_location, though the tool name itself provides differentiation.

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 implies usage by listing required fields but offers no guidance on when to use this tool versus alternatives (e.g., update_reservation, bulk_create). No explicit when-not-to-use or contextual hints.

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

create_seat_planB

[WPCafe Pro] Create a new seat plan layout for a restaurant location.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSeat plan name (e.g. 'Main Floor', 'Patio')
canvas_dataNoFabric.js canvas JSON describing table positions and shapes
location_idYesLocation this plan belongs to

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; the description only states the action without disclosing behavioral traits such as side effects (e.g., whether existing plans are overwritten), authentication needs, or error conditions. The minimal description fails to compensate for missing 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?

The description is a single sentence that is brief and front-loaded. The bracketed '[WPCafe Pro]' may be unnecessary but does not significantly detract from conciseness. Every sentence earns its place in terms of clarity.

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?

Given the tool has 3 parameters including a nested object and no output schema, the description lacks details about return values, success indicators, or any constraints. It is insufficient for a complete understanding of the tool's 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?

Schema description coverage is 100% with detailed param descriptions (e.g., 'Fabric.js canvas JSON describing table positions and shapes'). The tool description adds no additional meaning beyond the schema, so 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 verb 'Create' and the resource 'seat plan layout', with context 'for a restaurant location', distinguishing it from sibling tools like get_seat_plan, list_seat_plans, update_seat_plan, and delete_seat_plan.

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?

No explicit guidance on when to use this tool vs alternatives (e.g., update_seat_plan). Usage is implied by the name and schema for a create operation, but no exclusions or prerequisites are mentioned.

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

create_timed_productB

[WPCafe Pro] Create a time-availability rule for a product — restrict when it appears on the menu.

ParametersJSON Schema
NameRequiredDescriptionDefault
scheduleYesSchedule object defining available days and time windows. Example: { monday: { enabled: true, start: '06:00', end: '11:00' } }
product_idYesWooCommerce product ID to apply the rule to

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It only states it creates a rule, but does not mention side effects (e.g., overwriting existing rules), permissions required, or mutation behavior beyond creation.

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 extraneous words. It conveys the essential information efficiently within 10 words.

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?

Given the tool's simplicity and the absence of an output schema, the description is moderately complete. However, it does not mention return values or behavior when a rule already exists for the same product, which would be helpful context.

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 adequate descriptions for both parameters. The tool description adds no additional parameter information, so baseline 3 is appropriate since the schema already provides sufficient 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 ('Create a time-availability rule') and the resource ('for a product'), with a concise purpose ('restrict when it appears on the menu'). It is specific and distinct from sibling tools like list_timed_products.

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 explicit guidance on when to use this tool versus alternatives (e.g., create_discount, create_location) is provided. The description implies usage for time-based product restrictions but lacks context on prerequisites, when not to use, or comparisons with similar tools.

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

delete_discountB

[WPCafe Pro] Delete a discount code by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDiscount ID to delete

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states 'Delete' without indicating that this operation is destructive, irreversible, or requires specific permissions. The agent is left unaware of the side effects of invoking this tool.

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 extremely concise—one sentence with no wasted words. It front-loads the critical information (verb and resource). Despite its brevity, it is structurally clear.

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?

Given the tool's destructive nature and lack of annotations, the description is incomplete. It does not mention irreversible effects, authentication requirements, or what happens after deletion. For a simple tool, it minimally covers the what but not the implications.

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 has 100% description coverage for the single parameter 'id', which is described as 'Discount ID to delete'. The description adds no additional meaning beyond what the schema already provides, so a 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 action 'Delete' and the resource 'discount code by ID'. It also includes the context 'WPCafe Pro'. This effectively distinguishes it from sibling tools like bulk_delete_locations or delete_location, as it specifically targets discount codes.

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 (e.g., bulk delete, update discount). There is no mention of prerequisites, such as needing the discount ID, or warnings about unintended consequences. The context of use is implied but not explicitly stated.

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

delete_food_orderA

Move a food order to trash. The order is not permanently deleted — it can be restored from the WooCommerce orders screen.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWooCommerce order ID to trash

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It explicitly states that the order is moved to trash, not permanently deleted, and notes it can be restored. This is a key behavioral trait that goes beyond a simple 'delete' label. However, it does not cover potential side effects (e.g., cascading effects on related data) or authentication requirements.

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-loading the main action and then adding a clarifying detail. Every sentence provides value, with no redundancy or 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?

The tool is simple (one integer parameter, soft delete). The description adequately covers the core behavior and the non-permanent nature. It does not mention the return value, but given the lack of an output schema, this is a minor gap. Overall, it is sufficiently complete for an experienced agent.

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%, so the parameter 'id' is fully described in the schema as 'WooCommerce order ID to trash.' The description does not add any new semantic information beyond what the schema already provides. The baseline of 3 is appropriate since the schema is sufficient.

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: 'Move a food order to trash.' It specifies the verb (Move) and the resource (food order), and distinguishes this from a permanent delete by explaining it can be restored. This directly differentiates it from a hypothetical permanent delete tool, making the purpose 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?

The description provides no guidance on when to use this tool versus alternatives. While it explains the tool's behavior (soft delete), it does not mention when not to use it or compare it to other delete tools (e.g., delete_location, delete_discount). The agent must infer usage context without explicit direction.

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

delete_locationB

Delete a single restaurant location by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLocation ID to delete

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and the description lacks details on side effects, reversibility, or required permissions. The destructive nature is implied but not elaborated.

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?

Very concise single sentence with no waste, but could better structure behavioral context.

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?

Lacks details on output or side effects. No output schema and no behavioral transparency, making it incomplete for complex decision-making.

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 the single 'id' parameter described. The description adds 'by ID' but does not provide new meaning beyond 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?

The description clearly states the action (delete), the resource (restaurant location), and the method (by ID). It differentiates from the sibling 'bulk_delete_locations' implicitly.

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 guidance on when to use this tool versus alternatives like 'bulk_delete_locations'. No prerequisites or exclusions provided.

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

delete_qrcodeA

Delete a QR code by ID. Scanning the deleted QR code will no longer open the ordering page.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQR code ID to delete

TDQS

A3.5/5.0
Behavior3/5

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

Discloses the effect that scanning the deleted QR code will no longer open the ordering page. However, with no annotations, the description carries full burden; it lacks details on irreversibility, permission requirements, or side effects on related entities.

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 action and consequence. Every word is informative. No redundancy.

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 tool with one parameter and no output schema, the description covers the core functionality and outcome. However, it lacks usage guidance and behavioral details that would make it self-contained.

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?

Single parameter 'id' is well-documented in the schema ("QR code ID to delete"). Description adds minimal extra meaning ("by ID"). Schema coverage is 100%, so baseline 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?

Clear verb "Delete" and resource "QR code by ID". Explicitly states the consequence (scanning no longer opens ordering page). Distinguishes from sibling tools like create_qrcode, update_qrcode, get_qrcode.

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 guidance on when to use this tool versus alternative deletion tools (e.g., bulk_delete_locations). No mention of prerequisites or conditions for safe deletion.

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

delete_reservationB

Permanently delete a reservation by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesReservation ID to delete

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states 'permanently', implying irreversibility, but lacks details on side effects, authorization needs, or error scenarios.

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 7-word sentence that immediately conveys the action and scope. It is perfectly concise with no wasted words.

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 deletion tool with one parameter and no output schema, the description is adequate but minimal. It could mention irreversibility more explicitly or outline expected response 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?

Schema coverage is 100% and the parameter 'id' is adequately described in the schema. The description adds no extra meaning beyond what the schema provides, meeting the baseline.

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 'delete' and resource 'reservation', and adds 'permanently' to distinguish from non-permanent cancellations. It clearly states the action and differentiates from siblings like 'cancel_reservation'.

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 such as 'cancel_reservation' or 'bulk_delete_reservations'. No prerequisites or conditions are mentioned.

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

delete_seat_planB

[WPCafe Pro] Delete a seat plan by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSeat plan ID to delete

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description solely conveys the destructive nature of the delete. It omits behavioral details such as whether deletion cascades, affects related data, or requires particular permissions.

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?

The description is a single, front-loaded sentence with no wasted words. However, its brevity sacrifices important details, making it concise but somewhat incomplete.

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 delete tool with one parameter and no output schema, the description passes the minimum viability threshold. However, it lacks behavioral context that would help an agent understand side effects, making it adequate but not thorough.

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%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter description ('Seat plan ID to delete'), resulting in no extra semantic value.

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 ('Delete'), the resource ('seat plan'), and the identifying parameter ('by ID'). It effectively distinguishes from sibling tools that delete other resources (e.g., delete_location, delete_discount).

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 guidance is provided on when to use this tool, prerequisites (e.g., seat plan must exist), or alternatives. The description simply states the action without contextual usage advice.

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

get_addon_pluginsA

Get the list of available WPCafe addon plugins (Elementor Addons, Bricks Builder, Multivendor) and whether they are installed and active.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

The description implies a read-only operation (get) but does not explicitly state no side effects. With no annotations, the description provides basic behavioral info (returns list with status) but lacks details like caching, data freshness, or behavior when no plugins are available.

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, efficient sentence. It front-loads the verb and resource, and every word adds value. No unnecessary elaboration.

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 no parameters and no output schema, the description is quite complete: it names the specific plugins and what status is reported. It could mention potential errors, but that's minor. It effectively communicates the tool's functionality.

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 parameters (100% schema coverage). The description adds meaning by explaining what the tool returns (list of plugins with install/active status), which is the primary purpose. Baseline 4 is appropriate as there are no parameters to document.

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 (get list) and the specific resource (WPCafe addon plugins like Elementor Addons, Bricks Builder, Multivendor) and what information is returned (whether installed and active). It distinguishes from sibling tools like list_extensions which likely cover different categories.

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 guidance on when to use this tool versus alternatives such as list_extensions or other get/list tools. The description does not mention prerequisites or conditions for using this tool.

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

get_dashboard_food_ordersB

Get a paginated list of food orders from the dashboard analytics view, optionally filtered by status and branch.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagedNoPage number
branchNoBranch ID or 'all'
statusNoFilter by WC order status
per_pageNoOrders per page (default 10)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It mentions pagination and optional filters but does not disclose ordering, default behavior when no parameters are provided, or whether results are sorted. The behavior of the tool is partially transparent.

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 that is concise and front-loaded. Every word adds value, with no redundancy or unnecessary details.

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?

Given the tool is a paginated list, the description covers the core functionality but omits the return format (e.g., response structure, pagination metadata). With no output schema, more detail would be beneficial for completeness.

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 has 100% coverage with descriptions for all four parameters. The description adds 'optionally filtered by status and branch' but does not provide any additional semantic value beyond what the schema already offers. 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 clearly states it retrieves a paginated list of food orders from the dashboard analytics view. The verb 'get' and resource 'food orders' are explicit. However, it does not differentiate from the sibling tool 'list_food_orders', which may serve a similar purpose without the dashboard context.

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 guidance is provided on when to use this tool versus alternatives like 'list_food_orders' or 'get_food_order'. The description only hints at the dashboard context but does not specify conditions or exclusions.

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

get_dashboard_overviewB

Get a high-level overview of restaurant performance: total revenue, orders, reservations, and new customers for a date range.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchNoFilter by branch ID or 'all' (default: all)
end_dateNoEnd date (YYYY-MM-DD, defaults to tomorrow)
start_dateNoStart date (YYYY-MM-DD, defaults to today)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It indicates a read operation but does not disclose behavioral traits like data aggregation method, freshness, or performance considerations.

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?

The description is a single, efficient sentence with no wasted words. It could benefit from slight restructuring for clarity, but it remains concise.

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?

No output schema is provided, and the description lists returned metrics but does not specify the output structure (e.g., single object vs array) or whether all defaults apply. It covers essential usage but lacks full completeness.

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%, so the baseline is 3. The description mentions 'date range' and 'branch filter' which align with schema parameters, but does not add additional meaning beyond what the schema already provides.

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 provides a 'high-level overview' with specific metrics (total revenue, orders, reservations, new customers) for a date range, distinguishing it from sibling tools like get_dashboard_food_orders and get_dashboard_reservations.

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 for date-range and optional branch filtering but does not provide explicit when-to-use or when-not-to-use guidance compared to sibling dashboard tools.

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

get_dashboard_reservationsB

Get a paginated list of reservations from the dashboard analytics view, optionally filtered by status and branch.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagedNoPage number
branchNoBranch ID or 'all'
statusNoFilter by reservation status
per_pageNoReservations per page (default 10)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description must carry the burden of behavioral traits. It mentions pagination and optional filters but does not disclose whether the tool is read-only, any destructive side effects, authentication requirements, or rate limits. For a tool pulling from a 'dashboard analytics view', the aggregate nature is implied but not explicit.

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?

The description is a single, concise sentence that covers the core purpose without extraneous words. It could be slightly more structured but is efficient.

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 tool with no output schema, the description provides the basic functionality and filters but lacks details like default page size, behavior of 'branch' parameter, and what distinguishes 'dashboard analytics view' from other reservation lists. It is minimally complete but not comprehensive.

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 description restates the filtering by status and branch but adds no new meaning beyond the schema. The pagination parameters (paged, per_page) are not elaborated upon, making the description merely reiterative.

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 identifies the verb 'Get', the resource 'paginated list of reservations', and the specific source 'dashboard analytics view', distinguishing it from sibling tools like 'list_reservations' or 'get_reservation'.

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 usage guidelines are provided. The description does not explain when to use this tool over alternatives like 'list_reservations', nor does it specify any prerequisites or contexts where 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.

get_discountB

[WPCafe Pro] Get details of a single discount code including type, amount, usage limits, and expiry.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDiscount ID

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the tool returns 'type, amount, usage limits, and expiry' but does not explicitly state it is a read-only operation, nor does it mention any side effects, permissions, or rate limits. Adequate for a simple get operation but lacks depth.

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?

The description is a single sentence, which is concise, but it includes the unnecessary prefix '[WPCafe Pro]' which adds noise. The structure is acceptable but could be cleaner.

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 parameter-less output retrieval, the description gives a reasonable overview of what is returned. However, missing output schema means the agent cannot infer the exact structure, and no mention of error handling or edge cases. Adequate but not comprehensive.

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% for the single 'id' parameter. The description adds value by explaining what details are retrieved (type, amount, usage limits, expiry), providing context beyond the schema's simple 'Discount ID' label.

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 retrieves details of a single discount code, differentiating it from siblings like list_discounts (multiple) or create/update/delete (mutations). However, it does not explicitly contrast with sibling tools or specify when to use this over others.

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 guidance on when to use this tool vs alternatives. The description does not mention any prerequisites, exclusions, or contexts where this tool is preferred over, e.g., list_discounts or create_discount.

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

get_food_orderA

Get full details of a single food order including line items, billing/shipping address, totals, and customer notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWooCommerce order ID

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the operation is a read (get) and lists key return fields, making it safe and predictable. It could add that no side effects occur, but the current description is adequate for a simple retrieval tool.

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?

Single sentence with no redundancy. Key information is front-loaded: verb (get), target (food order), and what's included. Every word adds value.

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 tool's simplicity (one parameter, no output schema, no nested objects), the description fully covers what an agent needs to know: input requirement (order ID) and expected output (detailed order data). It is complete for its complexity level.

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', described as 'WooCommerce order ID'. The tool description adds 'single food order' context but does not enhance parameter meaning 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?

Description clearly states the tool retrieves full details of a single food order, including specific components (line items, addresses, totals, notes). It distinguishes from sibling tools like 'list_food_orders' which lists multiple orders, and 'get_dashboard_food_orders' which likely returns dashboard-specific data.

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 purpose strongly implies when to use (when you need full details of one order) vs other retrieval tools (e.g., list_food_orders for all orders). However, it does not explicitly state when not to use or mention alternatives, so it is clear but not exhaustive.

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

get_integrationsA

Get the status and configuration of WPCafe third-party integrations (WooCommerce, FluentCRM, Mailmint, WhatsApp, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full behavioral burden. It states the tool 'gets' information but omits details like read-only status, permission requirements, or response structure.

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?

Single sentence with no redundancy, front-loading the action and 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 read-only tool with no parameters and no output schema, the description adequately covers purpose and scope; slightly missing explicit mention of return type or format.

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?

No parameters exist (0 params, 100% schema coverage), so description need not add param details; baseline for 0 params is 4.

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 'Get' and the resource 'status and configuration of WPCafe third-party integrations' with specific examples (WooCommerce, FluentCRM, etc.), distinguishing it from sibling tools like list_extensions or get_addon_plugins.

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?

No explicit guidance on when to use this tool versus alternatives like list_extensions; context is implied by the name and description but not formalized.

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

get_locationA

Get details of a single restaurant location including address, coordinates, schedule, and capacity.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLocation ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It indicates a read operation ('Get details') but does not explicitly confirm no side effects or disclose permissions, rate limits, or error scenarios. Adequate but not comprehensive.

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?

Single sentence that is front-loaded and contains no unnecessary words. Every part of the description adds value.

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 tool's simplicity (one parameter, no output schema), the description is adequate. It lists the types of details returned. However, without an output schema, a bit more specificity on the response structure could be helpful.

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 parameter 'id' described as 'Location ID'. The description adds no additional meaning beyond what the schema already provides. Baseline 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 verb 'Get', the resource 'restaurant location', and specifies the details included (address, coordinates, schedule, capacity). This distinguishes it from sibling tools like list_locations (which lists multiple) and create_location (which creates).

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 (retrieving a single location) but lacks explicit guidance on when not to use or alternatives. For example, it does not mention that list_locations should be used for multiple locations. Context is clear but no exclusions or alternatives are stated.

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

get_productA

Get full details of a single food menu product including price, description, categories, labels, images, and WooCommerce meta.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWooCommerce product ID

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It correctly indicates a read operation but does not disclose auth requirements, rate limits, error conditions, or any side effects. The listed returned fields provide moderate transparency.

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 wasted words. Every part adds value: verb, resource, and included fields.

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 tool with one parameter, the description covers the resource, available fields, and absence of filters. Lacks only mention of error handling or response format, which is acceptable given no output 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%; the single parameter 'id' is already well-described as 'WooCommerce product ID'. The description adds no further semantic meaning beyond 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?

The description clearly states the verb 'Get' and specific resource 'full details of a single food menu product', listing included fields (price, description, categories, etc.). This distinguishes it from siblings like list_products which returns multiple items.

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 needing detailed product info, but lacks explicit guidance on when to choose this over siblings like list_products or get_food_order. No alternatives or exclusions are mentioned.

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

get_public_settingsA

Get public (non-sensitive) WPCafe settings. Safe to call without admin credentials. Returns reservation form config, colors, schedule, currency, and UI settings.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Despite no annotations, the description discloses that the tool is non-sensitive, requires no admin credentials, and returns specific data categories. For a read-only tool with no side effects, this provides adequate behavioral 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 sentences, each conveying essential information without redundancy. The purpose is front-loaded, and every word adds value.

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 public getter with no parameters and no output schema, the description sufficiently lists the return fields, making it complete for an agent to understand what data to expect.

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?

There are zero parameters, so the baseline is 4 as per rubric. The description adds no parameter info since none exist, which 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 it retrieves public non-sensitive settings, listing specific categories (reservation form config, colors, schedule, currency, UI settings). This distinguishes it from the sibling 'get_settings' which likely returns all settings including sensitive ones.

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?

Explicitly says 'Safe to call without admin credentials', providing clear guidance on when to use this tool. It implies that 'get_settings' may require admin credentials, but does not explicitly name alternatives or state when not to use.

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

get_qrcodeA

Get details of a single QR code including the image URL, linked table/location, and scan statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQR code ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It describes the tool as 'Get details' implying read-only, but does not explicitly state it is a safe, idempotent operation. It lists what is included in the response but does not mention error handling, authentication, 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?

The description is a single, well-structured sentence that front-loads the main action and lists key output components. It is concise with no extraneous 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 simple get tool with one parameter and no output schema, the description is reasonably complete. It explains the purpose and output fields. However, it could briefly mention what happens if the QR code does not exist, which would improve completeness.

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 has 100% description coverage for the single parameter 'id' with a clear schema description. The tool description does not add additional semantics beyond implying the ID is required, 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.

Purpose5/5

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

The description clearly states the tool retrieves details of a single QR code and lists the included fields (image URL, linked table/location, scan statistics). It distinguishes from sibling tools like list_qrcodes, create_qrcode, update_qrcode, and delete_qrcode by specifying it returns details of one record.

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 does not provide explicit guidance on when to use this tool versus alternatives. It implies usage for fetching details by ID, but lacks context on prerequisites, when not to use it, or suggestions for other tools in specific scenarios.

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

get_receiptA

[WPCafe Pro] Get a generated receipt/bill for a specific order. Returns the receipt data or PDF download URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesWooCommerce order ID to generate receipt for

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It discloses that the tool returns receipt data or a PDF download URL, which provides some transparency. However, it does not mention side effects, authentication needs, or rate limits, leaving gaps.

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 with no wasted words. It front-loads the purpose and is direct.

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?

No output schema exists, so the description should explain return values. It says 'Returns the receipt data or PDF download URL', but lacks specifics on the structure of the receipt data. For a simple tool this is acceptable but 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 100% for the single parameter order_id, which is already described in the schema. The description adds no additional meaning beyond what the schema provides, so 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?

Description clearly states the verb 'get', resource 'receipt', and specifies it's for a specific order. It distinguishes from sibling tools like get_food_order, get_product, etc., making the purpose 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 the tool should be used when a receipt is needed for an order, but provides no explicit guidance on when to use vs. alternatives, or any prerequisites. Usage 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.

get_reservationA

Get full details of a single reservation by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesReservation ID

TDQS

A3.8/5.0
Behavior3/5

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

The description does not disclose any behavioral traits beyond being a read operation. With no annotations, a score of 3 is appropriate as it is not misleading but lacks transparency.

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 with no wasted words, front-loaded with the action and 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 get tool with one parameter, the description is sufficient, though it could mention that it returns comprehensive details (implied by 'full').

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 description does not add meaning beyond the schema's definition of the 'id' parameter.

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 'Get' and the resource 'full details of a single reservation', distinguishing it from sibling tools like list_reservations which retrieve multiple reservations.

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?

No explicit guidance on when to use this tool versus alternatives (e.g., list_reservations for multiple), but the context implies use for single reservation retrieval.

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

get_reservation_capacityB

Check how many seats are available, booked, and total for a specific date/time slot.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateYesDate to check (YYYY-MM-DD)
end_timeYesSlot end time
branch_idNoLocation ID (omit for global capacity)
start_timeYesSlot start time

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It implies a read-only check but does not explicitly state safety, auth needs, rate limits, or side effects. Acceptable but not comprehensive.

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?

Single, well-structured sentence that conveys the essential purpose without filler. Every word 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 capacity-check tool with no output schema, the description adequately explains return values (available, booked, total). It lacks error scenarios or edge cases but is sufficient for typical use.

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 baseline is 3. The description adds context about what the parameters are for but does not provide additional formatting or constraint details 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?

Description clearly states the tool checks seat availability for a date/time slot, specifying available, booked, and total counts. It is specific and distinguishes from sibling tools like get_reservation and get_reservation_time_slots, but could explicitly differentiate further.

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 guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or relationships with sibling tools like get_reservation_time_slots.

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

get_reservation_time_slotsA

Get available reservation time slots for a date range. Used to show a calendar of open and blocked slots.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYesEnd of date range (YYYY-MM-DD)
start_dateYesStart of date range (YYYY-MM-DD)
location_idNoLocation ID to filter slots for a specific branch

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. However, it only mentions retrieving slots and does not disclose any side effects, permissions needed, rate limits, or behavior when no slots are available. For a read operation, basic transparency is missing.

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?

The description is concise with two efficient sentences that front-load the core action. It could be slightly improved by adding a brief note on typical usage, but overall it is well-structured and avoids unnecessary words.

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?

Given three parameters, no output schema, and no annotations, the description is too brief. It does not explain what 'available' means, how blocked slots are determined, the response format, or pagination behavior. The agent lacks sufficient context to reliably use the tool.

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 has 100% description coverage, with clear descriptions for start_date, end_date, and location_id. The tool description adds no new semantic information beyond restating 'date range', so it meets the baseline but does not improve parameter understanding.

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 'Get', the resource 'available reservation time slots', and the scope 'for a date range', and explicitly mentions its use case: showing a calendar of open and blocked slots. This distinguishes it from sibling tools like get_reservation or get_reservation_capacity.

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: to show a calendar of open and blocked slots. It does not explicitly state when not to use it or list alternatives, but the purpose is clear enough for an agent to decide in context.

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

get_seat_planA

[WPCafe Pro] Get details of a specific seat plan including table positions, capacities, and shape data.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSeat plan ID

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It correctly indicates a read-only operation ('Get'), but does not explicitly state idempotency, lack of side effects, or any potential costs. The explanation of returned data adds some transparency.

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. It front-loads the app context ('[WPCafe Pro]') and immediately states the purpose and key deliverables. No extraneous information, every word 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 simple get tool with one required parameter and no output schema, the description adequately covers input (id) and output (table positions, capacities, shape data). It lacks a mention of the return format (e.g., a JSON object), but the listed fields give sufficient context for an agent to understand the tool's result.

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 only parameter 'id' has its description in the schema ('Seat plan ID'), achieving 100% schema coverage. The tool description adds no additional semantic value beyond the schema (e.g., mentioning that the ID must refer to an existing plan). The baseline 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 action (Get), the resource (seat plan), and the scope of data returned (table positions, capacities, shape data). It effectively distinguishes from sibling tools like 'list_seat_plans' (which returns all plans) or 'update_seat_plan'.

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 needing detailed data for one specific plan, but it provides no explicit guidance on when to use this tool versus alternatives like 'get_reservation_capacity' or prerequisites. Contextual signals show many sibling tools, yet no exclusions or comparisons are given.

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

get_settingsA

Get all WPCafe plugin settings. Requires administrator or shop manager role. Sensitive credentials (WhatsApp token, webhook URLs) are only returned for administrators with manage_options capability.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses role-based return filtering for sensitive fields, which is critical behavioral context. No side effects are mentioned, but for a read-only tool, this is sufficient.

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 long, front-loaded with the purpose, and provides essential role information without any redundant or irrelevant 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?

Given no output schema, the description explains the output as 'all WPCafe plugin settings' and clarifies role-dependent visibility. It does not cover error conditions or output structure, but for a simple get-all tool, this is largely adequate.

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

Parameters5/5

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

The input schema has zero parameters, so the description need not explain parameters. It adds value by describing the return data scope and role-based filtering, which is more informative than the empty schema alone.

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's function: 'Get all WPCafe plugin settings.' It specifies the resource (WPCafe plugin settings) and the action (get), distinguishing it from siblings like get_public_settings or get_integrations.

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 explicitly requires 'administrator or shop manager role' and notes that sensitive credentials require additional capability. This guides the agent on appropriate use, though it does not directly compare to alternatives.

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

get_top_selling_productsB

Get the top selling food menu items for a given time period and branch. Useful for menu optimization and promotions.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchNoBranch ID or 'all'
periodNoTime period to analyze (default: month)
per_pageNoNumber of top products to return (default 10)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It states it returns top selling items but does not disclose how 'top selling' is defined (e.g., by quantity or revenue), whether it aggregates data, or any other behavioral traits. This lack of detail reduces transparency.

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 followed by a purpose statement, both concise and front-loaded with the key action. No filler or redundant phrases.

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?

Given three parameters, no output schema, and no annotations, the description is minimal. It lacks details on response structure, pagination, sorting, and the exact definition of 'top selling.' The agent may not have enough to use the tool confidently without further inference.

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?

All three parameters (branch, period, per_page) are fully described in the input schema with defaults and constraints. The description adds no additional semantic information beyond what the schema already provides. With 100% schema coverage, the baseline is 3.

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 retrieves top selling food menu items by time period and branch, with a stated purpose of menu optimization and promotions. It distinguishes itself from sibling tools like list_products and get_product, though it does not explicitly contrast with them.

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 mentions it is 'useful for menu optimization and promotions,' providing some guidance on when to use it. However, it does not specify when not to use it or explicitly compare to alternative tools such as get_product for individual product details.

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

list_discountsA

[WPCafe Pro] List discount codes configured for food ordering.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagedNoPage number
per_pageNoDiscounts per page

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It only states the tool lists discounts but omits behavioral details such as pagination, ordering, or that it returns a list. For a list tool, mentioning pagination is important but absent.

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, concise sentence that is front-loaded with the tool's purpose. No redundant or unnecessary information.

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 list tool with pagination, the description is adequate but lacks output details (e.g., what fields are returned). Given no output schema and no annotations, it is minimally 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 100% with descriptions for both parameters. The description adds no parameter information beyond the schema, so a 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 verb 'List', the resource 'discount codes', and the context 'configured for food ordering'. It distinguishes from sibling tools like 'get_discount', 'create_discount', etc., which perform different actions.

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 does not explicitly state when to use this tool versus alternatives like 'get_discount'. It implies listing multiple discounts but lacks guidance on context or filtering.

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

list_extensionsA

List all WPCafe modules/extensions with their current on/off status. Includes both free modules (Reservation, Food Ordering, QR Code, Tipping, Mini Cart) and Pro modules (Delivery, Pickup, Discounts, Dine-In, Seat Plan, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It clearly implies a read-only operation (listing) and specifies what is listed, but does not disclose additional behavioral traits such as authentication requirements, rate limits, or whether the data is real-time.

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 main action, and no unnecessary words. Every sentence contributes meaning.

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?

Given no output schema, the description should explain the return format. It mentions 'current on/off status' and lists examples, but does not specify the exact structure (e.g., list of objects with name and status). This is a minor gap for a simple tool.

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 parameters, so schema coverage is 100%. The description adds value by clarifying what the listing includes (free and Pro modules with on/off status), which goes beyond the empty 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?

The description explicitly states 'List all WPCafe modules/extensions with their current on/off status,' using a specific verb and resource. It lists examples of free and Pro modules, clearly distinguishing from sibling tools like toggle_extension (which changes status) and get_addon_plugins (which lists addon plugins).

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 to view the status of all extensions, but it does not explicitly state when to use this tool vs alternatives like toggle_extension or get_addon_plugins. No when-not guidance is provided.

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

list_food_ordersB

List WooCommerce food orders managed by WPCafe. Returns order summaries including customer, items count, total, and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagedNoPage number (default 1)
searchNoSearch by customer name, email, or order number
statusNoFilter by WC order status (e.g. 'processing', 'completed', 'on-hold')
date_toNoFilter orders created on or before this date (YYYY-MM-DD)
locationNoFilter by restaurant location ID
per_pageNoOrders per page (default 10, max 100)
date_fromNoFilter orders created on or after this date (YYYY-MM-DD)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions it returns summaries, but does not describe pagination behavior, default sorting, data recency, or any side effects. For a read operation, it should state that no data is modified, but that is only implied.

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?

The description is a single concise sentence that efficiently communicates the tool's purpose and return value. It is front-loaded with the action and resource. However, it could be slightly more structured by separating the purpose and return details.

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 list tool with 7 parameters and no output schema, the description adequately states the return includes customer, items count, total, and status. However, it does not mention pagination or the effect of parameters like 'per_page' on the output. There is room to add more context.

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 covers all 7 parameters with clear descriptions, achieving 100% coverage. The description does not add extra meaning beyond the schema; it only lists what the return includes. Baseline 3 is appropriate as the schema already documents parameters well.

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 'List' and the resource 'WooCommerce food orders managed by WPCafe'. It also specifies the return content: order summaries including customer, items count, total, and status. This differentiates it from sibling tools like 'get_food_order' (single order) and 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 does not provide explicit guidance on when to use this tool versus alternatives. It does not mention when not to use it or suggest other tools for different filtering needs. While the schema implies filtering via parameters, no contextual usage advice is given.

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

list_locationsC

List all restaurant locations/branches configured in WPCafe.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagedNoPage number
searchNoSearch by location name or address
per_pageNoLocations per page (default 20)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It only says 'List all locations', omitting details like whether it is read-only, pagination behavior, or any side effects. This is insufficient for an agent to understand implications.

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?

The description is a single clear sentence, concise and to the point. No wasted words, but it could be slightly expanded without losing conciseness.

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?

No output schema is provided, and the description does not explain what the list returns (e.g., location objects with properties), default ordering, or pagination count. The schema indicates pagination but the description misses this context.

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%, so baseline 3. The description adds no additional meaning to parameters like 'paged', 'search', or 'per_page' beyond what the schema already 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 clearly states it lists restaurant locations, which is the primary purpose. However, it does not explicitly differentiate from sibling list tools (e.g., list_reservations, list_products), though the resource is distinct.

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 guidance on when to use this tool vs alternatives, no prerequisites, and no mention of when not to use it. The description is purely declarative.

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

list_product_categoriesB

List WooCommerce product categories used in the WPCafe food menu.

ParametersJSON Schema
NameRequiredDescriptionDefault
parentNoFilter by parent category ID (0 for top-level only)
searchNoSearch category names
per_pageNoCategories per page

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description must carry the full burden of behavior disclosure. It does not mention that this is a read-only operation, nor does it describe pagination behavior, sorting, or any side effects. This is a significant gap for a list tool.

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, efficient sentence with no extraneous information. It is well-structured and front-loaded with the core purpose.

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?

The description is minimal but covers the basic function. For a list tool with three parameters and no output schema, additional context about return format, pagination limits, or typical use would improve completeness, but the current description is minimally 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 coverage is 100% with descriptions for all three parameters (parent, search, per_page). The tool description adds no additional parameter semantics beyond what the schema already provides, so a 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 action ('List'), the resource ('WooCommerce product categories'), and the context ('used in the WPCafe food menu'). It effectively distinguishes this list tool from siblings that list other entities.

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 guidance is provided on when to use this tool versus alternatives (e.g., list_products or list_discounts). The absence of contextual usage instructions leaves the agent without decision support.

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

list_productsA

List WooCommerce food menu products managed by WPCafe. Supports filtering by category, location, search, and pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderNoSort direction
pagedNoPage number (default 1)
searchNoSearch products by name or SKU
orderbyNoSort field
categoryNoFilter by WooCommerce product category slug or ID
locationNoFilter by restaurant location taxonomy ID
per_pageNoProducts per page (default 10)

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits. It only mentions listing and filtering but does not indicate whether the operation is read-only, rate limits, or what data is returned. The absence of transparency is a gap.

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 no wasted words. It front-loads the main purpose and lists key features efficiently.

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?

No output schema is provided, so the description should explain return values but does not. It covers filtering but not sorting/ordering. For a list tool with parameters like orderby and order, this information is missing. Adequate but incomplete.

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%, so the baseline is 3. The description adds minimal value by reiterating filtering capabilities (category, location, search) but does not explain sorting or ordering parameters beyond 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 it lists WooCommerce food menu products managed by WPCafe, with specific filtering options like category, location, search, and pagination. This distinguishes it from siblings like 'list_timed_products' and CRUD 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 implies usage for listing products with filters but does not explicitly state when to use this over alternatives like 'get_product' for a single product or other list tools. No exclusions or when-not-to-use guidance is provided.

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

list_qrcodesB

List all QR codes created in WPCafe. Each QR code links to a specific table or location for scan-to-order functionality.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagedNoPage number
searchNoSearch by QR code name or table identifier
per_pageNoItems per page

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It only states 'list all' without mentioning if it's read-only, response format, or any side effects. Minimal transparency.

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 concise sentences that provide essential information without unnecessary words. Front-loaded with action.

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?

No output schema, and description does not explain return values, pagination behavior, or how results are structured. Incomplete for a listing tool with 3 optional parameters.

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%, so baseline is 3. Description adds no extra meaning to parameters; it doesn't explain search or pagination beyond 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?

Description clearly states the tool lists all QR codes in WPCafe and explains their purpose (linking to tables/locations for scan-to-order). This is distinct from sibling tools like create_qrcode, delete_qrcode, etc.

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 guidance on when to use this tool versus alternatives (e.g., get_qrcode for a single QR code). Lacks context for filtering or pagination usage.

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

list_receipt_layoutsC

[WPCafe Pro] List custom receipt/bill layouts created with the Receipt Layout Builder.

ParametersJSON Schema
NameRequiredDescriptionDefault
per_pageNoLayouts per page

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose any behavioral traits beyond the basic list operation. With no annotations provided, the description fails to mention that the tool is read-only, whether pagination is required, or any side effects. This leaves the agent uninformed about safe usage.

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?

The description is concise, consisting of a single sentence that efficiently conveys the core purpose. The structure is front-loaded with the plugin tag, though that might be mildly distracting for an agent. Overall, it earns its space.

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 list tool with one optional parameter and no output schema, the description is minimally adequate. However, it lacks details about default pagination, return format, or whether any filtering is supported, which would improve completeness.

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, and the schema already describes 'Layouts per page'. The tool description does not add any additional meaning or context for the parameter, so it does not exceed the baseline.

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 custom receipt/bill layouts from the Receipt Layout Builder, which is a specific verb+resource combo. It is distinct from sibling tools like get_receipt which retrieves a single receipt, and other list tools for different entities.

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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when not to use it. The description is purely functional and lacks usage direction.

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

list_reservationsA

List table reservations with optional filters. Returns paginated results including guest info, date/time, status, and branch.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagedNoPage number (default 1)
branchNoFilter by branch/location ID
searchNoSearch by guest name, email, or invoice
statusNoFilter by status
per_pageNoItems per page (default 10)
food_orderNoFilter by whether a food order is attached
date_range_endNoEnd date filter (YYYY-MM-DD)
date_range_startNoStart date filter (YYYY-MM-DD)

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool returns paginated results and lists included fields, but does not mention authorization needs, rate limits, or side effects. The non-destructive nature is implied but not explicit. Minimal but adequate.

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 with no wasted words. The first sentence states the core purpose, and the second adds important output details. Front-loaded and efficient.

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?

Given 8 optional parameters and no output schema, the description covers the purpose and return fields but lacks details on pagination defaults, filter combinations, or behavior. It is adequate for a simple list operation but could be more helpful.

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%, so baseline is 3. The description mentions 'optional filters' and some return fields ('guest info, date/time, status, and branch'), but does not add significant meaning beyond the schema's parameter descriptions. The schema already explains each parameter sufficiently.

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 table reservations with optional filters,' using a specific verb (list) and resource (table reservations). It differentiates from sibling tools like 'get_reservation' (single) and other list tools by specifying 'table reservations' and the return fields.

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 for listing multiple reservations, but does not explicitly state when to use this tool versus alternatives like 'get_reservation' for a single reservation or other list tools. No when-not conditions or alternatives are mentioned.

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

list_seat_plansC

[WPCafe Pro] List visual seat plans / floor layouts for restaurant locations.

ParametersJSON Schema
NameRequiredDescriptionDefault
location_idNoFilter seat plans by location ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so description must disclose behavior. It only mentions listing and WPCafe Pro context, but no details on authentication, pagination, or output structure.

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?

Single sentence is concise, but the '[WPCafe Pro]' prefix is somewhat superfluous. Front-loaded with purpose.

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?

No output schema, and description omits return details or pagination. For a list tool, more context on what is returned is needed.

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%, so the schema already describes the location_id parameter fully. Description adds no extra meaning beyond the structured field.

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 seat plans/floor layouts for restaurant locations. However, it does not differentiate from sibling tools like get_seat_plan or create_seat_plan.

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 guidance on when to use this tool versus alternatives like get_seat_plan or list_locations. Lacks context for optimal usage.

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

list_timed_productsA

[WPCafe Pro] List products with time-based availability rules (e.g. breakfast items only available 6am-11am).

ParametersJSON Schema
NameRequiredDescriptionDefault
per_pageNoItems per page

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses the core function but lacks details on return format, default pagination, or behavior when no products match. Adequate but limited.

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 a product prefix and an example, no wasted words, front-loaded with key information. 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?

Given the low complexity (one optional parameter, no nested objects, no output schema), the description adequately covers the purpose. Minor gaps in output format and error handling are acceptable for a simple list tool.

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%; the description does not add meaning beyond the schema for the parameter. The parameter is already documented in the input schema, so a 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 products with time-based availability rules, using a specific verb and resource, and distinguishes it from the general list_products sibling.

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 usage when time-based filtering is needed, but does not explicitly exclude general product listing or point to list_products as an alternative, leaving some ambiguity.

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

toggle_extensionA

Enable or disable a WPCafe module by its slug. Affects which features are active on the site.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesModule slug to toggle. Known slugs: reservation, food_ordering, qr_code, tipping, mini_cart, email_automation, restaurant_management, delivery, pickup, discount, timed_product, pause_orders, dine_in, table_layout, notifications
statusYesEnable ('on') or disable ('off') the module

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It mentions that toggling affects which features are active, but does not disclose side effects, required permissions, or whether changes are immediate. Minimal transparency.

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, no wasted words. Front-loaded with the action and followed by a concise statement of effect.

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?

The tool is simple, but the description does not explain the return value or indicate success/failure. Given no output schema, this is a gap. It could mention that a confirmation or updated status is returned.

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 parameters are well-documented in the schema. The description adds no extra meaning beyond what is in the schema, meeting the baseline.

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 'enable or disable' and the resource 'WPCafe module by its slug', and it distinguishes itself from sibling tools like list_extensions which lists modules but does not toggle them.

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 but does not explicitly state when to use this tool versus alternatives (e.g., list_extensions to see available slugs). It lacks guidance on prerequisites 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.

update_dashboard_order_statusA

Update the status of an order directly from the dashboard analytics view (shortcut for the restaurant management panel).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesOrder ID
statusYesNew status (e.g. processing, completed, cancelled)

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so the description carries the full burden. It discloses that this is a mutation (update), but does not detail permissions, side effects, or idempotency. The description adds the dashboard context but lacks depth for a write operation.

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?

Single sentence of 15 words that is front-loaded with the action and concise. Every word adds value, providing both the what and the where.

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 tool with two required parameters and no output schema, the description is largely complete. It explains the purpose and context, though it could explicitly mention that this is an alternative to update_food_order_status.

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?

Input schema covers both parameters with descriptions (id, status). The description adds no additional parameter-level meaning beyond the schema, so 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?

Description clearly states the verb 'Update', the resource 'order status', and the specific context 'from the dashboard analytics view (shortcut for the restaurant management panel)'. This distinguishes it from sibling tools like update_food_order_status.

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?

Description implies when to use: as a shortcut from the dashboard analytics view. However, it does not explicitly state when not to use or suggest alternatives, though the sibling update_food_order_status is implied as the standard method.

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

update_discountC

[WPCafe Pro] Update an existing discount code.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDiscount ID
codeNoNew code string
typeNoDiscount type
amountNoNew discount value
max_usesNoUpdated usage limit
expiry_dateNoNew expiry date (YYYY-MM-DD)

TDQS

C2.8/5.0
Behavior2/5

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

Since no annotations are present, the description carries the full burden of behavioral disclosure. It only states the action without detailing idempotency, field merge behavior, required permissions, error handling, or side effects.

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?

The description is a single sentence, but it includes the prefix '[WPCafe Pro]' which, while informative, adds little value for an AI agent. It could be more structured by highlighting key parameters or usage constraints.

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?

With 6 parameters, no output schema, and no annotations, the description fails to provide sufficient context. It does not explain return values, error conditions, or how the update interacts with existing data.

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 baseline is 3. The description adds no extra meaning beyond what the schema already provides; the parameters are not mentioned or elaborated in the text.

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 verb 'Update' and resource 'existing discount code', making the basic purpose evident. However, it does not differentiate from sibling tools like create_discount or delete_discount, missing an opportunity to clarify its specific role.

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 offers no guidance on when to use this tool versus alternatives, such as create_discount or delete_discount. No context about prerequisites, typical scenarios, or exclusions is provided.

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

update_food_order_statusC

Update the WooCommerce status of a food order (e.g. mark as processing, completed, cancelled).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWooCommerce order ID
statusYesNew order status. Valid values: pending, processing, on-hold, completed, cancelled, refunded, failed

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavioral traits. It only states 'Update' implying mutation, but no details on permissions, side effects, reversibility, or error 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?

Single sentence that is direct and without fluff. Front-loaded with the key action and resource.

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?

Given the tool is a mutation without output schema or annotations, the description lacks behavioral context (e.g., idempotency, status validation) and return value information.

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%, so parameters are well-documented in the schema. Description adds no extra meaning beyond the schema's parameter descriptions.

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 action (update) and resource (WooCommerce status of a food order) with examples. However, it does not differentiate from the sibling tool 'update_dashboard_order_status', which may have overlapping purpose.

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 guidance on when to use this tool vs alternatives like 'update_dashboard_order_status'. Lacks prerequisites or exclusions.

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

update_locationA

Update an existing restaurant location. Only provide fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLocation ID to update
locationNoUpdated coordinates/address
restaurant_nameNoLocation name
restaurant_emailNoContact email
restaurant_phoneNoPhone number
restaurant_scheduleNoOpening hours
reservation_capacityNoMax reservation capacity

TDQS

A4.1/5.0
Behavior3/5

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

Without annotations, the description reveals it is a mutation but lacks details on idempotency, authorization, error handling, or response behavior. The partial update hint is useful but insufficient for full transparency.

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 concise sentences with no extraneous words; the key information is front-loaded and easy to parse.

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?

While the description covers the core operation, it omits behavioral details (e.g., what happens if location does not exist, return value format) that would be helpful given no output schema or 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?

Schema coverage is 100% with parameter descriptions, so baseline is 3. The description adds valuable context (partial update) that enhances understanding beyond 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?

The description clearly states 'Update an existing restaurant location' with a specific verb and resource, distinguishing it from sibling tools like create_location or delete_location.

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 advises 'Only provide fields you want to change,' which guides partial updates and implies idempotency, but does not explicitly state when not to use this tool or mention alternatives.

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

update_qrcodeA

Update an existing QR code — rename it or change its linked table/location.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesQR code ID to update
nameNoNew name
table_idNoNew table identifier
location_idNoNew location ID
redirect_urlNoNew redirect URL

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden for behavioral disclosure. It only says 'update' and mentions renaming/changing table/location, but does not describe side effects, error behavior, whether it performs partial or full update, or any permission requirements. For a mutation tool, this is insufficient.

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, clear sentence that front-loads the purpose. Every word earns its place with no redundancy or unnecessary information.

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?

Given the tool has 5 parameters and no output schema, the description is adequate for the main use cases but lacks details on the full effects of the update (e.g., whether it overwrites or merges fields, impact on redirect_url). The sibling tools provide context, but the description itself leaves some gaps in completeness.

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%, so each parameter has a description. The description adds value by summarizing the main use cases (rename, change table/location) which maps to some parameters. However, it does not mention the 'id' parameter (required) or 'redirect_url'. Baseline for 100% coverage is 3, and the description provides marginal added semantic 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 uses a specific verb 'Update' and resource 'existing QR code', and mentions the key capabilities 'rename it or change its linked table/location', which clearly distinguishes it from sibling tools like create_qrcode, delete_qrcode, get_qrcode, and list_qrcodes.

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 usage when an existing QR code needs modification, which is a clear context. However, it does not explicitly state when not to use this tool or mention any prerequisites or alternatives, though the context of sibling tools makes this fairly clear.

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

update_reservationA

Update an existing reservation. Only provide fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesReservation ID to update
dateNoNew date (YYYY-MM-DD)
nameNoGuest full name
emailNoGuest email
notesNoUpdated notes
phoneNoGuest phone
statusNoNew status
end_timeNoNew end time
branch_idNoLocation/branch ID
start_timeNoNew start time
table_nameNoTable identifier
total_guestNoNumber of guests

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It implies partial update (PATCH) semantics via 'only provide fields you want to change,' but lacks details on authentication, side effects, or idempotency. The description adds some clarity but is not fully transparent.

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, no wasted words. The purpose is front-loaded, followed by a key usage instruction. 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 simple update operation, the description combined with the comprehensive schema provides sufficient information. The partial update hint is valuable. While no output schema exists, the tool's behavior is straightforward enough that this is acceptable.

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% with descriptions for all 12 parameters. The description adds critical meaning by specifying that only fields to change should be provided, indicating a partial update. This goes beyond the schema's field-level descriptions, justifying a score 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?

Description clearly states 'Update an existing reservation' with a specific verb and resource. The phrase 'Only provide fields you want to change' distinguishes it from create or delete operations and aligns with its role among sibling tools like create_reservation and delete_reservation.

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: it's for updating existing reservations by providing only fields to change. However, it does not explicitly list when not to use it (e.g., cancellation) or suggest alternatives, though that is easily inferred from sibling tool names.

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

update_seat_planB

[WPCafe Pro] Update an existing seat plan (rename or change canvas layout data).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSeat plan ID
nameNoNew name
canvas_dataNoUpdated Fabric.js canvas JSON

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states 'update' (a mutation) and mentions rename/change, but does not disclose authorization needs, side effects, or 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?

The description is a single sentence, front-loaded with the tool's purpose, with no wasted words or repetition.

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?

Despite 100% schema coverage, the description lacks guidance on response behavior, data format details, or implications of updating canvas_data. As a mutation tool with no annotations, it is incomplete.

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%. The description confirms the purpose of name and canvas_data parameters but adds no additional meaning beyond the 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 tool updates an existing seat plan, specifying two specific use cases (rename or change canvas layout data), which distinguishes it from sibling tools like create_seat_plan or delete_seat_plan.

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 an existing seat plan needs modification but provides no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions.

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

update_settingsA

Update one or more WPCafe settings. Only provide the keys you want to change — all other settings remain unchanged. Requires administrator role.

ParametersJSON Schema
NameRequiredDescriptionDefault
extraNoAny additional settings not listed above — pass as key-value pairs
currencyNoISO 4217 currency code (e.g. 'USD', 'EUR')
wc_statusNoEnable/disable WooCommerce food ordering integration
primary_colorNoPrimary brand color (hex, e.g. #FF5722)
slot_intervalNoTime slot interval in minutes
secondary_colorNoSecondary brand color (hex)
enable_order_tipNoEnable tipping on food orders
require_locationNoRequire customers to select a location before ordering
calendar_languageNoLanguage code for the reservation calendar (e.g. 'en', 'fr')
currency_decimalsNoNumber of decimal places for prices
reservation_statusNoDefault status for new reservations
enable_local_paymentNoAllow 'Pay at Venue' payment option
currency_symbol_positionNoCurrency symbol position
display_location_selectorNoShow location selector on the frontend
enable_order_notificationNoSend email notifications for new orders
reservation_maximum_guestNoMaximum guests per reservation
reservation_minimum_guestNoMinimum guests per reservation
reservation_booking_amountNoBooking fee amount
enable_woocommerce_paymentsNoAllow WooCommerce payment gateway for reservations
multiply_booking_amount_with_guestsNoMultiply booking fee by guest count

TDQS

A4.2/5.0
Behavior3/5

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

Discloses partial update behavior. Lacks details on validation, side effects, and handling of the 'extra' parameter. With no annotations, more depth would help.

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, no filler. Front-loaded with action and key usage instructions.

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?

Adequate for a settings update tool with many parameters. Could mention response format or validation behavior, but not critical given the nature of the tool.

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 provides full coverage (100%), and description adds value by explaining 'extra' parameter and reinforcing partial update. Slightly above baseline for covered schemas.

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?

Clearly states it updates WPCafe settings with specific verb and resource. Distinguishes from sibling tools like get_settings (read) and other update tools for specific entities.

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 guidance to only provide changed keys and requires administrator role. Could be improved by explicitly contrasting with get_settings or other update tools.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 53 tool updatesv1.0.0
    • First observedbulk_delete_locations
    • First observedbulk_delete_reservations
    • First observedcancel_reservation
    • First observedcreate_discount
    • First observedcreate_location
    • First observedcreate_qrcode
    • First observedcreate_reservation
    • First observedcreate_seat_plan
    • First observedcreate_timed_product
    • First observeddelete_discount
    • First observeddelete_food_order
    • First observeddelete_location
    • First observeddelete_qrcode
    • First observeddelete_reservation
    • First observeddelete_seat_plan
    • First observedget_addon_plugins
    • First observedget_dashboard_food_orders
    • First observedget_dashboard_overview
    • First observedget_dashboard_reservations
    • First observedget_discount
    • First observedget_food_order
    • First observedget_integrations
    • First observedget_location
    • First observedget_product
    • First observedget_public_settings
    • First observedget_qrcode
    • First observedget_receipt
    • First observedget_reservation
    • First observedget_reservation_capacity
    • First observedget_reservation_time_slots
    • First observedget_seat_plan
    • First observedget_settings
    • First observedget_top_selling_products
    • First observedlist_discounts
    • First observedlist_extensions
    • First observedlist_food_orders
    • First observedlist_locations
    • First observedlist_product_categories
    • First observedlist_products
    • First observedlist_qrcodes
    • First observedlist_receipt_layouts
    • First observedlist_reservations
    • First observedlist_seat_plans
    • First observedlist_timed_products
    • First observedtoggle_extension
    • First observedupdate_dashboard_order_status
    • First observedupdate_discount
    • First observedupdate_food_order_status
    • First observedupdate_location
    • First observedupdate_qrcode
    • First observedupdate_reservation
    • First observedupdate_seat_plan
    • First observedupdate_settings

TDQS

B3.4/5.0

Scored across 53 tools

Disambiguation4/5

Most tools target distinct entities (locations, reservations, orders, QR codes, discounts, etc.), but there is minor overlap between get/list/dashboard variants for reservations and orders. However, descriptions clearly differentiate them, so agents can generally distinguish.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., create_location, delete_qrcode, list_products, update_settings), making the naming predictable and easy to understand.

Tool Count3/5

With 53 tools, the set is quite large, but it covers multiple modules of a comprehensive restaurant management plugin (reservations, ordering, QR codes, discounts, seat plans, settings, etc.). It is borderline heavy but not unreasonable for such a broad domain.

Completeness4/5

The tool set provides extensive CRUD operations for most entities (locations, QR codes, reservations, discounts, seat plans, timed products) and includes dashboard analytics and management tools. Minor gaps exist, such as no tool to create a food order or product from the MCP side, but these are likely intentional.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to interact with a WordPress site, allowing content and taxonomy management (list, create, update, delete) through 17 MCP tools.
    2
    -