Coverage for mcpgateway / transports / __init__.py: 100%

5 statements  

« prev     ^ index     » next       coverage.py v7.13.4, created at 2026-03-09 03:05 +0000

1# -*- coding: utf-8 -*- 

2"""Location: ./mcpgateway/transports/__init__.py 

3Copyright 2025 

4SPDX-License-Identifier: Apache-2.0 

5Authors: Mihai Criveti 

6 

7MCP Transport Package. 

8This package provides transport implementations for the MCP protocol: 

9- stdio: Communication over standard input/output 

10- SSE: Server-Sent Events for server-to-client streaming 

11- WebSocket: Full-duplex communication 

12 

13Examples: 

14 >>> # Import all available transport classes 

15 >>> from mcpgateway.transports import Transport, StdioTransport, SSETransport, WebSocketTransport 

16 >>> 

17 >>> # Verify all classes are imported correctly 

18 >>> Transport.__name__ 

19 'Transport' 

20 >>> StdioTransport.__name__ 

21 'StdioTransport' 

22 >>> SSETransport.__name__ 

23 'SSETransport' 

24 >>> WebSocketTransport.__name__ 

25 'WebSocketTransport' 

26 

27 >>> # Check that all transports inherit from base Transport 

28 >>> from mcpgateway.transports.base import Transport 

29 >>> issubclass(StdioTransport, Transport) 

30 True 

31 >>> issubclass(SSETransport, Transport) 

32 True 

33 >>> issubclass(WebSocketTransport, Transport) 

34 True 

35 

36 >>> # Verify __all__ exports all expected classes 

37 >>> from mcpgateway.transports import __all__ 

38 >>> sorted(__all__) 

39 ['SSETransport', 'StdioTransport', 'Transport', 'WebSocketTransport'] 

40 

41 >>> # Test that we can instantiate transport classes 

42 >>> stdio = StdioTransport() 

43 >>> isinstance(stdio, Transport) 

44 True 

45 >>> sse = SSETransport("http://localhost:8000") 

46 >>> isinstance(sse, Transport) 

47 True 

48 >>> ws = WebSocketTransport("ws://localhost:8000") 

49 >>> isinstance(ws, Transport) 

50 True 

51""" 

52 

53from mcpgateway.transports.base import Transport 

54from mcpgateway.transports.sse_transport import SSETransport 

55from mcpgateway.transports.stdio_transport import StdioTransport 

56from mcpgateway.transports.websocket_transport import WebSocketTransport 

57 

58__all__ = ["Transport", "StdioTransport", "SSETransport", "WebSocketTransport"]