From dc7175333b3216a205c5b5c979055a33f93691e2 Mon Sep 17 00:00:00 2001 From: Till Immer Date: Sun, 5 Jul 2026 09:22:01 +0000 Subject: [PATCH] =?UTF-8?q?mcp/client.py=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp/client.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 mcp/client.py diff --git a/mcp/client.py b/mcp/client.py new file mode 100644 index 0000000..10149b1 --- /dev/null +++ b/mcp/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