Read-only MCP server for the Logitech Sync Cloud API
Strong tool definitions with comprehensive descriptions (avg 250+ chars), well-structured schemas with proper enums and constraints, and clear parameter documentation. All 10 tools have explicit descriptions and input schemas. Tool names follow verb_noun pattern (logitech_sync_*). Pagination parameters are well-designed with bounds. Error handling descriptions guide recovery. Minor gaps: some parameter descriptions could be more concise; no explicit output schema documentation in code (inferred from SyncToolResult type); no per-tool error classification guidance.
Verify live mTLS access, or validate the configured offline fixture. Makes exactly one minimal GET request with ``limit=1`` and an empty projection, so only a place id can be returned. In fixture mode no network connection or mTLS handshake is attempted, and the result says so explicitly. It does not modify Logitech Sync. Use this first after setup. Returns a structured success envelope plus Markdown/JSON text. Configuration, TLS, 403, throttling, and schema failures are returned as actionable MCP tool errors.
Report contract and warranty coverage by place and expiration date. This tool summarizes licensing, contract, and warranty coverage across places. Results can be filtered by coverage type and expiration window. Use this to track contract renewals, identify expiring warranties, and audit license compliance. Returns ``summary`` (coverage stats), ``places`` (per-place data), and metadata. Errors explain how to fix invalid filters or credentials.
Find offline/unhealthy/stale devices and peripheral count mismatches. This tool identifies devices that need attention: offline devices, health warnings/errors, devices not seen since a cutoff date, and devices with peripheral count mismatches. Results can be filtered by issue category and paginated. Returns ``issues`` (device diagnostics), ``issueCount`` (total), and pagination metadata. Errors explain how to fix invalid filters or credentials.
Summarize environmental sensor readings by place and optional thresholds. This tool aggregates environmental data (CO2, temperature, humidity, pressure, TVOC, VOC index, PM10, PM2.5, presence) across places. Optional thresholds highlight readings outside acceptable ranges. Results include per-metric statistics and per-place breakdowns. Use this to identify environmental issues and track air quality trends. Returns ``summary`` (aggregate stats), ``places`` (per-place data), and metadata. Errors explain how to fix invalid thresholds or credentials.
Output schemas not explicitly documented in source code. SyncToolResult type is inferred from imports but no schema definition visible for CallToolResult structure returned by tools.
Parameter descriptions are verbose (some 200+ chars). While comprehensive, they could be condensed to 50-100 chars with constraints (enums, min/max) handling specifics, improving token efficiency.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2025-06-18+ | v2 |
Fetch all rooms and desks by following continuation cursors up to a bounded page limit. This is the primary tool for comprehensive inventory access. It automatically follows the opaque continuation cursor returned by the API, stops after ``max_pages`` to prevent runaway requests, and detects cursor loops. Pagination is transparent: you get all matching places in one result, plus metadata explaining if more pages exist. Use ``max_pages=1`` to fetch just the first page; increase it for larger inventories. If the result is incomplete, ``next_continuation`` tells you where to resume with ``logitech_sync_list_places``. Returns ``places`` and metadata including ``complete``, ``fetched_pages``, and ``next_continuation``. Errors explain how to fix invalid scopes, projections, credentials, or quotas.
Aggregate place, device, model, version, status, and coverage counts. This tool provides a high-level overview of your Logitech Sync inventory without returning individual items. It counts places by type, devices by type/status/health, and lists the top device models and versions. Use this to understand inventory composition and identify coverage gaps. Returns aggregated counts and top-N lists. Errors explain how to fix invalid scopes or credentials.
Fetch one controlled page of rooms/desks using the native continuation cursor. Use this primitive when exact API pagination or custom projections matter. It never follows the cursor automatically. If an explicit projection requests device info, sensors, or warranty while ``detail_level=concise``, the result is transparently promoted to detailed output and reports that adjustment. A response that is too large fails with guidance instead of silently discarding requested fields or inaccessible items. Returns ``places`` and metadata including ``next_continuation`` and the effective projection. Errors explain how to fix invalid scopes, projections, credentials, or quotas.
List devices with network configuration (IP, MAC, hostname, mode). This tool returns devices that have network information available, including IP address, MAC address, hostname, and network mode (auto/dhcp/manual/none). Results can be filtered by place type, device type, device status, and health status. Use this to audit network configuration and identify DHCP vs. static assignments. Returns ``devices`` (network details), ``deviceCount`` (total), and metadata. Errors explain how to fix invalid filters or credentials.
Summarize occupancy by place, time window, and optional filters. This tool aggregates occupancy data across places, optionally filtered by place type, device status, and health status. Results include occupancy statistics (min, max, mean, median, stddev) and per-place breakdowns. Use this to understand space utilization trends and identify underutilized or overcrowded areas. Returns ``summary`` (aggregate stats), ``places`` (per-place data), and metadata. Errors explain how to fix invalid filters or credentials.
Search place and device identity, location, contract, network, and version fields. This tool searches across place names, groups, locations, device names, serial numbers, IP addresses, MAC addresses, and hostnames. Results can be filtered by place type (room/desk), device type (Logitech/Computer/Generic), device status (Offline/Online/InUse), and health status (NoIssues/Warning/Error). Pagination is supported via ``result_offset`` and ``max_results``. Returns ``matches`` (place or device results), ``matchedCount`` (total), and pagination metadata. Errors explain how to fix invalid filters or credentials.
No explicit error classification (retryable vs user-fixable vs fatal) in tool descriptions. Error handling guidance exists but lacks structured categorization for agent decision-making.
Tool annotations present (readOnlyHint=true, idempotentHint=true) but no destructiveHint or openWorldHint variation across tools. All tools marked identical, reducing semantic precision.
No batch variants offered. Tools like search_inventory and device_issues accept single result_offset/max_results but no batch query support, forcing sequential calls for multi-item operations.