Skip to main content
Glama
devlimelabs

Meilisearch MCP Server

by devlimelabs

update-ranking-rules

Modify the ranking rules setting for a specific index in Meilisearch using JSON input, ensuring tailored search result prioritization and relevance.

Instructions

Update the ranking rules setting

Input Schema

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

Implementation Reference

  • Handler function that executes the update-ranking-rules tool. It parses the provided JSON value and performs a PUT request to `/indexes/{indexUid}/settings/ranking-rules` using the apiClient to update the ranking rules in Meilisearch.
    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-ranking-rules tool, requiring indexUid (string) and value (string containing JSON for new ranking rules).
    { 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 specifies the name, endpoint, and description for registering the update-ranking-rules tool.
    { name: "update-ranking-rules", endpoint: "ranking-rules", description: "Update the ranking rules setting", },
  • forEach loop that dynamically registers the update-ranking-rules tool (and other update tools) by calling server.tool with the configuration's name, description, shared schema, and handler using the specific endpoint.
    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); } } );
  • src/index.ts:67-67 (registration)
    Top-level registration call in the main server setup that invokes registerSettingsTools to add all settings tools, including update-ranking-rules, to the MCP server.
    registerSettingsTools(server);

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