McpToolRegistrationService class
Descubra los servidores MCP y las herramientas de lista con formato para LangChain Orchestrator. Usa listToolServers para capturar configuraciones de servidor y getTools para enumerar herramientas.
También proporciona métodos para enviar el historial de chat a la plataforma MCP para el análisis de protección contra amenazas en tiempo real (RTP).
Constructores
| Mcp |
Construya un McpToolRegistrationService. |
Métodos
| add |
Registra los servidores de herramientas mcP y actualiza las opciones del agente con las herramientas detectadas y las configuraciones del servidor. Llame a esta opción para habilitar el acceso dinámico a la herramienta LangChain en función del entorno de MCP actual. |
| send |
Envía el historial de chat de un LangGraph CompiledStateGraph a la plataforma MCP. Esta es la API de nivel más alto y más fácil de usar. Recupera el estado actual del gráfico, extrae mensajes, los convierte en formato ChatHistoryMessage y los envía a la plataforma MCP para la protección contra amenazas en tiempo real. Ejemplo
|
| send |
Recupera mensajes de una instancia de BaseChatMessageHistory y los envía a la plataforma MCP. Use esta API al trabajar con abstracciones de memoria de LangChain (por ejemplo, InMemoryChatMessageHistory, RedisChatMessageHistory, etc.). Ejemplo
|
| send |
Envía una matriz de mensajes LangChain a la plataforma MCP para la protección contra amenazas en tiempo real. Esta es la API de nivel más bajo que acepta matrices BaseMessage sin procesar. Úselo cuando ya haya extraído mensajes o tenga un origen de mensajes personalizado no cubierto por las API de nivel superior. Este método convierte la matriz BaseMessage proporcionada en formato ChatHistoryMessage y las envía a la plataforma MCP. Las matrices vacías se envían as-is para registrar el mensaje de usuario con la plataforma. Ejemplo
|
| send |
Extrae mensajes de un objeto StateSnapshot de LangGraph y los envía a la plataforma MCP. Use esta API cuando ya tenga stateSnapshot (por ejemplo, desde una llamada anterior Ejemplo
|
Detalles del constructor
McpToolRegistrationService(IConfigurationProvider<LangChainToolingConfiguration>)
Construya un McpToolRegistrationService.
new McpToolRegistrationService(configProvider?: IConfigurationProvider<LangChainToolingConfiguration>)
Parámetros
- configProvider
Proveedor de configuración opcional. El valor predeterminado es defaultLangChainToolingConfigurationProvider si no se especifica.
Detalles del método
addToolServersToAgent(ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>, Authorization, string, TurnContext, string)
Registra los servidores de herramientas mcP y actualiza las opciones del agente con las herramientas detectadas y las configuraciones del servidor. Llame a esta opción para habilitar el acceso dinámico a la herramienta LangChain en función del entorno de MCP actual.
function addToolServersToAgent(agent: ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>, authorization: Authorization, authHandlerName: string, turnContext: TurnContext, authToken: string): Promise<ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>>
Parámetros
- agent
-
ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>
Instancia del agente LangChain a la que se agregarán los servidores MCP.
- authorization
- Authorization
Objeto de autorización para el intercambio de tokens.
- authHandlerName
-
string
Nombre del controlador de autenticación que se va a usar para el intercambio de tokens.
- turnContext
- TurnContext
TurnContext de la solicitud actual.
- authToken
-
string
Token de portador opcional para el acceso al servidor MCP.
Devoluciones
Promise<ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>>
Instancia del agente actualizada con servidores MCP registrados.
sendChatHistoryAsync(TurnContext, CompiledStateGraph<unknown, unknown, string, StateDefinition, StateDefinition, StateDefinition, unknown, unknown, unknown>, RunnableConfig<Record<string, any>>, number, ToolOptions)
Envía el historial de chat de un LangGraph CompiledStateGraph a la plataforma MCP.
Esta es la API de nivel más alto y más fácil de usar. Recupera el estado actual del gráfico, extrae mensajes, los convierte en formato ChatHistoryMessage y los envía a la plataforma MCP para la protección contra amenazas en tiempo real.
Ejemplo
const config = { configurable: { thread_id: '1' } };
const result = await service.sendChatHistoryAsync(turnContext, graph, config);
if (result.succeeded) {
console.log('Chat history sent successfully');
}
function sendChatHistoryAsync(turnContext: TurnContext, graph: CompiledStateGraph<unknown, unknown, string, StateDefinition, StateDefinition, StateDefinition, unknown, unknown, unknown>, config: RunnableConfig<Record<string, any>>, limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>
Parámetros
- turnContext
- TurnContext
Contexto de turno que contiene información de conversación.
- graph
-
CompiledStateGraph<unknown, unknown, string, StateDefinition, StateDefinition, StateDefinition, unknown, unknown, unknown>
La instancia de LangGraph CompiledStateGraph. El estado del grafo debe contener una matriz "messages".
- config
-
RunnableConfig<Record<string, any>>
RunnableConfig que contiene thread_id y otra configuración.
- limit
-
number
Límite opcional en el número de mensajes que se van a enviar.
- toolOptions
- ToolOptions
Opciones de herramientas opcionales para la personalización.
Devoluciones
Promise<OperationResult>
Una promesa que se resuelve en un OperationResult que indica que se ha realizado correctamente o no.
sendChatHistoryFromChatHistoryAsync(TurnContext, BaseChatMessageHistory, number, ToolOptions)
Recupera mensajes de una instancia de BaseChatMessageHistory y los envía a la plataforma MCP.
Use esta API al trabajar con abstracciones de memoria de LangChain (por ejemplo, InMemoryChatMessageHistory, RedisChatMessageHistory, etc.).
Ejemplo
const chatHistory = new InMemoryChatMessageHistory();
// ... add messages to history ...
const result = await service.sendChatHistoryFromChatHistoryAsync(turnContext, chatHistory);
function sendChatHistoryFromChatHistoryAsync(turnContext: TurnContext, chatHistory: BaseChatMessageHistory, limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>
Parámetros
- turnContext
- TurnContext
Contexto de turno que contiene información de conversación.
- chatHistory
-
BaseChatMessageHistory
Instancia de BaseChatMessageHistory de la que se van a recuperar mensajes.
- limit
-
number
Límite opcional en el número de mensajes que se van a enviar.
- toolOptions
- ToolOptions
Opciones de herramientas opcionales para la personalización.
Devoluciones
Promise<OperationResult>
Una promesa que se resuelve en un OperationResult que indica que se ha realizado correctamente o no.
sendChatHistoryFromMessagesAsync(TurnContext, BaseMessage<MessageStructure<MessageToolSet>, MessageType>[], number, ToolOptions)
Envía una matriz de mensajes LangChain a la plataforma MCP para la protección contra amenazas en tiempo real.
Esta es la API de nivel más bajo que acepta matrices BaseMessage sin procesar. Úselo cuando ya haya extraído mensajes o tenga un origen de mensajes personalizado no cubierto por las API de nivel superior.
Este método convierte la matriz BaseMessage proporcionada en formato ChatHistoryMessage y las envía a la plataforma MCP. Las matrices vacías se envían as-is para registrar el mensaje de usuario con la plataforma.
Ejemplo
const messages = await messageHistory.getMessages();
const result = await service.sendChatHistoryFromMessagesAsync(turnContext, messages, 50);
if (result.succeeded) {
console.log('Chat history sent successfully');
} else {
console.error('Failed to send chat history:', result.errors);
}
function sendChatHistoryFromMessagesAsync(turnContext: TurnContext, messages: BaseMessage<MessageStructure<MessageToolSet>, MessageType>[], limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>
Parámetros
- turnContext
- TurnContext
Contexto de turno que contiene información de conversación.
- messages
-
BaseMessage<MessageStructure<MessageToolSet>, MessageType>[]
Matriz de objetos BaseMessage de LangChain que se van a enviar.
- limit
-
number
Límite opcional en el número de mensajes que se van a enviar.
- toolOptions
- ToolOptions
Opciones de herramientas opcionales para la personalización.
Devoluciones
Promise<OperationResult>
Una promesa que se resuelve en un OperationResult que indica que se ha realizado correctamente o no.
sendChatHistoryFromStateAsync(TurnContext, StateSnapshot, number, ToolOptions)
Extrae mensajes de un objeto StateSnapshot de LangGraph y los envía a la plataforma MCP.
Use esta API cuando ya tenga stateSnapshot (por ejemplo, desde una llamada anterior graph.getState() ) y quiera evitar volver a capturar el estado.
Ejemplo
const config = { configurable: { thread_id: '1' } };
const stateSnapshot = await graph.getState(config);
const result = await service.sendChatHistoryFromStateAsync(turnContext, stateSnapshot);
function sendChatHistoryFromStateAsync(turnContext: TurnContext, stateSnapshot: StateSnapshot, limit?: number, toolOptions?: ToolOptions): Promise<OperationResult>
Parámetros
- turnContext
- TurnContext
Contexto de turno que contiene información de conversación.
- stateSnapshot
-
StateSnapshot
LangGraph StateSnapshot que contiene el estado del mensaje.
- limit
-
number
Límite opcional en el número de mensajes que se van a enviar.
- toolOptions
- ToolOptions
Opciones de herramientas opcionales para la personalización.
Devoluciones
Promise<OperationResult>
Una promesa que se resuelve en un OperationResult que indica que se ha realizado correctamente o no.