csb_variants_search
Search Commander Spellbook combo variants by filters such as cards used or effects produced to find specific Magic: The Gathering strategies.
Instructions
Search Commander Spellbook variants (combos) by filters like uses/produces.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| of | No | Filter variants that are of a specific combo ID group | |
| offset | No | ||
| produces | No | Filter variants that produce this feature ID (e.g., Win the game = 2) | |
| uses | No | Filter variants that use this CSB card ID |
Implementation Reference
- src/mcp-server.ts:473-476 (handler)Handler function for csb_variants_search tool: calls CSB.variants with params and returns structured content.async ({ uses, produces, of, limit, offset }: { uses?: number; produces?: number; of?: number; limit?: number; offset?: number }) => { const res = await CSB.variants({ uses, produces, of, limit, offset }); return { structuredContent: res } as any; }
- src/mcp-server.ts:459-465 (schema)Input schema (Zod shape) for csb_variants_search tool.const csbVariantsSearchInput = { uses: z.number().int().nonnegative().optional().describe("Filter variants that use this CSB card ID"), produces: z.number().int().nonnegative().optional().describe("Filter variants that produce this feature ID (e.g., Win the game = 2)"), of: z.number().int().nonnegative().optional().describe("Filter variants that are of a specific combo ID group"), limit: z.number().int().min(1).max(100).optional(), offset: z.number().int().min(0).optional() } as const;
- src/mcp-server.ts:466-477 (registration)Registration of the csb_variants_search tool using server.registerTool, including schema and handler.server.registerTool( "csb_variants_search", { title: "CSB: Search variants", description: "Search Commander Spellbook variants (combos) by filters like uses/produces.", inputSchema: csbVariantsSearchInput }, async ({ uses, produces, of, limit, offset }: { uses?: number; produces?: number; of?: number; limit?: number; offset?: number }) => { const res = await CSB.variants({ uses, produces, of, limit, offset }); return { structuredContent: res } as any; } );
- src/csb.ts:113-114 (helper)CSB.variants helper: makes API GET request to /variants endpoint with parameters.variants: (opts: { uses?: number; produces?: number; of?: number; limit?: number; offset?: number }) => getJson("/variants", opts),