<?php
namespace boru\ai\Mcp;

interface McpClientInterface
{
    /**
     * Prepare a session against the configured MCP server.
     *
     * @param McpServerConfig $serverConfig
     * @return array
     */
    public function initialize(McpServerConfig $serverConfig);

    /**
     * Return discovered MCP tool metadata.
     *
     * @return array
     */
    public function listTools();

    /**
     * Invoke a remote MCP tool.
     *
     * @param string $toolName
     * @param array $arguments
     * @return mixed
     */
    public function callTool($toolName, array $arguments);
}
