Coverage for mcp_chatkit_widget / __init__.py: 100%

6 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2025-12-11 06:37 +0000

1"""Server module.""" 

2 

3from argparse import ArgumentParser 

4from pathlib import Path 

5from mcp_chatkit_widget.rendering import render_widget_definition 

6from mcp_chatkit_widget.server import ( 

7 generate_widget_tools, 

8 register_widget_tools, 

9 server, 

10) 

11from mcp_chatkit_widget.widget_loader import load_widget, load_widgets 

12 

13 

14def main() -> None: # pragma: no cover 

15 """Start the MCP server.""" 

16 parser = ArgumentParser(description="MCP ChatKit widget server") 

17 parser.add_argument( 

18 "--widgets-dir", 

19 type=Path, 

20 required=True, 

21 help="Path to the curated widgets directory that contains .widget files (e.g., https://github.com/ShaojieJiang/mcp-chatkit-widget/tree/main/examples/widgets)", 

22 ) 

23 args, _ = parser.parse_known_args() 

24 

25 register_widget_tools(args.widgets_dir) 

26 server.run() 

27 

28 

29__all__ = [ 

30 "generate_widget_tools", 

31 "load_widget", 

32 "load_widgets", 

33 "render_widget_definition", 

34 "register_widget_tools", 

35 "server", 

36]