Skip to content

Commit 2992f03

Browse files
feat(api): Add connectors support for MCP tool
1 parent 9740abd commit 2992f03

File tree

2 files changed

+79
-16
lines changed

2 files changed

+79
-16
lines changed

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 119
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-4bcdfe525558e67a09b32dec7a573e87b94bab47db3951eb4a86a4dafb60296c.yml
3-
openapi_spec_hash: 49e7e46bfe9f61b7b7a60e36840c0cd7
4-
config_hash: e4514526ae01126a61f9b6c14a351737
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/openai%2Fopenai-ddbdf9343316047e8a773c54fb24e4a8d225955e202a1888fde6f9c8898ebf98.yml
3+
openapi_spec_hash: 9802f6dd381558466c897f6e387e06ca
4+
config_hash: fe0ea26680ac2075a6cd66416aefe7db

src/resources/responses/responses.ts

Lines changed: 76 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4645,11 +4645,6 @@ export namespace Tool {
46454645
*/
46464646
server_label: string;
46474647

4648-
/**
4649-
* The URL for the MCP server.
4650-
*/
4651-
server_url: string;
4652-
46534648
/**
46544649
* The type of the MCP tool. Always `mcp`.
46554650
*/
@@ -4658,7 +4653,41 @@ export namespace Tool {
46584653
/**
46594654
* List of allowed tool names or a filter object.
46604655
*/
4661-
allowed_tools?: Array<string> | Mcp.McpAllowedToolsFilter | null;
4656+
allowed_tools?: Array<string> | Mcp.McpToolFilter | null;
4657+
4658+
/**
4659+
* An OAuth access token that can be used with a remote MCP server, either with a
4660+
* custom MCP server URL or a service connector. Your application must handle the
4661+
* OAuth authorization flow and provide the token here.
4662+
*/
4663+
authorization?: string;
4664+
4665+
/**
4666+
* Identifier for service connectors, like those available in ChatGPT. One of
4667+
* `server_url` or `connector_id` must be provided. Learn more about service
4668+
* connectors
4669+
* [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).
4670+
*
4671+
* Currently supported `connector_id` values are:
4672+
*
4673+
* - Dropbox: `connector_dropbox`
4674+
* - Gmail: `connector_gmail`
4675+
* - Google Calendar: `connector_googlecalendar`
4676+
* - Google Drive: `connector_googledrive`
4677+
* - Microsoft Teams: `connector_microsoftteams`
4678+
* - Outlook Calendar: `connector_outlookcalendar`
4679+
* - Outlook Email: `connector_outlookemail`
4680+
* - SharePoint: `connector_sharepoint`
4681+
*/
4682+
connector_id?:
4683+
| 'connector_dropbox'
4684+
| 'connector_gmail'
4685+
| 'connector_googlecalendar'
4686+
| 'connector_googledrive'
4687+
| 'connector_microsoftteams'
4688+
| 'connector_outlookcalendar'
4689+
| 'connector_outlookemail'
4690+
| 'connector_sharepoint';
46624691

46634692
/**
46644693
* Optional HTTP headers to send to the MCP server. Use for authentication or other
@@ -4675,48 +4704,82 @@ export namespace Tool {
46754704
* Optional description of the MCP server, used to provide more context.
46764705
*/
46774706
server_description?: string;
4707+
4708+
/**
4709+
* The URL for the MCP server. One of `server_url` or `connector_id` must be
4710+
* provided.
4711+
*/
4712+
server_url?: string;
46784713
}
46794714

46804715
export namespace Mcp {
46814716
/**
46824717
* A filter object to specify which tools are allowed.
46834718
*/
4684-
export interface McpAllowedToolsFilter {
4719+
export interface McpToolFilter {
4720+
/**
4721+
* Indicates whether or not a tool modifies data or is read-only. If an MCP server
4722+
* is
4723+
* [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
4724+
* it will match this filter.
4725+
*/
4726+
read_only?: boolean;
4727+
46854728
/**
46864729
* List of allowed tool names.
46874730
*/
46884731
tool_names?: Array<string>;
46894732
}
46904733

4734+
/**
4735+
* Specify which of the MCP server's tools require approval. Can be `always`,
4736+
* `never`, or a filter object associated with tools that require approval.
4737+
*/
46914738
export interface McpToolApprovalFilter {
46924739
/**
4693-
* A list of tools that always require approval.
4740+
* A filter object to specify which tools are allowed.
46944741
*/
46954742
always?: McpToolApprovalFilter.Always;
46964743

46974744
/**
4698-
* A list of tools that never require approval.
4745+
* A filter object to specify which tools are allowed.
46994746
*/
47004747
never?: McpToolApprovalFilter.Never;
47014748
}
47024749

47034750
export namespace McpToolApprovalFilter {
47044751
/**
4705-
* A list of tools that always require approval.
4752+
* A filter object to specify which tools are allowed.
47064753
*/
47074754
export interface Always {
47084755
/**
4709-
* List of tools that require approval.
4756+
* Indicates whether or not a tool modifies data or is read-only. If an MCP server
4757+
* is
4758+
* [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
4759+
* it will match this filter.
4760+
*/
4761+
read_only?: boolean;
4762+
4763+
/**
4764+
* List of allowed tool names.
47104765
*/
47114766
tool_names?: Array<string>;
47124767
}
47134768

47144769
/**
4715-
* A list of tools that never require approval.
4770+
* A filter object to specify which tools are allowed.
47164771
*/
47174772
export interface Never {
47184773
/**
4719-
* List of tools that do not require approval.
4774+
* Indicates whether or not a tool modifies data or is read-only. If an MCP server
4775+
* is
4776+
* [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
4777+
* it will match this filter.
4778+
*/
4779+
read_only?: boolean;
4780+
4781+
/**
4782+
* List of allowed tool names.
47204783
*/
47214784
tool_names?: Array<string>;
47224785
}

0 commit comments

Comments
 (0)