Skip to content

Commit 1e866f8

Browse files
fix(mcp): return tool execution error on api error
1 parent 6269318 commit 1e866f8

39 files changed

+95
-46
lines changed

packages/mcp-server/src/tools/accounts/origins/create-accounts-origins.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
import { Metadata, asTextContentResult } from '@imagekit/api-mcp/tools/types';
3+
import { Metadata, asErrorResult, asTextContentResult } from '@imagekit/api-mcp/tools/types';
44

55
import { Tool } from '@modelcontextprotocol/sdk/types.js';
66
import ImageKit from '@imagekit/nodejs';
@@ -312,7 +312,14 @@ export const tool: Tool = {
312312

313313
export const handler = async (client: ImageKit, args: Record<string, unknown> | undefined) => {
314314
const body = args as any;
315-
return asTextContentResult(await client.accounts.origins.create(body));
315+
try {
316+
return asTextContentResult(await client.accounts.origins.create(body));
317+
} catch (error) {
318+
if (error instanceof ImageKit.APIError) {
319+
return asErrorResult(error.message);
320+
}
321+
throw error;
322+
}
316323
};
317324

318325
export default { metadata, tool, handler };

packages/mcp-server/src/tools/accounts/origins/get-accounts-origins.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
import { Metadata, asTextContentResult } from '@imagekit/api-mcp/tools/types';
3+
import { Metadata, asErrorResult, asTextContentResult } from '@imagekit/api-mcp/tools/types';
44

55
import { Tool } from '@modelcontextprotocol/sdk/types.js';
66
import ImageKit from '@imagekit/nodejs';
@@ -35,7 +35,14 @@ export const tool: Tool = {
3535

3636
export const handler = async (client: ImageKit, args: Record<string, unknown> | undefined) => {
3737
const { id, ...body } = args as any;
38-
return asTextContentResult(await client.accounts.origins.get(id));
38+
try {
39+
return asTextContentResult(await client.accounts.origins.get(id));
40+
} catch (error) {
41+
if (error instanceof ImageKit.APIError) {
42+
return asErrorResult(error.message);
43+
}
44+
throw error;
45+
}
3946
};
4047

4148
export default { metadata, tool, handler };

packages/mcp-server/src/tools/accounts/origins/list-accounts-origins.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
import { Metadata, asTextContentResult } from '@imagekit/api-mcp/tools/types';
3+
import { Metadata, asErrorResult, asTextContentResult } from '@imagekit/api-mcp/tools/types';
44

55
import { Tool } from '@modelcontextprotocol/sdk/types.js';
66
import ImageKit from '@imagekit/nodejs';
@@ -29,7 +29,14 @@ export const tool: Tool = {
2929
};
3030

3131
export const handler = async (client: ImageKit, args: Record<string, unknown> | undefined) => {
32-
return asTextContentResult(await client.accounts.origins.list());
32+
try {
33+
return asTextContentResult(await client.accounts.origins.list());
34+
} catch (error) {
35+
if (error instanceof ImageKit.APIError) {
36+
return asErrorResult(error.message);
37+
}
38+
throw error;
39+
}
3340
};
3441

3542
export default { metadata, tool, handler };

packages/mcp-server/src/tools/accounts/origins/update-accounts-origins.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
import { Metadata, asTextContentResult } from '@imagekit/api-mcp/tools/types';
3+
import { Metadata, asErrorResult, asTextContentResult } from '@imagekit/api-mcp/tools/types';
44

55
import { Tool } from '@modelcontextprotocol/sdk/types.js';
66
import ImageKit from '@imagekit/nodejs';
@@ -354,7 +354,14 @@ export const tool: Tool = {
354354

355355
export const handler = async (client: ImageKit, args: Record<string, unknown> | undefined) => {
356356
const { id, ...body } = args as any;
357-
return asTextContentResult(await client.accounts.origins.update(id, body));
357+
try {
358+
return asTextContentResult(await client.accounts.origins.update(id, body));
359+
} catch (error) {
360+
if (error instanceof ImageKit.APIError) {
361+
return asErrorResult(error.message);
362+
}
363+
throw error;
364+
}
358365
};
359366

360367
export default { metadata, tool, handler };

packages/mcp-server/src/tools/accounts/url-endpoints/create-accounts-url-endpoints.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ export const handler = async (client: ImageKit, args: Record<string, unknown> |
100100
try {
101101
return asTextContentResult(await maybeFilter(jq_filter, await client.accounts.urlEndpoints.create(body)));
102102
} catch (error) {
103-
if (isJqError(error)) {
103+
if (error instanceof ImageKit.APIError || isJqError(error)) {
104104
return asErrorResult(error.message);
105105
}
106106
throw error;

packages/mcp-server/src/tools/accounts/url-endpoints/get-accounts-url-endpoints.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export const handler = async (client: ImageKit, args: Record<string, unknown> |
4646
try {
4747
return asTextContentResult(await maybeFilter(jq_filter, await client.accounts.urlEndpoints.get(id)));
4848
} catch (error) {
49-
if (isJqError(error)) {
49+
if (error instanceof ImageKit.APIError || isJqError(error)) {
5050
return asErrorResult(error.message);
5151
}
5252
throw error;

packages/mcp-server/src/tools/accounts/url-endpoints/list-accounts-url-endpoints.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export const handler = async (client: ImageKit, args: Record<string, unknown> |
4141
try {
4242
return asTextContentResult(await maybeFilter(jq_filter, await client.accounts.urlEndpoints.list()));
4343
} catch (error) {
44-
if (isJqError(error)) {
44+
if (error instanceof ImageKit.APIError || isJqError(error)) {
4545
return asErrorResult(error.message);
4646
}
4747
throw error;

packages/mcp-server/src/tools/accounts/url-endpoints/update-accounts-url-endpoints.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ export const handler = async (client: ImageKit, args: Record<string, unknown> |
109109
await maybeFilter(jq_filter, await client.accounts.urlEndpoints.update(id, body)),
110110
);
111111
} catch (error) {
112-
if (isJqError(error)) {
112+
if (error instanceof ImageKit.APIError || isJqError(error)) {
113113
return asErrorResult(error.message);
114114
}
115115
throw error;

packages/mcp-server/src/tools/accounts/usage/get-accounts-usage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export const handler = async (client: ImageKit, args: Record<string, unknown> |
5353
try {
5454
return asTextContentResult(await maybeFilter(jq_filter, await client.accounts.usage.get(body)));
5555
} catch (error) {
56-
if (isJqError(error)) {
56+
if (error instanceof ImageKit.APIError || isJqError(error)) {
5757
return asErrorResult(error.message);
5858
}
5959
throw error;

packages/mcp-server/src/tools/assets/list-assets.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ export const handler = async (client: ImageKit, args: Record<string, unknown> |
9191
try {
9292
return asTextContentResult(await maybeFilter(jq_filter, await client.assets.list(body)));
9393
} catch (error) {
94-
if (isJqError(error)) {
94+
if (error instanceof ImageKit.APIError || isJqError(error)) {
9595
return asErrorResult(error.message);
9696
}
9797
throw error;

0 commit comments

Comments
 (0)