You would need to create 3 states for your AI: Opening, Middle, Closing.
During the Opening State of your AI, it uses a lookup table of all possible moves that it's oppenent chooses. With an exact response to do against it. This may be anywhere between 1-4 moves total, but it helps with search times by reducing it to 1. Creating a look up table is tough, and requires lots of time, and simulations. These tables are used to compete in World Computer Games Championships in Chess, Hex, GO, Breakthrough, and more.
During the Middle State of your AI, it will use the main search algorithm. Monte Carlo Tree Search is a widely used algorithm for searching for strong moves to do. However, just a plane MCTS will not cut it for every case. To reduce the time for this search you would want to implement an Early Playout Termination (EPT) algorithm. This allows the MCTS to stop searching if a condition is met before the end of the search. Along with all of these algorithms you will also want to implement a visit count for each state/command/move, these visits are put on a high precedence for searching. A state/command/move with low precedence will be searched last and least often. Then ontop of that you can implement a common sequence of states/commands/moves, which stores a group of moves in one move.
For the Closing State of your AI, it will have a lookup table for finishing the player off. It will have any number of moves which when it is cable of doing it will do with no tree searching. Basically the same as the opening book, a quick check if there is a win found, then go for it.
During the Middle State of your AI, it could have alternate states where it needs to do certain things, and it will focus on those options during the tree searches. Things such as "Low Health", "Too many cards in hand", "Enemy has no cards". These states will have the AI specifically look for a certain paths in it's tree travesal by it's weight factor. These weight factors will weigh in on your Minimax searches, and ignoring certain paths like using a move point drinking a health potion (Already full health, ignore this path)