Skip to main content
Glama
devlimelabs

Meilisearch MCP Server

by devlimelabs

update-faceting

Modify faceting settings for a Meilisearch index to customize how search results are categorized and filtered based on attributes.

Instructions

Update the faceting setting

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
indexUidYesUnique identifier of the index
valueYesJSON value for the setting

Implementation Reference

  • The handler function for the 'update-faceting' tool. It parses the 'value' parameter as JSON and performs a PUT request to `/indexes/{indexUid}/settings/faceting` via apiClient to update the faceting settings, returning the response or an error.
    async ({ indexUid, value }) => { try { // Parse the value string to ensure it's valid JSON const parsedValue = JSON.parse(value); const response = await apiClient.put(`/indexes/${indexUid}/settings/${endpoint}`, parsedValue); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }], }; } catch (error) { return createErrorResponse(error); } }
  • Zod input schema for the 'update-faceting' tool, requiring 'indexUid' (string) and 'value' (string containing JSON for the faceting settings).
    { indexUid: z.string().describe("Unique identifier of the index"), value: z.string().describe("JSON value for the setting"), },
  • Configuration object within the updateSettingsTools array that defines the name, endpoint ('faceting'), and description for the 'update-faceting' tool used in dynamic registration.
    { name: "update-faceting", endpoint: "faceting", description: "Update the faceting setting", },
  • forEach loop that dynamically registers the 'update-faceting' tool (and others) by calling server.tool() with the configuration from updateSettingsTools, including schema and handler.
    // Create an update tool for each specific setting updateSettingsTools.forEach(({ name, endpoint, description }) => { server.tool( name, description, { indexUid: z.string().describe("Unique identifier of the index"), value: z.string().describe("JSON value for the setting"), }, async ({ indexUid, value }) => { try { // Parse the value string to ensure it's valid JSON const parsedValue = JSON.parse(value); const response = await apiClient.put(`/indexes/${indexUid}/settings/${endpoint}`, parsedValue); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }], }; } catch (error) { return createErrorResponse(error); } } ); });

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/devlimelabs/meilisearch-ts-mcp'

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