UNPKG

glasses-mcp

Version:

A Model Context Protocol (MCP) server that provides a tool for taking screenshots of websites.

35 lines (34 loc) 1.32 kB
#!/usr/bin/env node import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { screenshotTool, screenshotHandler } from "./tools/screenshot.js"; import path from "path"; import { promises as fs } from "fs"; import { fileURLToPath } from "url"; // Get package version and determine package root const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // This will be dist/ const packageRootDir = path.resolve(__dirname, ".."); // Moves from dist/ to package root const packageJsonPath = path.join(packageRootDir, "package.json"); const packageJson = JSON.parse(await fs.readFile(packageJsonPath, "utf-8")); const SERVER_VERSION = packageJson.version; // Create an MCP server const server = new McpServer({ name: "glasses-mcp", version: SERVER_VERSION, }); // Register tools server.registerTool("screenshot", { ...screenshotTool, inputSchema: screenshotTool.inputSchema, }, screenshotHandler); // Start the server async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.log("MCP server is running..."); } main().catch((error) => { console.error("Server error:", error); process.exit(1); });