File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111from .response import Response
1212from .server import Server
1313from .tool import Tool
14+ from .providers .mcp_provider import McpProvider
1415
1516__all__ = [
1617 "Argument" ,
1718 "JsonRpcRequest" ,
19+ "McpProvider" ,
1820 "Prompt" ,
1921 "Resource" ,
2022 "Response" ,
Original file line number Diff line number Diff line change 1+ from fastapi_startkit .providers import Provider
2+
3+
4+ class McpProvider (Provider ):
5+ """Provider that bootstraps the MCP component for fastapi-startkit.
6+
7+ Register it alongside ``FastAPIProvider`` to make MCP available in
8+ your application::
9+
10+ app = Application(providers=[FastAPIProvider, McpProvider])
11+ """
12+
13+ provider_key = "mcp"
14+
15+ def register (self ) -> None :
16+ """Register MCP bindings into the container."""
17+
18+ def boot (self ) -> None :
19+ """Boot the MCP component."""
Original file line number Diff line number Diff line change 1+ """Tests for McpProvider."""
2+
3+ from fastapi_startkit .mcp import McpProvider
4+ from fastapi_startkit .providers import Provider
5+
6+
7+ def test_mcp_provider_is_a_provider ():
8+ assert issubclass (McpProvider , Provider )
9+
10+
11+ def test_mcp_provider_key ():
12+ assert McpProvider .provider_key == "mcp"
13+
14+
15+ def test_register_is_callable ():
16+ # Should not raise
17+ class FakeApp :
18+ pass
19+
20+ provider = McpProvider (FakeApp ())
21+ provider .register ()
22+
23+
24+ def test_boot_is_callable ():
25+ class FakeApp :
26+ pass
27+
28+ provider = McpProvider (FakeApp ())
29+ provider .boot ()
You can’t perform that action at this time.
0 commit comments