Skip to content

Commit 4f7042a

Browse files
committed
fix (mcp-server): pass original context to createErrorCapturingHandler
1 parent cdb920b commit 4f7042a

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

packages/core/src/integrations/mcp-server/handlers.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,14 @@ function createWrappedHandler(originalHandler: MCPHandler, methodName: keyof MCP
3737
const extraHandlerData = findExtraHandlerData(handlerArgs);
3838

3939
return associateContextWithRequestSpan(extraHandlerData, () => {
40-
return createErrorCapturingHandler(originalHandler, methodName, handlerName, handlerArgs, extraHandlerData);
40+
return createErrorCapturingHandler.call(
41+
this,
42+
originalHandler,
43+
methodName,
44+
handlerName,
45+
handlerArgs,
46+
extraHandlerData,
47+
);
4148
});
4249
} catch (error) {
4350
DEBUG_BUILD && logger.warn('MCP handler wrapping failed:', error);
@@ -50,14 +57,15 @@ function createWrappedHandler(originalHandler: MCPHandler, methodName: keyof MCP
5057
* Creates a handler that captures execution errors for Sentry
5158
*/
5259
function createErrorCapturingHandler(
60+
this: MCPServerInstance,
5361
originalHandler: MCPHandler,
5462
methodName: keyof MCPServerInstance,
5563
handlerName: string,
5664
handlerArgs: unknown[],
5765
extraHandlerData?: HandlerExtraData,
5866
): unknown {
5967
try {
60-
const result = originalHandler.apply(originalHandler, handlerArgs);
68+
const result = originalHandler.apply(this, handlerArgs);
6169

6270
// Handle both sync and async handlers
6371
if (result && typeof result === 'object' && 'then' in result) {

0 commit comments

Comments
 (0)