/**
 * MCP 执行器示例
 * 展示如何连接 MCP 服务器
 */

const { Framework } = require('../src');
const { MCPExecutorPlugin } = require('../src/executors/mcp-executor');

async function main() {
  console.log('=== MCP Executor Example ===\n');

  // 创建框架
  const framework = new Framework({ debug: true });

  // 创建 MCP 执行器插件
  const mcpPlugin = new MCPExecutorPlugin({
    servers: [
      // 示例：添加一个 MCP 服务器
      // {
      //   name: 'example',
      //   command: 'uvx',
      //   args: ['example-mcp-server'],
      //   env: {}
      // }
    ],
  });

  // 加载插件
  await framework.loadPlugin(mcpPlugin);

  // 列出服务器
  console.log('\n--- MCP Servers ---');
  const servers = mcpPlugin.getServers();
  console.log('Servers:', servers);

  // 列出所有 MCP 工具
  console.log('\n--- MCP Tools ---');
  const tools = framework.getTools().filter((t) => t.name.startsWith('mcp_'));
  console.log(
    'MCP tools:',
    tools.map((t) => t.name)
  );

  // 如果有配置的服务器，可以这样调用：
  // const result = await framework.executeTool('mcp_call', {
  //   server: 'example',
  //   tool: 'tool_name',
  //   args: { /* tool arguments */ }
  // })

  // 清理
  await framework.destroy();
  console.log('\n[Done]');
}

main().catch(console.error);
