Skip to main content
Glama

addBasicCard

Create a basic 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
NameRequiredDescriptionDefault
backYesBack side of the card
deckIdYesID of the deck to add card to
frontYesFront side of the card
tagsNoTags for the card

Implementation Reference

  • The execute handler for the 'addBasicCard' tool, which adds a single basic card to a deck by making a POST request to the Anki API batch endpoint with cardType 'BASIC'.
    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)}`;
      }
    },
  • Zod input schema defining parameters for the 'addBasicCard' tool: deckId (string), front (string), back (string), tags (optional string array).
    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:156-186 (registration)
    The server.addTool call that registers the 'addBasicCard' tool with its name, description, handler, and parameters.
    server.addTool({
      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'),
      }),
    });

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/zlatanpham/anki-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server