McpToolRegistrationService class
Découvrez les serveurs MCP et les outils de liste mis en forme pour LangChain Orchestrator. Utilise listToolServers pour récupérer les configurations de serveur et getTools pour énumérer les outils.
Fournit également des méthodes pour envoyer l’historique des conversations à la plateforme MCP pour l’analyse rtP (Protection contre les menaces en temps réel).
Constructeurs
| Mcp |
Construisez un McpToolRegistrationService. |
Méthodes
| add |
Inscrit les serveurs d’outils MCP et met à jour les options de l’agent avec les outils découverts et les configurations de serveur. Appelez-le pour activer l’accès dynamique aux outils LangChain en fonction de l’environnement MCP actuel. |
| send |
Envoie l’historique des conversations d’un LangGraph CompiledStateGraph à la plateforme MCP. Il s’agit de l’API la plus haut niveau et la plus simple à utiliser. Il récupère l’état actuel à partir du graphique, extrait les messages, les convertit au format ChatHistoryMessage et les envoie à la plateforme MCP pour la protection contre les menaces en temps réel. Exemple
|
| send |
Récupère les messages d’une instance BaseChatMessageHistory et les envoie à la plateforme MCP. Utilisez cette API lors de l’utilisation des abstractions de mémoire de LangChain (par exemple, InMemoryChatMessageHistory, RedisChatMessageHistory, etc.). Exemple
|
| send |
Envoie un tableau de messages LangChain à la plateforme MCP pour la protection contre les menaces en temps réel. Il s’agit de l’API de niveau le plus bas qui accepte les tableaux BaseMessage bruts. Utilisez cette option lorsque vous avez déjà extrait des messages ou si une source de message personnalisée n’est pas couverte par les API de niveau supérieur. Cette méthode convertit le tableau BaseMessage fourni au format ChatHistoryMessage et les envoie à la plateforme MCP. Les tableaux vides sont envoyés as-is pour inscrire le message utilisateur auprès de la plateforme. Exemple
|
| send |
Extrait les messages d’un LangGraph StateSnapshot et les envoie à la plateforme MCP. Utilisez cette API lorsque vous disposez déjà d’un StateSnapshot (par exemple, à partir d’un appel précédent Exemple
|
Détails du constructeur
McpToolRegistrationService(IConfigurationProvider<LangChainToolingConfiguration>)
Construisez un McpToolRegistrationService.
new McpToolRegistrationService(configProvider?: IConfigurationProvider<LangChainToolingConfiguration>)
Paramètres
- configProvider
Fournisseur de configuration facultatif. La valeur par défaut est defaultLangChainToolingConfigurationProvider si elle n’est pas spécifiée.
Détails de la méthode
addToolServersToAgent(ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>, Authorization, string, TurnContext, string)
Inscrit les serveurs d’outils MCP et met à jour les options de l’agent avec les outils découverts et les configurations de serveur. Appelez-le pour activer l’accès dynamique aux outils LangChain en fonction de l’environnement MCP actuel.
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)[]>>>
Paramètres
- agent
-
ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>
Instance de l’agent LangChain à laquelle les serveurs MCP seront ajoutés.
- authorization
- Authorization
Objet d’autorisation pour l’échange de jetons.
- authHandlerName
-
string
Nom du gestionnaire d’authentification à utiliser pour l’échange de jetons.
- turnContext
- TurnContext
TurnContext de la requête actuelle.
- authToken
-
string
Jeton du porteur facultatif pour l’accès au serveur MCP.
Retours
Promise<ReactAgent<AgentTypeConfig<Record<string, any>, undefined, AnyAnnotationRoot, readonly AgentMiddleware<any, any, any, readonly (ClientTool | ServerTool)[]>[], readonly (ClientTool | ServerTool)[]>>>
Instance de l’agent mise à jour avec des serveurs MCP inscrits.
sendChatHistoryAsync(TurnContext, CompiledStateGraph<unknown, unknown, string, StateDefinition, StateDefinition, StateDefinition, unknown, unknown, unknown>, RunnableConfig<Record<string, any>>, number, ToolOptions)
Envoie l’historique des conversations d’un LangGraph CompiledStateGraph à la plateforme MCP.
Il s’agit de l’API la plus haut niveau et la plus simple à utiliser. Il récupère l’état actuel à partir du graphique, extrait les messages, les convertit au format ChatHistoryMessage et les envoie à la plateforme MCP pour la protection contre les menaces en temps réel.
Exemple
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>
Paramètres
- turnContext
- TurnContext
Contexte de tour contenant des informations de conversation.
- graph
-
CompiledStateGraph<unknown, unknown, string, StateDefinition, StateDefinition, StateDefinition, unknown, unknown, unknown>
Instance LangGraph CompiledStateGraph. L’état du graphique doit contenir un tableau « messages ».
- config
-
RunnableConfig<Record<string, any>>
RunnableConfig contenant thread_id et d’autres configurations.
- limit
-
number
Limite facultative du nombre de messages à envoyer.
- toolOptions
- ToolOptions
Options d’outil facultatives pour la personnalisation.
Retours
Promise<OperationResult>
Résolution d’une promesse sur une opérationResult indiquant la réussite ou l’échec.
sendChatHistoryFromChatHistoryAsync(TurnContext, BaseChatMessageHistory, number, ToolOptions)
Récupère les messages d’une instance BaseChatMessageHistory et les envoie à la plateforme MCP.
Utilisez cette API lors de l’utilisation des abstractions de mémoire de LangChain (par exemple, InMemoryChatMessageHistory, RedisChatMessageHistory, etc.).
Exemple
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>
Paramètres
- turnContext
- TurnContext
Contexte de tour contenant des informations de conversation.
- chatHistory
-
BaseChatMessageHistory
Instance BaseChatMessageHistory à partir de laquelle récupérer des messages.
- limit
-
number
Limite facultative du nombre de messages à envoyer.
- toolOptions
- ToolOptions
Options d’outil facultatives pour la personnalisation.
Retours
Promise<OperationResult>
Résolution d’une promesse sur une opérationResult indiquant la réussite ou l’échec.
sendChatHistoryFromMessagesAsync(TurnContext, BaseMessage<MessageStructure<MessageToolSet>, MessageType>[], number, ToolOptions)
Envoie un tableau de messages LangChain à la plateforme MCP pour la protection contre les menaces en temps réel.
Il s’agit de l’API de niveau le plus bas qui accepte les tableaux BaseMessage bruts. Utilisez cette option lorsque vous avez déjà extrait des messages ou si une source de message personnalisée n’est pas couverte par les API de niveau supérieur.
Cette méthode convertit le tableau BaseMessage fourni au format ChatHistoryMessage et les envoie à la plateforme MCP. Les tableaux vides sont envoyés as-is pour inscrire le message utilisateur auprès de la plateforme.
Exemple
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>
Paramètres
- turnContext
- TurnContext
Contexte de tour contenant des informations de conversation.
- messages
-
BaseMessage<MessageStructure<MessageToolSet>, MessageType>[]
Tableau d’objets LangChain BaseMessage à envoyer.
- limit
-
number
Limite facultative du nombre de messages à envoyer.
- toolOptions
- ToolOptions
Options d’outil facultatives pour la personnalisation.
Retours
Promise<OperationResult>
Résolution d’une promesse sur une opérationResult indiquant la réussite ou l’échec.
sendChatHistoryFromStateAsync(TurnContext, StateSnapshot, number, ToolOptions)
Extrait les messages d’un LangGraph StateSnapshot et les envoie à la plateforme MCP.
Utilisez cette API lorsque vous disposez déjà d’un StateSnapshot (par exemple, à partir d’un appel précédent graph.getState() ) et que vous souhaitez éviter de récupérer l’état à nouveau.
Exemple
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>
Paramètres
- turnContext
- TurnContext
Contexte de tour contenant des informations de conversation.
- stateSnapshot
-
StateSnapshot
État LangGraphSnapshot contenant l’état du message.
- limit
-
number
Limite facultative du nombre de messages à envoyer.
- toolOptions
- ToolOptions
Options d’outil facultatives pour la personnalisation.
Retours
Promise<OperationResult>
Résolution d’une promesse sur une opérationResult indiquant la réussite ou l’échec.