Skip to content

Commit 1d800ca

Browse files
fix(mcp): return tool execution error on api error
1 parent 9a7b6e8 commit 1d800ca

File tree

46 files changed

+70
-49
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+70
-49
lines changed

packages/mcp-server/src/tools/access-tokens/create-access-tokens.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export const handler = async (client: Finch, args: Record<string, unknown> | und
5555
try {
5656
return asTextContentResult(await maybeFilter(jq_filter, await client.accessTokens.create(body)));
5757
} catch (error) {
58-
if (isJqError(error)) {
58+
if (error instanceof Finch.APIError || isJqError(error)) {
5959
return asErrorResult(error.message);
6060
}
6161
throw error;

packages/mcp-server/src/tools/account/disconnect-account.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export const handler = async (client: Finch, args: Record<string, unknown> | und
3939
try {
4040
return asTextContentResult(await maybeFilter(jq_filter, await client.account.disconnect()));
4141
} catch (error) {
42-
if (isJqError(error)) {
42+
if (error instanceof Finch.APIError || isJqError(error)) {
4343
return asErrorResult(error.message);
4444
}
4545
throw error;

packages/mcp-server/src/tools/account/introspect-account.ts

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

packages/mcp-server/src/tools/connect/sessions/new-connect-sessions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ export const handler = async (client: Finch, args: Record<string, unknown> | und
105105
try {
106106
return asTextContentResult(await maybeFilter(jq_filter, await client.connect.sessions.new(body)));
107107
} catch (error) {
108-
if (isJqError(error)) {
108+
if (error instanceof Finch.APIError || isJqError(error)) {
109109
return asErrorResult(error.message);
110110
}
111111
throw error;

packages/mcp-server/src/tools/connect/sessions/reauthenticate-connect-sessions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ export const handler = async (client: Finch, args: Record<string, unknown> | und
7373
await maybeFilter(jq_filter, await client.connect.sessions.reauthenticate(body)),
7474
);
7575
} catch (error) {
76-
if (isJqError(error)) {
76+
if (error instanceof Finch.APIError || isJqError(error)) {
7777
return asErrorResult(error.message);
7878
}
7979
throw error;

packages/mcp-server/src/tools/hris/benefits/create-hris-benefits.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ export const handler = async (client: Finch, args: Record<string, unknown> | und
119119
try {
120120
return asTextContentResult(await maybeFilter(jq_filter, await client.hris.benefits.create(body)));
121121
} catch (error) {
122-
if (isJqError(error)) {
122+
if (error instanceof Finch.APIError || isJqError(error)) {
123123
return asErrorResult(error.message);
124124
}
125125
throw error;

packages/mcp-server/src/tools/hris/benefits/individuals/enroll-many-benefits-hris-individuals.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ export const handler = async (client: Finch, args: Record<string, unknown> | und
136136
await maybeFilter(jq_filter, await client.hris.benefits.individuals.enrollMany(benefit_id, body)),
137137
);
138138
} catch (error) {
139-
if (isJqError(error)) {
139+
if (error instanceof Finch.APIError || isJqError(error)) {
140140
return asErrorResult(error.message);
141141
}
142142
throw error;

packages/mcp-server/src/tools/hris/benefits/individuals/enrolled-ids-benefits-hris-individuals.ts

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

packages/mcp-server/src/tools/hris/benefits/individuals/retrieve-many-benefits-benefits-hris-individuals.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export const handler = async (client: Finch, args: Record<string, unknown> | und
5757
try {
5858
return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
5959
} catch (error) {
60-
if (isJqError(error)) {
60+
if (error instanceof Finch.APIError || isJqError(error)) {
6161
return asErrorResult(error.message);
6262
}
6363
throw error;

packages/mcp-server/src/tools/hris/benefits/individuals/unenroll-many-benefits-hris-individuals.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ export const handler = async (client: Finch, args: Record<string, unknown> | und
6060
await maybeFilter(jq_filter, await client.hris.benefits.individuals.unenrollMany(benefit_id, body)),
6161
);
6262
} catch (error) {
63-
if (isJqError(error)) {
63+
if (error instanceof Finch.APIError || isJqError(error)) {
6464
return asErrorResult(error.message);
6565
}
6666
throw error;

0 commit comments

Comments
 (0)