addBasicCard
Create a basic Anki flashcard with front and back content, assign it to a deck, and optionally add tags for organization.
Instructions
Add a single basic card to a deck
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| back | Yes | Back side of the card | |
| deckId | Yes | ID of the deck to add card to | |
| front | Yes | Front side of the card | |
| tags | No | Tags for the card |
Implementation Reference
- src/index.ts:157-186 (registration)Full registration of the 'addBasicCard' tool including handler, schema, and name.description: 'Add a single basic card to a deck', execute: async args => { try { const data = await ankiApiRequest( 'POST', `/api/v1/decks/${args.deckId}/cards/batch`, { cards: [ { back: args.back, cardType: 'BASIC', front: args.front, tags: args.tags || [], }, ], }, ); return JSON.stringify(data, null, 2); } catch (error) { return `Error: ${error instanceof Error ? error.message : String(error)}`; } }, name: 'addBasicCard', parameters: z.object({ back: z.string().describe('Back side of the card'), deckId: z.string().describe('ID of the deck to add card to'), front: z.string().describe('Front side of the card'), tags: z.array(z.string()).optional().describe('Tags for the card'), }), });
- src/index.ts:159-178 (handler)The execute function that implements the core logic: calls ankiApiRequest to POST a single BASIC card to the deck's batch endpoint.try { const data = await ankiApiRequest( 'POST', `/api/v1/decks/${args.deckId}/cards/batch`, { cards: [ { back: args.back, cardType: 'BASIC', front: args.front, tags: args.tags || [], }, ], }, ); return JSON.stringify(data, null, 2); } catch (error) { return `Error: ${error instanceof Error ? error.message : String(error)}`; } },
- src/index.ts:180-185 (schema)Zod schema defining the input parameters for the tool.parameters: z.object({ back: z.string().describe('Back side of the card'), deckId: z.string().describe('ID of the deck to add card to'), front: z.string().describe('Front side of the card'), tags: z.array(z.string()).optional().describe('Tags for the card'), }),