McpToolRegistrationService class

发现为 OpenAI 代理 SDK 设置格式的 MCP 服务器和列表工具。 使用 listToolServers 提取服务器配置。

构造函数

McpToolRegistrationService(IConfigurationProvider<OpenAIToolingConfiguration>)

构造 McpToolRegistrationService。

方法

addToolServersToAgent(Agent<unknown, "text">, Authorization, string, TurnContext, string)

使用发现的工具和服务器配置注册 MCP 工具服务器和更新代理选项。 调用此选项以基于当前的 MCP 环境启用动态 OpenAI 工具访问。

sendChatHistoryAsync(TurnContext, OpenAIConversationsSession, number, ToolOptions)

将聊天历史记录从 OpenAI 会话发送到 MCP 平台,以便进行实时威胁防护。

此方法使用 getItems() 从提供的 OpenAI 会话中提取消息,将其 ChatHistoryMessage 转换为格式,并将其发送到 MCP 平台。

示例

const session = new OpenAIConversationsSession(sessionOptions);
const result = await service.sendChatHistoryAsync(turnContext, session, 50);
if (result.succeeded) {
  console.log('Chat history sent successfully');
} else {
  console.error('Failed to send chat history:', result.errors);
}
sendChatHistoryMessagesAsync(TurnContext, AgentInputItem[], ToolOptions)

将 OpenAI 消息列表发送到 MCP 平台进行实时威胁防护。

此方法将提供的 AgentInputItem 消息转换为 ChatHistoryMessage 格式并将其发送到 MCP 平台。

示例

const items = await session.getItems();
const result = await service.sendChatHistoryMessagesAsync(turnContext, items);

构造函数详细信息

McpToolRegistrationService(IConfigurationProvider<OpenAIToolingConfiguration>)

构造 McpToolRegistrationService。

new McpToolRegistrationService(configProvider?: IConfigurationProvider<OpenAIToolingConfiguration>)

参数

configProvider

IConfigurationProvider<OpenAIToolingConfiguration>

可选配置提供程序。 如果未指定,则默认为 defaultOpenAIToolingConfigurationProvider。

方法详细信息

addToolServersToAgent(Agent<unknown, "text">, Authorization, string, TurnContext, string)

使用发现的工具和服务器配置注册 MCP 工具服务器和更新代理选项。 调用此选项以基于当前的 MCP 环境启用动态 OpenAI 工具访问。

function addToolServersToAgent(agent: Agent<unknown, "text">, authorization: Authorization, authHandlerName: string, turnContext: TurnContext, authToken: string): Promise<Agent<unknown, "text">>

参数

agent

Agent<unknown, "text">

将向其添加 MCP 服务器的 OpenAI 代理实例。

authorization
Authorization

令牌交换的授权对象。

authHandlerName

string

用于令牌交换的身份验证处理程序的名称。

turnContext
TurnContext

当前请求的 TurnContext。

authToken

string

用于 MCP 服务器访问的可选持有者令牌。

返回

Promise<Agent<unknown, "text">>

已注册 MCP 服务器的已更新代理实例。

sendChatHistoryAsync(TurnContext, OpenAIConversationsSession, number, ToolOptions)

将聊天历史记录从 OpenAI 会话发送到 MCP 平台,以便进行实时威胁防护。

此方法使用 getItems() 从提供的 OpenAI 会话中提取消息,将其 ChatHistoryMessage 转换为格式,并将其发送到 MCP 平台。

示例

const session = new OpenAIConversationsSession(sessionOptions);
const result = await service.sendChatHistoryAsync(turnContext, session, 50);
if (result.succeeded) {
  console.log('Chat history sent successfully');
} else {
  console.error('Failed to send chat history:', result.errors);
}
function sendChatHistoryAsync(turnContext: TurnContext, session: OpenAIConversationsSession, limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>

参数

turnContext
TurnContext

包含聊天信息的轮次上下文。

session
OpenAIConversationsSession

要从中提取消息的 OpenAI 会话实例。

limit

number

要从会话检索的消息数的可选限制。

toolOptions
ToolOptions

自定义的可选工具选项。

返回

Promise<OperationResult>

解析为 OperationResult 的 Promise,指示成功或失败。

sendChatHistoryMessagesAsync(TurnContext, AgentInputItem[], ToolOptions)

将 OpenAI 消息列表发送到 MCP 平台进行实时威胁防护。

此方法将提供的 AgentInputItem 消息转换为 ChatHistoryMessage 格式并将其发送到 MCP 平台。

示例

const items = await session.getItems();
const result = await service.sendChatHistoryMessagesAsync(turnContext, items);
function sendChatHistoryMessagesAsync(turnContext: TurnContext, messages: AgentInputItem[], toolOptions?: ToolOptions): Promise<OperationResult>

参数

turnContext
TurnContext

包含聊天信息的轮次上下文。

messages

AgentInputItem[]

要发送的 AgentInputItem 消息的数组。

toolOptions
ToolOptions

用于自定义的可选 ToolOptions。

返回

Promise<OperationResult>

解析为 OperationResult 的 Promise,指示成功或失败。