Searchanise MCP by usefulapi
Search products, categories and pages, get suggestions, and delete index items in Searchanise.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"searchanise": {
"url": "https://searchanise.usefulapi.io/mcp"
}
}
}Remote endpoints
https://searchanise.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢searchanise_search(q, restrict_by, sort_by, sort_order, max_results, ...)
Search the store's products with Searchanise, as the Search Results Widget does. Returns product ids, titles, links, prices, quantities and images; optionally matching categories and pages, and filter facets. restrict_by filters by attribute. For text attributes: | is OR, a comma is AND, ! is NOT, and a backslash escapes | or a comma (for example {"category": "Shoes|Boots"}). For number attributes, from,to is a range (for example {"price": "0,150"}). Search API: GET /getresults.
Input Schema
{
"type": "object",
"properties": {
"q": {
"description": "Search text, matched against all searchable attributes. Max 512 characters.",
"type": "string",
"maxLength": 512
},
"restrict_by": {
"description": "Filters by attribute name and value, for example {\"price\": \"0,150\"} for a price range. Attributes must be enabled for filtering in Searchanise.",
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[a-zA-Z_][0-9a-zA-Z_]*$"
},
"additionalProperties": {
"type": "string",
"maxLength": 512
}
},
"sort_by": {
"description": "Sort attribute (default relevance).",
"type": "string",
"enum": [
"relevance",
"title",
"created",
"price",
"discount",
"reviews_average_score",
"total_reviews",
"sales_amount"
]
},
"sort_order": {
"description": "Sort order (default asc). Has no effect on relevance.",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"max_results": {
"description": "Products per page (0 to 250, default 10).",
"type": "integer",
"minimum": 0,
"maximum": 250
},
"start_index": {
"description": "Offset of the first product (default 0). start_index plus max_results cannot exceed 100000.",
"type": "integer",
"minimum": 0,
"maximum": 100000
},
"include_categories": {
"description": "Also return matching categories.",
"type": "boolean"
},
"include_pages": {
"description": "Also return matching pages.",
"type": "boolean"
},
"include_facets": {
"description": "Also return filter facets (filter names and value counts).",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢searchanise_autocomplete(q, max_results, include_categories, include_pages)
Get what the Instant Search Widget shows while a shopper types: query suggestions, the top matching products, and optionally categories and pages. Search API: GET /getwidgets with suggestions=true.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"maxLength": 512,
"description": "The partial or full search text."
},
"max_results": {
"description": "Products per page (0 to 250, default 10).",
"type": "integer",
"minimum": 0,
"maximum": 250
},
"include_categories": {
"description": "Also return matching categories.",
"type": "boolean"
},
"include_pages": {
"description": "Also return matching pages.",
"type": "boolean"
}
},
"required": [
"q"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢searchanise_get_index_status
Get the store's index state: status (none, update, updating, normal, error or disabled), full_import (start or done) and product_count. Use it to check whether the latest product data is indexed. State API: GET /api/state/get/json.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴searchanise_delete_product(id)
Remove one product from the Searchanise search index by its numeric id. It does not delete the product from the store, and it cannot be undone from here (re-import the product to restore it). Searchanise applies the delete after indexing, which takes some minutes. The store's own catalog is not changed. Update API: POST /api/items/delete/json.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d{1,20}$",
"description": "The numeric Searchanise id."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴searchanise_delete_category(id)
Remove one category from the Searchanise search index by its numeric id. It does not delete the category from the store, and it cannot be undone from here. Searchanise applies the delete after indexing, which takes some minutes. The store's own catalog is not changed. Update API: POST /api/categories/delete/json.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d{1,20}$",
"description": "The numeric Searchanise id."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴searchanise_delete_page(id)
Remove one page from the Searchanise search index by its numeric id. It does not delete the page from the store, and it cannot be undone from here. Searchanise applies the delete after indexing, which takes some minutes. The store's own catalog is not changed. Update API: POST /api/pages/delete/json.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^\\d{1,20}$",
"description": "The numeric Searchanise id."
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence