{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-06T02:11:45.554Z","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap.md","server":{"slug":"io-usefulapi-timetap","name":"TimeTap MCP by usefulapi","registryName":"io.usefulapi/timetap","description":"Review business details, scheduling staff, locations, services and appointment schedules.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"timetap","type":"remote","identifier":"https://timetap.usefulapi.io/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap","version":"1.6.3","transport":null,"scoredAt":"2026-11-05T15:00:18.151Z"},"score":{"total":18,"tier":"low","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":18},{"date":"2026-11-04","total":18},{"date":"2026-11-03","total":18},{"date":"2026-11-02","total":18},{"date":"2026-11-01","total":18},{"date":"2026-10-31","total":62}]},"categories":[{"name":"Endpoint Security","score":46,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","HSTS check failed: the Strict-Transport-Security header is absent.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.unreachable","args":{}},{"code":"https.inconclusive","args":{"reason":"redirect_not_https"}},{"code":"headers.hsts_absent","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":0,"verdict":"fail","reasons":["Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly."],"codes":[{"code":"transport.redirected","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":0,"verdict":"unverified","reasons":["Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list."],"codes":[{"code":"schema.unreachable","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"codes":[{"code":"stability.insufficient_history","args":{}}]},{"name":"Tool Coverage","score":0,"verdict":"unverified","reasons":["Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolquality.unreachable","args":{}}]},{"name":"Tool Safety","score":0,"verdict":"unverified","reasons":["Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolsafety.unreachable","args":{}}]},{"name":"Capabilities","score":0,"verdict":"unverified","reasons":["Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"codes":[{"code":"cap.unreachable","args":{}}]}],"inconclusive":["Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.","Stability not yet verified: not enough scan history yet (needs a 30-day window).","Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"malware":[],"components":[{"slug":"timetap","type":"remote","identifier":"https://timetap.usefulapi.io/mcp","withdrawn":false,"score":18,"current":true,"url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap.md"}],"facts":[{"label":"Endpoint","value":"https://timetap.usefulapi.io/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.6.3"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"timetap_get_business","title":"Get connected business","description":"Read the authenticated business ID, name and selected scheduling settings. Excludes billing tokens and payment configuration.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":31},{"name":"timetap_list_staff","title":"List scheduling staff","description":"GET /staff. Read staff IDs, names and scheduling flags. No contact details, user logins or profiles. Vendor route is unpaginated, bounded here to 5,000 rows/2 MiB. locationId values are sent comma-separated as documented.","inputs":[{"name":"acceptAppointments","type":"boolean","required":false,"description":null},{"name":"locationId","type":"array","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":80},{"name":"timetap_list_locations","title":"List scheduling locations","description":"Read one page of scheduling locations. Continue pageNumber while the returned page is full; vendor provides no total on this route. Excludes private scheduling links, embed codes, email and tax IDs.","inputs":[{"name":"locationGroupId","type":"integer","required":false,"description":null},{"name":"pageNumber","type":"integer","required":false,"description":null},{"name":"pageSize","type":"integer","required":false,"description":null},{"name":"staffId","type":"integer","required":false,"description":null},{"name":"working","type":"boolean","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":90},{"name":"timetap_list_services","title":"List bookable services","description":"GET /services. Read service/reason IDs, names, duration and pricing; private PERSONAL reasons are excluded via includePersonal=0. Vendor route is unpaginated, bounded to 5,000 rows/2 MiB. Results reflect the credential's permissions and scheduling filters.","inputs":[{"name":"classesOnly","type":"boolean","required":false,"description":null},{"name":"inactive","type":"boolean","required":false,"description":null},{"name":"locationId","type":"integer","required":false,"description":null},{"name":"staffId","type":"integer","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":98},{"name":"timetap_get_staff","title":"Get scheduling staff member","description":"Read one scheduling staff member by its numeric professionalId. Selected scheduling fields only; clients, notes, form answers, private URLs and other unselected fields are omitted.","inputs":[{"name":"id","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":51},{"name":"timetap_get_location","title":"Get scheduling location","description":"Read one scheduling location by its numeric locationId. Selected scheduling fields only; clients, notes, form answers, private URLs and other unselected fields are omitted.","inputs":[{"name":"id","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":50},{"name":"timetap_get_service","title":"Get service","description":"Read one service by its numeric reasonId. Selected scheduling fields only; clients, notes, form answers, private URLs and other unselected fields are omitted.","inputs":[{"name":"id","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"timetap_get_appointment","title":"Get appointment","description":"Read one appointment by its numeric calendarId. Selected scheduling fields only; clients, notes, form answers, private URLs and other unselected fields are omitted.","inputs":[{"name":"id","type":"integer","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":50},{"name":"timetap_list_appointments","title":"List appointment schedule","description":"Read one page from GET /appointmentList/reportWithCount using an ordered YYYY-MM-DD date range (up to 93 days). Client records/contact, subject/notes, forms/custom fields, payment and appointment management links are omitted. PERSONAL time-off is excluded. Local wall-clock numbers are TimeTap HHmm values, not decimal hours; UTC epoch fields are milliseconds. Count is the vendor total; request the next page until exhausted.","inputs":[{"name":"endDate","type":"string","required":true,"description":null},{"name":"locationIdList","type":"array","required":false,"description":null},{"name":"pageNumber","type":"integer","required":false,"description":null},{"name":"pageSize","type":"integer","required":false,"description":null},{"name":"reasonIdList","type":"array","required":false,"description":null},{"name":"staffIdList","type":"array","required":false,"description":null},{"name":"startDate","type":"string","required":true,"description":null},{"name":"statusList","type":"array","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":165}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T15:00:18.000Z","track":"remote","endpoint":"https://timetap.usefulapi.io/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=usefulapi.io","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-09-13T08:55:39Z","notAfter":"2026-12-12T09:54:12Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"timetap.usefulapi.io.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"io.","outcome":"verified","label":"Verified"},{"zone":"usefulapi.io.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"inconclusive","label":"Inconclusive","gate":null,"gateLabel":null,"status":302,"authorizationServers":[]},"httpsRedirect":{"outcome":"inconclusive","label":"Inconclusive","status":302},"transports":[{"transport":"streamable-http","outcome":"redirected","label":"Redirected","status":302,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-31","recent":[{"id":"chg_01a19670-ce51-7047-aaa8-cc5d3066d054","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap#chg-chg_01a19670-ce51-7047-aaa8-cc5d3066d054"},{"id":"chg_01a19670-ce51-78de-afda-6367ad25fe57","kind":"check.unverifiable","summary":"Authorization (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap#chg-chg_01a19670-ce51-78de-afda-6367ad25fe57"},{"id":"chg_01a19670-ce51-7e99-9266-6b792ec351eb","kind":"check.unverifiable","summary":"Schema quality (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap#chg-chg_01a19670-ce51-7e99-9266-6b792ec351eb"},{"id":"chg_01a19670-ce52-74eb-9f3f-6349dadf281b","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap#chg-chg_01a19670-ce52-74eb-9f3f-6349dadf281b"},{"id":"chg_01a19670-ce52-7add-82c5-4b8ddea386f3","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap#chg-chg_01a19670-ce52-7add-82c5-4b8ddea386f3"},{"id":"chg_01a19670-ce53-72df-b82a-cfcdb90ac33c","kind":"capture.status_changed","summary":"Endpoint reachability (reachable → not serving MCP)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap#chg-chg_01a19670-ce53-72df-b82a-cfcdb90ac33c"},{"id":"chg_01a19670-ce53-7ad5-8ef6-f4f30c063603","kind":"score.total_changed","summary":"Trust score (62 → 18)","materiality":"functional","direction":"regression","scoreDelta":-44,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap#chg-chg_01a19670-ce53-7ad5-8ef6-f4f30c063603"},{"id":"chg_01a193fd-8e1e-75cf-adc6-393fec51b112","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap#chg-chg_01a193fd-8e1e-75cf-adc6-393fec51b112"},{"id":"chg_01a19180-cd48-7744-a3eb-cdff1b02dfc8","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap#chg-chg_01a19180-cd48-7744-a3eb-cdff1b02dfc8"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap/changelog.json"},"links":{"html":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap","markdown":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap.md","changelogJson":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap/changelog.json","changelogRss":"https://verifymcp.io/servers/io-usefulapi-timetap/timetap.xml","external":[{"label":"Remote endpoint","href":"https://timetap.usefulapi.io/mcp"},{"label":"Repository","href":"https://github.com/m190/usefulapi-mcp"},{"label":"Website","href":"https://usefulapi.io/timetap/"}]}}