Searchanise MCP by usefulapi

Search products, categories and pages, get suggestions, and delete index items in Searchanise.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
87%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,267Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (0.99% of 128k context)

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-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools