Skip to main content
Glama
004-clockify-time-entries.ts1.27 kB
import assert from 'assert'; const EXPECTED_DATA = { "timeEntries": [ { "id": "68eaecf2a76c246ccca9f7ff", "description": "Buchhaltung", "duration": 3300000 }, { "id": "68eaed76c0a1d045ac1d72b1", "description": "Beratungsgespräch", "duration": 3600000 }, { "id": "68eaed55a76c246ccca9f9b7", "description": "Beratungsgespräch", "duration": 3600000 } ] }; function isDeepEqual(expected: any, received: any): boolean { if (expected === received) return true; if (expected == null || received == null) return false; if (typeof expected !== "object" || typeof received !== "object") return false; const keysExpected = Object.keys(expected); const keysReceived = Object.keys(received); if (keysExpected.length !== keysReceived.length) return false; for (const key of keysExpected) { if (!Object.prototype.hasOwnProperty.call(received, key) || !isDeepEqual(expected[key], received[key])) { return false; } } return true; } export default function validate(data: any, payload: any): void { assert(isDeepEqual(EXPECTED_DATA, data), `Data does not match expected structure. Expected: ${JSON.stringify(EXPECTED_DATA)}, Received: ${JSON.stringify(data)}`); }

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/superglue-ai/superglue'

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