Skip to content

Commit 9f1213b

Browse files
fix: replace method_exists with instanceof for message ID extraction
1 parent a29c126 commit 9f1213b

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/JsonRpc/Handler.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
use Mcp\Schema\Implementation;
2424
use Mcp\Schema\JsonRpc\Error;
2525
use Mcp\Schema\JsonRpc\HasMethodInterface;
26+
use Mcp\Schema\JsonRpc\Request;
2627
use Mcp\Schema\JsonRpc\Response;
2728
use Mcp\Schema\Request\InitializeRequest;
2829
use Mcp\Server\MethodHandlerInterface;
@@ -158,11 +159,9 @@ public function process(string $input, ?Uuid $sessionId): iterable
158159
}
159160

160161
foreach ($messages as $message) {
161-
$messageId = method_exists($message, 'getId') ? $message->getId() : 0;
162-
163162
if ($message instanceof InvalidInputMessageException) {
164163
$this->logger->warning('Failed to create message.', ['exception' => $message]);
165-
$error = Error::forInvalidRequest($message->getMessage(), $messageId);
164+
$error = Error::forInvalidRequest($message->getMessage());
166165
yield [$this->encodeResponse($error), []];
167166
continue;
168167
}
@@ -171,6 +170,8 @@ public function process(string $input, ?Uuid $sessionId): iterable
171170
'method' => $message->getMethod(),
172171
]);
173172

173+
$messageId = $message instanceof Request ? $message->getId() : 0;
174+
174175
try {
175176
$response = $this->handle($message, $session);
176177
yield [$this->encodeResponse($response), ['session_id' => $session->getId()]];

0 commit comments

Comments
 (0)