{"apiVersion":"v1","directorySlug":"audioflash-mcp-50443bf3b4","title":"Audio Flash","description":"Study flashcards hands-free with Audio Flash. Convert Anki decks to audio, autoplay with voice recognition, study offline with zero screen time, and review with spaced repetition.","pageUrl":"https://www.mcpbundles.com/skills/audioflash-mcp-50443bf3b4","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.audioflash.app/mcp","hostedMcpUrl":null,"toolCount":5,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"app.audioflash/audioflash-mcp-50443bf3b4","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"create_deck","description":"Create a new unowned Audio Flash deck populated with the given cards. Each card is an object with required fields 'question' and 'answer', and an optional 'alternate_answers' list of non-empty strings. The created deck has owner_id=null so any MCP client can continue editing it. Returns the deck URL and the full deck (with assigned id, per-card ids, and a 'url' field) in structuredContent — surface the URL to the user and keep the chat reply concise.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["title","cards"],"properties":{"cards":{"type":"array","items":{"type":"object","required":["question","answer"],"properties":{"answer":{"type":"string"},"question":{"type":"string"},"alternate_answers":{"type":"array","items":{"type":"string","minLength":1}}}}},"visibility":{"enum":["public","private"],"type":"string"},"is_published":{"type":"boolean"},"ietf_language_tag_for_answers":{"type":"string"},"ietf_language_tag_for_questions":{"type":"string"}}},"logicalName":"create_deck","displayName":"create_deck","title":"create_deck","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"replace_deck","description":"Replace an unowned deck's contents entirely. Cards with an existing 'id' are patched in place (preserving created_at); cards without an 'id' are created fresh. Refuses if the deck has an owner_id. Returns the deck URL and the full updated deck (every card with id/question/answer) in structuredContent — surface the URL and keep the chat reply concise.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["deck_id","title","cards"],"properties":{"cards":{"type":"array","items":{"type":"object","required":["question","answer"],"properties":{"id":{"type":"string"},"answer":{"type":"string"},"question":{"type":"string"},"alternate_answers":{"type":"array","items":{"type":"string","minLength":1}}}}},"deck_id":{"type":"string"},"visibility":{"enum":["public","private"],"type":"string"},"is_published":{"type":"boolean"},"ietf_language_tag_for_answers":{"type":"string"},"ietf_language_tag_for_questions":{"type":"string"}}},"logicalName":"replace_deck","displayName":"replace_deck","title":"replace_deck","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"add_cards","description":"Append one or more cards to an unowned deck. Each card is {question, answer, alternate_answers?}. Returns the deck URL and the full updated deck in structuredContent — surface the URL and keep the chat reply concise.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["deck_id","cards"],"properties":{"cards":{"type":"array","items":{"type":"object","required":["question","answer"],"properties":{"answer":{"type":"string"},"question":{"type":"string"},"alternate_answers":{"type":"array","items":{"type":"string","minLength":1}}}},"minItems":1},"deck_id":{"type":"string"}}},"logicalName":"add_cards","displayName":"add_cards","title":"add_cards","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"update_cards","description":"Update one or more cards on an unowned deck. Each card must include 'id'. Provide any of 'question', 'answer', 'alternate_answers' to patch those fields. Returns the deck URL and the full updated deck in structuredContent — surface the URL and keep the chat reply concise.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["deck_id","cards"],"properties":{"cards":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"answer":{"type":"string"},"question":{"type":"string"},"alternate_answers":{"type":"array","items":{"type":"string","minLength":1}}}},"minItems":1},"deck_id":{"type":"string"}}},"logicalName":"update_cards","displayName":"update_cards","title":"update_cards","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"remove_cards","description":"Remove one or more cards from an unowned deck by id. Remaining cards are re-indexed. Returns the deck URL and the full updated deck in structuredContent — surface the URL and keep the chat reply concise.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["deck_id","card_ids"],"properties":{"deck_id":{"type":"string"},"card_ids":{"type":"array","items":{"type":"string"},"minItems":1}}},"logicalName":"remove_cards","displayName":"remove_cards","title":"remove_cards","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Audio-Flash&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuYXVkaW9mbGFzaC5hcHAvbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Audio-Flash%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.audioflash.app%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Audio-Flash%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.audioflash.app%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Audio+Flash&connectorUrl=https%3A%2F%2Fmcp.audioflash.app%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Audio-Flash\" --url \"https://mcp.audioflash.app/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/audioflash-mcp-50443bf3b4","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/audioflash-mcp-50443bf3b4/tools/{tool}","mcpServerUrl":"https://mcp.audioflash.app/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/audioflash-mcp-50443bf3b4?live=1"}