get-documents
Retrieve documents from a Meilisearch index using filters, pagination, and field selection to access specific data.
Instructions
Get documents from a Meilisearch index
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| indexUid | Yes | Unique identifier of the index | |
| limit | No | Maximum number of documents to return (default: 20) | |
| offset | No | Number of documents to skip (default: 0) | |
| fields | No | Fields to return in the documents | |
| filter | No | Filter query to apply |
Implementation Reference
- src/tools/document-tools.ts:71-87 (handler)Handler function that performs a GET request to retrieve documents from a Meilisearch index using the apiClient, with support for pagination (limit/offset), field selection, and filtering. Returns the response as formatted JSON or an error.async ({ indexUid, limit, offset, fields, filter }: GetDocumentsParams) => { try { const response = await apiClient.get(`/indexes/${indexUid}/documents`, { params: { limit, offset, fields: fields?.join(','), filter, }, }); return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }], }; } catch (error) { return createErrorResponse(error); } }
- src/tools/document-tools.ts:64-70 (schema)Zod schema defining the input parameters for the get-documents tool, including required indexUid and optional pagination, fields, and filter parameters.{ indexUid: z.string().describe('Unique identifier of the index'), limit: z.number().min(1).max(1000).optional().describe('Maximum number of documents to return (default: 20)'), offset: z.number().min(0).optional().describe('Number of documents to skip (default: 0)'), fields: z.array(z.string()).optional().describe('Fields to return in the documents'), filter: z.string().optional().describe('Filter query to apply'), },
- src/tools/document-tools.ts:62-88 (registration)Direct registration of the 'get-documents' tool on the MCP server, specifying name, description, input schema, and handler function.'get-documents', 'Get documents from a Meilisearch index', { indexUid: z.string().describe('Unique identifier of the index'), limit: z.number().min(1).max(1000).optional().describe('Maximum number of documents to return (default: 20)'), offset: z.number().min(0).optional().describe('Number of documents to skip (default: 0)'), fields: z.array(z.string()).optional().describe('Fields to return in the documents'), filter: z.string().optional().describe('Filter query to apply'), }, async ({ indexUid, limit, offset, fields, filter }: GetDocumentsParams) => { try { const response = await apiClient.get(`/indexes/${indexUid}/documents`, { params: { limit, offset, fields: fields?.join(','), filter, }, }); return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }], }; } catch (error) { return createErrorResponse(error); } } );
- src/index.ts:65-65 (registration)Invocation of registerDocumentTools during MCP server initialization, which registers the get-documents tool among others.registerDocumentTools(server);