Skip to main content
Glama
devlimelabs

Meilisearch MCP Server

by devlimelabs

update-settings

Modify settings for a Meilisearch index by specifying the index UID and a JSON object of updated configurations, ensuring precise control over search behavior and index properties.

Instructions

Update settings for a Meilisearch index

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
indexUidYesUnique identifier of the index
settingsYesJSON object containing settings to update

Implementation Reference

  • Executes the tool logic: parses the settings JSON string, validates it's an object, sends PATCH request to Meilisearch API to update index settings, returns response or handles errors.
    async ({ indexUid, settings }) => { try { // Parse the settings string to ensure it's valid JSON const parsedSettings = JSON.parse(settings); // Ensure settings is an object if (typeof parsedSettings !== 'object' || parsedSettings === null || Array.isArray(parsedSettings)) { return { isError: true, content: [{ type: "text", text: "Settings must be a JSON object" }], }; } const response = await apiClient.patch(`/indexes/${indexUid}/settings`, parsedSettings); return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }], }; } catch (error) { return createErrorResponse(error); } }
  • Zod input schema defining parameters: indexUid (string) and settings (string representing JSON object).
    { indexUid: z.string().describe("Unique identifier of the index"), settings: z.string().describe("JSON object containing settings to update"), },
  • Direct registration of the 'update-settings' tool on the MCP server using server.tool(), including name, description, schema, and inline handler.
    server.tool( "update-settings", "Update settings for a Meilisearch index", { indexUid: z.string().describe("Unique identifier of the index"), settings: z.string().describe("JSON object containing settings to update"), }, async ({ indexUid, settings }) => { try { // Parse the settings string to ensure it's valid JSON const parsedSettings = JSON.parse(settings); // Ensure settings is an object if (typeof parsedSettings !== 'object' || parsedSettings === null || Array.isArray(parsedSettings)) { return { isError: true, content: [{ type: "text", text: "Settings must be a JSON object" }], }; } const response = await apiClient.patch(`/indexes/${indexUid}/settings`, parsedSettings); 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 that invokes registerSettingsTools on the main MCP server instance, thereby making the 'update-settings' tool available.
    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