import asyncio from mcp import ClientSession, StdioServerParameters from mcp.client.stdio import stdio_client async def main(): params = StdioServerParameters(command="venv/bin/python", args=["server.py"]) async with stdio_client(params) as (read, write): async with ClientSession(read, write) as session: await session.initialize() tools = await session.list_tools() print("=== tool esposti via protocollo MCP ===") for t in tools.tools: print(f"- {t.name}: {t.description[:80]}...") print() print("=== chiamata reale a query_business_data via protocollo ===") result = await session.call_tool("query_business_data", { "sql": "SELECT rete, COUNT(*) AS n FROM emesso WHERE fascia='PR' AND tipologia='FILM' AND CAST(data_emissione AS VARCHAR) LIKE '2026%' GROUP BY rete ORDER BY n DESC LIMIT 5" }) for c in result.content: print(c.text if hasattr(c, "text") else c) asyncio.run(main())