import { createConnection } from '@playwright/mcp';
import { getApplication } from './application';
import { Application } from '../../automation';
import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
export async function getServer(app?: Application): Promise<Server> {
const application = app ?? await getApplication();
const connection = await createConnection(
{
capabilities: ['core', 'pdf', 'vision']
},
() => Promise.resolve(application.code.driver.browserContext as any)
);
application.code.driver.browserContext.on('close', async () => {
await connection.close();
});
return connection;
}