/** * MCP (Model Context Protocol) Support * * This module provides integration with MCP servers, allowing agents to * use tools provided by MCP-compliant servers. * * IMPORTANT: The MCP SDK (@modelcontextprotocol/sdk) is an optional peer dependency. * If you want to use MCP features, install it: * * npm install @modelcontextprotocol/sdk * * @example * ```typescript * import { MCPManager, MCPClient } from '@compilr-dev/agents'; * * // Using MCPManager (recommended for multiple servers) * const manager = new MCPManager(); * await manager.addServer({ * name: 'filesystem', * transport: 'stdio', * command: 'npx', * args: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp'], * }); * * const tools = await manager.discoverTools(); * * // Using MCPClient directly (for single server) * const client = new MCPClient({ * name: 'filesystem', * transport: 'stdio', * stdio: { command: 'npx', args: ['-y', '@modelcontextprotocol/server-filesystem', '/tmp'] }, * }); * await client.connect(); * const mcpTools = await client.listTools(); * ``` */ export { MCPClient } from './client.js'; export { MCPManager } from './manager.js'; export { mcpToolToTool, mcpToolsToTools, convertMCPResult, contentBlocksToString, generateToolName, } from './tools.js'; export type { MCPToolConversionOptions } from './tools.js'; export type { MCPTransport, MCPConnectionStatus, MCPStdioOptions, MCPHttpOptions, MCPClientConfig, MCPServerConfig, MCPToolDefinition, MCPContentBlock, MCPToolResult, MCPClientEventType, MCPClientEvent, MCPClientEventHandler, MCPManagerOptions, } from './types.js'; export { normalizeServerConfig } from './types.js'; export { MCPError, MCPErrorCode, isMCPError, createSDKNotInstalledError } from './errors.js';