From 79850d4253903782f5cea65404fba24862afefa9 Mon Sep 17 00:00:00 2001 From: Till Immer Date: Sun, 5 Jul 2026 09:25:19 +0000 Subject: [PATCH] =?UTF-8?q?client.py=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 client.py diff --git a/client.py b/client.py new file mode 100644 index 0000000..10149b1 --- /dev/null +++ b/client.py @@ -0,0 +1,30 @@ +import anyio + +from mcp import ClientSession +from mcp.client.streamable_http import streamable_http_client + + +class MCPClient: + def __init__(self, url: str): + self.url = url + self.session = None + self._client = None + + async def connect(self): + self._client = streamable_http_client(self.url) + read, write = await self._client.__aenter__() + + self.session = ClientSession(read, write) + await self.session.initialize() + + print("[MCP] verbunden") + + async def list_tools(self): + return await self.session.list_tools() + + async def call_tool(self, name, args): + return await self.session.call_tool(name, args) + + async def close(self): + if self._client: + await self._client.__aexit__(None, None, None) \ No newline at end of file