aironin-browse-mcp
Version:
aiRonin Browse MCP server with headed Chrome support
44 lines • 1.81 kB
JavaScript
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { BrowserSession } from "browser-automation-core";
// Create the server
const server = new Server({
name: "browser-automation-mcp",
version: "1.0.0",
}, {
capabilities: {
tools: {},
},
});
// Browser session instance
let browserSession = null;
// Helper function to ensure browser is launched
async function ensureBrowserLaunched(remoteEnabled = false) {
if (!browserSession) {
browserSession = new BrowserSession();
// Set environment variables for remote browser if enabled
if (remoteEnabled) {
process.env.REMOTE_BROWSER_ENABLED = "true";
}
await browserSession.launchBrowser();
}
return browserSession;
}
// Start the server
async function main() {
const transport = new StdioServerTransport();
await server.connect(transport);
console.error("🚀 Browser Automation MCP Server started");
console.error("📋 Available tools:");
console.error(" - test_browser: Test browser connection and functionality");
console.error(" - launch_browser: Launch browser and navigate to URL");
console.error(" - click_element: Click at specified coordinates");
console.error(" - type_text: Type text into the browser");
console.error(" - scroll_page: Scroll the page up or down");
console.error(" - hover_element: Hover at specified coordinates");
console.error(" - resize_browser: Resize browser window");
console.error(" - close_browser: Close the browser");
console.error("🔧 Remote browser support: Set remote=true in tool arguments");
}
main().catch(console.error);
//# sourceMappingURL=simple-server.js.map