Skip to main content
Glama

Brightpearl MCP by usefulapi

Search products

brightpearl_search_products
Read-only

Search the product catalogue. Every filter is optional and they combine (AND); each result row has productId, productName, SKU, barcode, EAN, UPC, ISBN, MPN, stockTracked, createdOn, updatedOn, brightpearlCategoryCode, productGroupId, brandId, productTypeId, productStatus, primarySupplierId. Use brightpearl_get_products for full details. GET /product-service/product-search.

Input Schema

NameRequiredDescriptionDefault
eanNoEAN.
mpnNoMPN.
skuNoExact SKU.
upcNoUPC.
isbnNoISBN.
nameNoProduct name (case-insensitive match).
barcodeNoBarcode.
brand_idNoOnly these brands (one or more ids).
page_sizeNoRows per page, 1-500 (default 25).
created_toNoCreated: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.
updated_toNoLast updated: on or before this day (yyyy-mm-dd, whole day included) or ISO 8601 date-time with timezone.
category_idNoOnly these Brightpearl categories (one or more ids).
product_idsNoOnly these products (one or more ids).
created_fromNoCreated: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.
first_resultNoPosition of the first row to return, from 1 (default 1). Pass the previous reply's next_first_result for the next page.
newest_firstNoNewest (highest id) first. Default: oldest first.
updated_fromNoLast updated: on or after this day (yyyy-mm-dd) or ISO 8601 date-time with timezone.
stock_trackedNoOnly stock-tracked (true) or non-stock (false) products.
product_statusNoLifecycle status code, for example LIVE.
product_type_idNoOnly these product types (one or more ids).
product_group_idNoOnly products of this product group (variations); 0 = products that are not in a group.
primary_supplier_idNoOnly products with these primary suppliers (one or more ids).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds real value by enumerating the exact fields returned in each result row — critical since there is no output schema — plus the AND semantics of filters and the underlying endpoint. It omits default ordering/page-size behavior, but that is documented per-parameter in the schema.

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

Conciseness4/5

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

Front-loaded with purpose, then the filter-combination rule, then the return-field list that substitutes for a missing output schema. The 16-field enumeration is long but earns its place; only the trailing raw endpoint adds marginal 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?

With 0 required params among 22, full schema coverage, and no output schema, the description supplies the two things an agent would otherwise lack: what comes back and how filters interact. Pagination and defaults are delegated to the schema, which is acceptable here.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, and the description adds cross-parameter semantics the schema cannot express: all filters are optional and combine conjunctively. That combinatorial rule meaningfully affects how an agent composes a call.

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

Purpose5/5

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

States a specific verb and resource ('Search the product catalogue') and differentiates from the sibling brightpearl_get_products by scope (search vs. full details). An agent immediately knows this is the lookup tool and which tool returns richer records.

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 every filter is optional and combines with AND, and names the alternative ('Use brightpearl_get_products for full details'). It does not spell out when-not to use it (e.g., searching by exact id vs. product_ids), but the context for selection is clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.