Skip to main content
Glama
server.test.ts•1.57 kB
/** * Basic smoke tests for MCP Screenshot Server */ import { MCPScreenshotServer } from "./server"; describe("MCPScreenshotServer", () => { let server: MCPScreenshotServer; afterEach(async () => { if (server && server.isServerRunning()) { await server.stop(); } }); it("should create server instance", () => { server = new MCPScreenshotServer(); expect(server).toBeDefined(); expect(server.isServerRunning()).toBe(false); }); it("should create server with security policy", () => { const securityPolicy = { allowedDirectories: ["/tmp"], maxCapturesPerMinute: 10, }; server = new MCPScreenshotServer(securityPolicy); expect(server).toBeDefined(); }); it("should create server with excluded window patterns", () => { const excludedPatterns = ["*password*", "*auth*"]; server = new MCPScreenshotServer(undefined, excludedPatterns); expect(server).toBeDefined(); }); it("should not allow starting server twice", async () => { server = new MCPScreenshotServer(); // Mock the server.connect to avoid actual stdio connection in tests const mockConnect = jest.fn().mockResolvedValue(undefined); (server as any).server.connect = mockConnect; await server.start(); expect(server.isServerRunning()).toBe(true); await expect(server.start()).rejects.toThrow("Server is already running"); }); it("should handle stop when not running", async () => { server = new MCPScreenshotServer(); await expect(server.stop()).resolves.not.toThrow(); }); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Digital-Defiance/mcp-screenshot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server