Where is the MCP client located within the project structure?	In the `mcp client.py` file inside the root project directory.
What core component does the MCP client class wrap?	A client session.
What is the client session?	The actual connection to the MCP server, which is part of the MCP Python SDK.
Why is the MCP client class often large?	It contains extensive code dedicated to resource cleanup (e.g., in `connect`, `async enter`, and `async exit` functions).
What is the primary function of the MCP client within the codebase?	To expose functionality implemented on the MCP server to the rest of the project's code.
What is the purpose of wrapping the client session inside a larger class?	To manage resources and simplify the cleanup process.
How does the `list_tools` function retrieve available tools from the server?	It calls `self.session.list_tools()` and returns the resulting tool definitions.
How is a specific tool executed using the MCP client?	By calling `self.session.call_tool(tool_name, tool_input)`.
What is the role of the MCP client in relation to external AI models like Claude?	It allows the codebase to retrieve tool definitions and execute tools requested by the AI.
