22
33namespace Kirschbaum \Loop \Http \Controllers ;
44
5+ use Illuminate \Http \JsonResponse ;
56use Illuminate \Http \Request ;
67use Illuminate \Http \Response ;
7- use Kirschbaum \Loop \McpHandler ;
8- use Illuminate \Http \JsonResponse ;
98use Illuminate \Routing \Controller ;
9+ use Kirschbaum \Loop \McpHandler ;
1010use Kirschbaum \Loop \Services \SseService ;
1111use Symfony \Component \HttpFoundation \StreamedResponse ;
1212
1313class McpController extends Controller
1414{
15- public function __construct (protected McpHandler $ mcpHandler , protected SseService $ sseService )
16- {
17- }
15+ public function __construct (protected McpHandler $ mcpHandler , protected SseService $ sseService ) {}
1816
1917 /**
2018 * Handle MCP requests.
@@ -59,7 +57,8 @@ public function __invoke(Request $request): JsonResponse|StreamedResponse|Respon
5957 *
6058 * @param array<array-key, mixed> $messages JSON-RPC messages from the client
6159 */
62- protected function handlePostSseResponse (array $ messages ): StreamedResponse {
60+ protected function handlePostSseResponse (array $ messages ): StreamedResponse
61+ {
6362 $ response = $ this ->sseService ->createPostSseResponse (
6463 $ messages ,
6564 fn ($ message ) => $ this ->mcpHandler ->handle ($ message ),
@@ -83,10 +82,6 @@ protected function handlePostJsonResponse(array $messages): JsonResponse
8382 /**
8483 * Handle GET requests for backwards compatibility with older clients
8584 * expecting an SSE stream for server-initiated messages.
86- *
87- * @param \Illuminate\Http\Request $request
88- *
89- * @return \Symfony\Component\HttpFoundation\StreamedResponse|\Illuminate\Http\JsonResponse|\Illuminate\Http\Response
9085 */
9186 protected function handleGetRequest (Request $ request ): StreamedResponse |JsonResponse |Response
9287 {
@@ -115,7 +110,7 @@ protected function handleGetRequest(Request $request): StreamedResponse|JsonResp
115110 // The event name 'endpoint' is a placeholder; adjust if old clients expect a different name.
116111 echo 'event: endpoint
117112 ' ;
118- echo 'data: ' . json_encode ($ endpointEventData ) . '
113+ echo 'data: ' . json_encode ($ endpointEventData ). '
119114
120115 ' ;
121116 flush ();
@@ -172,8 +167,8 @@ protected function containsJsonRpcRequests($input): bool
172167 /**
173168 * Check if the client prefers JSON over SSE.
174169 *
175- * @param mixed $acceptsJson
176- * @param mixed $acceptsEventStream
170+ * @param mixed $acceptsJson
171+ * @param mixed $acceptsEventStream
177172 */
178173 protected function clientPrefersJson ($ acceptsJson , $ acceptsEventStream ): bool
179174 {
@@ -183,7 +178,7 @@ protected function clientPrefersJson($acceptsJson, $acceptsEventStream): bool
183178 /**
184179 * Check if an item is a JSON-RPC request.
185180 *
186- * @param mixed $item
181+ * @param mixed $item
187182 */
188183 protected function isJsonRpcRequest ($ item ): bool
189184 {
0 commit comments