Class: OpenAI::Models::Beta::BetaTool::Mcp

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/openai/models/beta/beta_tool.rb

Defined Under Namespace

Modules: AllowedCaller, AllowedTools, ConnectorID, RequireApproval

Instance Attribute Summary collapse

Class Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, #initialize, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

This class inherits a constructor from OpenAI::Internal::Type::BaseModel

Instance Attribute Details

#allowed_callersArray<Symbol, OpenAI::Models::Beta::BetaTool::Mcp::AllowedCaller>?

The tool invocation context(s).



78
79
80
# File 'lib/openai/models/beta/beta_tool.rb', line 78

optional :allowed_callers,
-> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Beta::BetaTool::Mcp::AllowedCaller] },
nil?: true

#allowed_toolsArray<String>, ...

List of allowed tool names or a filter object.



86
# File 'lib/openai/models/beta/beta_tool.rb', line 86

optional :allowed_tools, union: -> { OpenAI::Beta::BetaTool::Mcp::AllowedTools }, nil?: true

#authorizationString?

An OAuth access token that can be used with a remote MCP server, either with a custom MCP server URL or a service connector. Your application must handle the OAuth authorization flow and provide the token here.

Returns:

  • (String, nil)


94
# File 'lib/openai/models/beta/beta_tool.rb', line 94

optional :authorization, String

#connector_idSymbol, ...

Identifier for service connectors, like those available in ChatGPT. One of server_url, connector_id, or tunnel_id must be provided. Learn more about service connectors here.

Currently supported connector_id values are:

  • Dropbox: connector_dropbox
  • Gmail: connector_gmail
  • Google Calendar: connector_googlecalendar
  • Google Drive: connector_googledrive
  • Microsoft Teams: connector_microsoftteams
  • Outlook Calendar: connector_outlookcalendar
  • Outlook Email: connector_outlookemail
  • SharePoint: connector_sharepoint


114
# File 'lib/openai/models/beta/beta_tool.rb', line 114

optional :connector_id, enum: -> { OpenAI::Beta::BetaTool::Mcp::ConnectorID }

#defer_loadingBoolean?

Whether this MCP tool is deferred and discovered via tool search.

Returns:



120
# File 'lib/openai/models/beta/beta_tool.rb', line 120

optional :defer_loading, OpenAI::Internal::Type::Boolean

#headersHash{Symbol=>String}?

Optional HTTP headers to send to the MCP server. Use for authentication or other purposes.

Returns:

  • (Hash{Symbol=>String}, nil)


127
# File 'lib/openai/models/beta/beta_tool.rb', line 127

optional :headers, OpenAI::Internal::Type::HashOf[String], nil?: true

#require_approvalOpenAI::Models::Beta::BetaTool::Mcp::RequireApproval::McpToolApprovalFilter, ...

Specify which of the MCP server's tools require approval.



133
# File 'lib/openai/models/beta/beta_tool.rb', line 133

optional :require_approval, union: -> { OpenAI::Beta::BetaTool::Mcp::RequireApproval }, nil?: true

#server_descriptionString?

Optional description of the MCP server, used to provide more context.

Returns:

  • (String, nil)


139
# File 'lib/openai/models/beta/beta_tool.rb', line 139

optional :server_description, String

#server_labelString

A label for this MCP server, used to identify it in tool calls.

Returns:

  • (String)


66
# File 'lib/openai/models/beta/beta_tool.rb', line 66

required :server_label, String

#server_urlString?

The URL for the MCP server. One of server_url, connector_id, or tunnel_id must be provided.

Returns:

  • (String, nil)


146
# File 'lib/openai/models/beta/beta_tool.rb', line 146

optional :server_url, String

#tunnel_idString?

The Secure MCP Tunnel ID to use instead of a direct server URL. One of server_url, connector_id, or tunnel_id must be provided.

Returns:

  • (String, nil)


153
# File 'lib/openai/models/beta/beta_tool.rb', line 153

optional :tunnel_id, String

#typeSymbol, :mcp

The type of the MCP tool. Always mcp.

Returns:

  • (Symbol, :mcp)


72
# File 'lib/openai/models/beta/beta_tool.rb', line 72

required :type, const: :mcp

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/openai/models/beta/beta_tool.rb', line 193