Skip to content

Commit 9e85c0d

Browse files
release: 6.33.0 (#623)
* fix(mcp): support jq filtering on cloudflare workers * chore(mcp): rework imports in tools * chore(mcp): formatting * feat(api): api update * codegen metadata * fix(mcp): include required section for top-level properties and support naming transformations * codegen metadata * codegen metadata * feat(api): api update * chore(internal): codegen related update * release: 6.33.0 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent e1c1c88 commit 9e85c0d

File tree

59 files changed

+321
-201
lines changed

Some content is hidden

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

59 files changed

+321
-201
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "6.32.3"
2+
".": "6.33.0"
33
}

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 46
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-f7e741bc6e0175fd96a9db5348092b90a77b0985154c0814bb681ad5dccdf19a.yml
3-
openapi_spec_hash: b348a9ef407a8e91dd770fcb219d4ac5
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-73c284d36c1ed2d9963fc733e421005fad76e559de8efe9baa6511a43dd72668.yml
3+
openapi_spec_hash: 1e58c4445919b71c77e5c7f16bd6fa7d
44
config_hash: 5146b12344dae76238940989dac1e8a0

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## 6.33.0 (2025-07-23)
4+
5+
Full Changelog: [v6.32.3...v6.33.0](https://github.com/Finch-API/finch-api-node/compare/v6.32.3...v6.33.0)
6+
7+
### Features
8+
9+
* **api:** api update ([44a2607](https://github.com/Finch-API/finch-api-node/commit/44a26078e84c965bee4fe6dfa0691031ccc65a42))
10+
* **api:** api update ([c52f01b](https://github.com/Finch-API/finch-api-node/commit/c52f01b0de3340c07294bac7934959da5d399e98))
11+
12+
13+
### Bug Fixes
14+
15+
* **mcp:** include required section for top-level properties and support naming transformations ([81932c7](https://github.com/Finch-API/finch-api-node/commit/81932c754864cea1defc5939355a8d7ed8efca54))
16+
* **mcp:** support jq filtering on cloudflare workers ([f678d75](https://github.com/Finch-API/finch-api-node/commit/f678d75f966bc152fdcc7d19dab40c20f0e4446c))
17+
18+
19+
### Chores
20+
21+
* **internal:** codegen related update ([3687e69](https://github.com/Finch-API/finch-api-node/commit/3687e69a3c9f381d958545c25f4e38de33c87ea6))
22+
* **mcp:** formatting ([040c60f](https://github.com/Finch-API/finch-api-node/commit/040c60fb2766d9a65b7ed56da90a3fc6a06c9de3))
23+
* **mcp:** rework imports in tools ([58349e8](https://github.com/Finch-API/finch-api-node/commit/58349e876bcf5c8d3b35f306455238fa17c31fe7))
24+
325
## 6.32.3 (2025-07-10)
426

527
Full Changelog: [v6.32.2...v6.32.3](https://github.com/Finch-API/finch-api-node/compare/v6.32.2...v6.32.3)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tryfinch/finch-api",
3-
"version": "6.32.3",
3+
"version": "6.33.0",
44
"description": "The official TypeScript library for the Finch API",
55
"author": "Finch <[email protected]>",
66
"types": "dist/index.d.ts",

packages/mcp-server/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tryfinch/finch-api-mcp",
3-
"version": "6.32.3",
3+
"version": "6.33.0",
44
"description": "The official MCP Server for the Finch API",
55
"author": "Finch <[email protected]>",
66
"types": "dist/index.d.ts",
@@ -29,7 +29,7 @@
2929
"dependencies": {
3030
"@tryfinch/finch-api": "file:../../dist/",
3131
"@modelcontextprotocol/sdk": "^1.11.5",
32-
"jq-web": "^0.6.2",
32+
"jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.2/jq-web.tar.gz",
3333
"yargs": "^17.7.2",
3434
"@cloudflare/cabidela": "^0.2.4",
3535
"zod": "^3.25.20",
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
// @ts-nocheck
2+
import initJq from 'jq-web';
3+
14
export async function maybeFilter(args: Record<string, unknown> | undefined, response: any): Promise<any> {
25
const jqFilter = args?.['jq_filter'];
36
if (jqFilter && typeof jqFilter === 'string') {
@@ -7,7 +10,6 @@ export async function maybeFilter(args: Record<string, unknown> | undefined, res
710
}
811
}
912

10-
var jqWeb = require('jq-web');
1113
async function jq(json: any, jqFilter: string) {
12-
return (await jqWeb).json(json, jqFilter);
14+
return (await initJq).json(json, jqFilter);
1315
}

packages/mcp-server/src/server.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,9 @@ export { endpoints } from './tools';
2626
export const server = new McpServer(
2727
{
2828
name: 'tryfinch_finch_api_api',
29-
version: '6.32.3',
30-
},
31-
{
32-
capabilities: {
33-
tools: {},
34-
},
29+
version: '6.33.0',
3530
},
31+
{ capabilities: { tools: {} } },
3632
);
3733

3834
/**

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

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

33
import { maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4-
import { asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
4+
import { Metadata, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
55

66
import { Tool } from '@modelcontextprotocol/sdk/types.js';
7-
import type { Metadata } from '../';
87
import Finch from '@tryfinch/finch-api';
98

109
export const metadata: Metadata = {
@@ -42,7 +41,9 @@ export const tool: Tool = {
4241
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
4342
},
4443
},
44+
required: ['code'],
4545
},
46+
annotations: {},
4647
};
4748

4849
export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {

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

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

33
import { maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4-
import { asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
4+
import { Metadata, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
55

66
import { Tool } from '@modelcontextprotocol/sdk/types.js';
7-
import type { Metadata } from '../';
87
import Finch from '@tryfinch/finch-api';
98

109
export const metadata: Metadata = {
@@ -30,7 +29,9 @@ export const tool: Tool = {
3029
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
3130
},
3231
},
32+
required: [],
3333
},
34+
annotations: {},
3435
};
3536

3637
export const handler = async (client: Finch, args: Record<string, unknown> | undefined) => {

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

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

33
import { maybeFilter } from '@tryfinch/finch-api-mcp/filtering';
4-
import { asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
4+
import { Metadata, asTextContentResult } from '@tryfinch/finch-api-mcp/tools/types';
55

66
import { Tool } from '@modelcontextprotocol/sdk/types.js';
7-
import type { Metadata } from '../';
87
import Finch from '@tryfinch/finch-api';
98

109
export const metadata: Metadata = {
@@ -19,7 +18,7 @@ export const metadata: Metadata = {
1918
export const tool: Tool = {
2019
name: 'introspect_account',
2120
description:
22-
"When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRead account information associated with an `access_token`\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/introspection',\n $defs: {\n introspection: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The Finch UUID of the token being introspected.'\n },\n account_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate tokens with a Finch connection instead of this account ID.'\n },\n authentication_methods: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n connection_status: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n $ref: '#/$defs/connection_status_type'\n }\n },\n required: []\n },\n products: {\n type: 'array',\n description: 'An array of the authorized products associated with the `access_token`.',\n items: {\n type: 'string'\n }\n },\n type: {\n type: 'string',\n description: 'The type of authentication method.',\n enum: [ 'assisted',\n 'credential',\n 'api_token',\n 'api_credential',\n 'oauth'\n ]\n }\n },\n required: []\n }\n },\n client_id: {\n type: 'string',\n description: 'The client ID of the application associated with the `access_token`.'\n },\n client_type: {\n type: 'string',\n title: 'ClientType',\n description: 'The type of application associated with a token.',\n enum: [ 'production',\n 'development',\n 'sandbox'\n ]\n },\n company_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate tokens with a Finch connection instead of this company ID.'\n },\n connection_id: {\n type: 'string',\n description: 'The Finch UUID of the connection associated with the `access_token`.'\n },\n connection_status: {\n type: 'object',\n properties: {\n last_successful_sync: {\n type: 'string',\n description: 'The datetime when the connection was last successfully synced.',\n format: 'date-time'\n },\n message: {\n type: 'string'\n },\n status: {\n $ref: '#/$defs/connection_status_type'\n }\n },\n required: []\n },\n connection_type: {\n type: 'string',\n title: 'ConnectionType',\n description: 'The type of the connection associated with the token.\\n- `provider` - connection to an external provider\\n- `finch` - finch-generated data.',\n enum: [ 'provider',\n 'finch'\n ]\n },\n customer_email: {\n type: 'string',\n description: 'The email of your customer you provided to Finch when a connect session was created for this connection.'\n },\n customer_id: {\n type: 'string',\n description: 'The ID of your customer you provided to Finch when a connect session was created for this connection.'\n },\n customer_name: {\n type: 'string',\n description: 'The name of your customer you provided to Finch when a connect session was created for this connection.'\n },\n manual: {\n type: 'boolean',\n description: 'Whether the connection associated with the `access_token` uses the Assisted Connect Flow. (`true` if using Assisted Connect, `false` if connection is automated)'\n },\n payroll_provider_id: {\n type: 'string',\n description: '[DEPRECATED] Use `provider_id` to identify the provider instead of this payroll provider ID.'\n },\n products: {\n type: 'array',\n description: 'An array of the authorized products associated with the `access_token`.',\n items: {\n type: 'string'\n }\n },\n provider_id: {\n type: 'string',\n description: 'The ID of the provider associated with the `access_token`.'\n },\n username: {\n type: 'string',\n description: 'The account username used for login associated with the `access_token`.'\n }\n },\n required: [ 'id',\n 'account_id',\n 'authentication_methods',\n 'client_id',\n 'client_type',\n 'company_id',\n 'connection_id',\n 'connection_status',\n 'connection_type',\n 'customer_email',\n 'customer_id',\n 'customer_name',\n 'manual',\n 'payroll_provider_id',\n 'products',\n 'provider_id',\n 'username'\n ]\n },\n connection_status_type: {\n type: 'string',\n title: 'ConnectionStatus',\n enum: [ 'pending',\n 'processing',\n 'connected',\n 'error_no_account_setup',\n 'error_permissions',\n 'reauth'\n ]\n }\n }\n}\n```",
21+
"When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRead account information associated with an `access_token`\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/introspection',\n $defs: {\n introspection: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'The Finch UUID of the token being introspected.'\n },\n account_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate tokens with a Finch connection instead of this account ID.'\n },\n authentication_methods: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n connection_status: {\n type: 'object',\n properties: {\n message: {\n type: 'string'\n },\n status: {\n $ref: '#/$defs/connection_status_type'\n }\n }\n },\n products: {\n type: 'array',\n description: 'An array of the authorized products associated with the `access_token`.',\n items: {\n type: 'string'\n }\n },\n type: {\n type: 'string',\n description: 'The type of authentication method.',\n enum: [ 'assisted',\n 'credential',\n 'api_token',\n 'api_credential',\n 'oauth'\n ]\n }\n }\n }\n },\n client_id: {\n type: 'string',\n description: 'The client ID of the application associated with the `access_token`.'\n },\n client_type: {\n type: 'string',\n title: 'ClientType',\n description: 'The type of application associated with a token.',\n enum: [ 'production',\n 'development',\n 'sandbox'\n ]\n },\n company_id: {\n type: 'string',\n description: '[DEPRECATED] Use `connection_id` to associate tokens with a Finch connection instead of this company ID.'\n },\n connection_id: {\n type: 'string',\n description: 'The Finch UUID of the connection associated with the `access_token`.'\n },\n connection_status: {\n type: 'object',\n properties: {\n last_successful_sync: {\n type: 'string',\n description: 'The datetime when the connection was last successfully synced.',\n format: 'date-time'\n },\n message: {\n type: 'string'\n },\n status: {\n $ref: '#/$defs/connection_status_type'\n }\n }\n },\n connection_type: {\n type: 'string',\n title: 'ConnectionType',\n description: 'The type of the connection associated with the token.\\n- `provider` - connection to an external provider\\n- `finch` - finch-generated data.',\n enum: [ 'provider',\n 'finch'\n ]\n },\n customer_email: {\n type: 'string',\n description: 'The email of your customer you provided to Finch when a connect session was created for this connection.'\n },\n customer_id: {\n type: 'string',\n description: 'The ID of your customer you provided to Finch when a connect session was created for this connection.'\n },\n customer_name: {\n type: 'string',\n description: 'The name of your customer you provided to Finch when a connect session was created for this connection.'\n },\n manual: {\n type: 'boolean',\n description: 'Whether the connection associated with the `access_token` uses the Assisted Connect Flow. (`true` if using Assisted Connect, `false` if connection is automated)'\n },\n payroll_provider_id: {\n type: 'string',\n description: '[DEPRECATED] Use `provider_id` to identify the provider instead of this payroll provider ID.'\n },\n products: {\n type: 'array',\n description: 'An array of the authorized products associated with the `access_token`.',\n items: {\n type: 'string'\n }\n },\n provider_id: {\n type: 'string',\n description: 'The ID of the provider associated with the `access_token`.'\n },\n username: {\n type: 'string',\n description: 'The account username used for login associated with the `access_token`.'\n }\n },\n required: [ 'id',\n 'account_id',\n 'authentication_methods',\n 'client_id',\n 'client_type',\n 'company_id',\n 'connection_id',\n 'connection_status',\n 'connection_type',\n 'customer_email',\n 'customer_id',\n 'customer_name',\n 'manual',\n 'payroll_provider_id',\n 'products',\n 'provider_id',\n 'username'\n ]\n },\n connection_status_type: {\n type: 'string',\n title: 'ConnectionStatus',\n enum: [ 'pending',\n 'processing',\n 'connected',\n 'error_no_account_setup',\n 'error_permissions',\n 'reauth'\n ]\n }\n }\n}\n```",
2322
inputSchema: {
2423
type: 'object',
2524
properties: {
@@ -30,6 +29,10 @@ export const tool: Tool = {
3029
'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
3130
},
3231
},
32+
required: [],
33+
},
34+
annotations: {
35+
readOnlyHint: true,
3336
},
3437
};
3538

0 commit comments

Comments
 (0)