/** * This file is part of the NocoBase (R) project. * Copyright (c) 2020-2024 NocoBase Co., Ltd. * Authors: NocoBase Team. * * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. * For more information, please refer to: https://www.nocobase.com/agreement. */ import { MultiServerMCPClient } from '@langchain/mcp-adapters'; import { MCPEntry, MCPFilter, MCPManager, MCPOptions, MCPTestResult, MCPToolEntry } from './types'; import type { DynamicToolsProvider, Permission } from '../tools-manager/types'; import type { Context } from '@nocobase/actions'; export declare class DefaultMCPManager implements MCPManager { private readonly app; private readonly mcpRegistry; private readonly provideCollectionManager; private mode; private client; private toolsMap; private toolsPermissionMap; private readonly userContextClientManager; constructor(app: any); init(): Promise; registerMCP(registration: { [key: string | symbol]: MCPOptions; }): Promise; getMCP(name: string): Promise; listMCP(filter?: MCPFilter): Promise; rebuildClient(): Promise; getClient(): MultiServerMCPClient | null; getMCPToolsProvider(): DynamicToolsProvider; private registerToolsFromMap; private ensureToolPermission; listMCPTools(ctx?: Context): Promise>; private formatMCPTools; updateMCPToolPermission(toolName: string, permission: Permission): Promise; clearUserContextCache(): Promise; testConnection(options: MCPOptions, ctx?: Context): Promise; private buildMCPConnection; persistence(): Promise; private persistenceEntry; private normalizeEntry; private get aiMcpClientsCollection(); private get aiMcpClientsModel(); private get sequelize(); private get collectionManager(); } export declare function defineMCP(options: MCPOptions): MCPOptions; export * from './types';