update-distinct-attribute
Modify the distinct attribute setting in a Meilisearch index to control which field values are treated as unique for search result deduplication.
Instructions
Update the distinct attribute setting
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| indexUid | Yes | Unique identifier of the index | |
| value | Yes | JSON value for the setting |
Implementation Reference
- src/tools/settings-tools.ts:236-247 (handler)Shared handler function for all update-* tools, including update-distinct-attribute. Parses the 'value' parameter as JSON and performs a PUT request to the Meilisearch API endpoint for the specific setting (distinct-attribute). Returns formatted response or 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); }
- src/tools/settings-tools.ts:232-235 (schema)Input schema using Zod: requires 'indexUid' (string) and 'value' (string, expected to be valid JSON for the setting). Shared across update tools.{ indexUid: z.string().describe("Unique identifier of the index"), value: z.string().describe("JSON value for the setting"), },
- src/tools/settings-tools.ts:205-209 (registration)Configuration entry in the updateSettingsTools array. This object is used by the forEach loop (lines 227-250) to dynamically register the tool with the MCP server via server.tool() call.{ name: "update-distinct-attribute", endpoint: "distinct-attribute", description: "Update the distinct attribute setting", },