search_minifigs
Find LEGO minifigures by name to identify specific characters or minifig types. Returns fig numbers and names for further details.
Instructions
Search for LEGO minifigures by name. Use this when looking for specific characters or minifig types. Returns fig numbers and names: use get_minifig for full details and set appearances.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Free-text search (FTS5) across minifig names | |
| limit | No | Max results (default 25, max 50) |
Implementation Reference
- src/tools/search-minifigs.ts:28-41 (handler)The handler function that executes the FTS5 SQL query to search for minifigs.
export function handler(db: Database.Database, params: SearchMinifigsParams): SearchMinifigsResult { const limit = params.limit ?? 25; const rows = db.prepare(` SELECT m.fig_num, m.name, m.num_parts FROM minifigs_fts fts JOIN minifigs m ON m.rowid = fts.rowid WHERE minifigs_fts MATCH ? ORDER BY fts.rank LIMIT ? `).all(params.query, limit) as MinifigSummary[]; return { minifigs: rows, total: rows.length }; } - src/tools/search-minifigs.ts:6-9 (schema)Zod schema defining the inputs for the search_minifigs tool.
export const SearchMinifigsInput = z.object({ query: z.string().describe('Free-text search (FTS5) across minifig names'), limit: z.number().min(1).max(50).optional().describe('Max results (default 25, max 50)'), }); - src/server.ts:147-155 (registration)The MCP tool registration for 'search_minifigs'.
server.tool( 'search_minifigs', 'Search for LEGO minifigures by name. Use this when looking for specific characters or minifig types. Returns fig numbers and names: use get_minifig for full details and set appearances.', SearchMinifigsInput.shape, async (params) => { try { const result = searchMinifigsHandler(db, params); return { content: [{ type: 'text' as const, text: formatSearchMinifigs(result) }] }; } catch (err) {