MCP server for Autopilot-Monitor — enables AI agents to query enrollment sessions, device properties, events and vulnerabilities
This server has fundamental definition quality issues that prevent confident production use. While tool names follow action-verb conventions (query_, list_, get_, search_), the critical problems are: (1) Most parameter schemas are completely absent or inferred rather than explicitly visible in source; (2) Parameter descriptions are either missing or minimal; (3) No evidence of output schema documentation; (4) Many tools lack sufficient description length to guide LLM selection. The server appears to be a TypeScript MCP implementation with 17 tools, but without access to the actual tool registration code (only file paths and high-level descriptions are provided), most tool definitions cannot be verified as having complete input schemas. Tools like query_backend_logs, list_tables, and query_table appear to have NO input parameter descriptions visible. Search tools (search_knowledge, search_docs, search_event_types) have minimal parameter documentation. Admin tools mention permission requirements but provide no detail on what parameters they accept or what their outputs contain. The only tools with somewhat visible input schemas are get_software_inventory (tenantId parameter shown), but even there, output structure is undocumented.
Query device properties information
Query enrollment session information
Get IME version history (platform-only ungated tool, delegated callers hidden)
Get software inventory for devices
Get tenant configuration (GlobalAdminOnly write tool requiring real Global Admin role)
Get tenant configuration schema (GlobalAdminOnly write tool requiring real Global Admin role)
List enrollment sessions
Input parameter schemas are missing or not visible for 13 of 17 tools (76%). Tools like query_backend_logs, list_tables, query_table, get_tenant_config, and admin/session tools have no documented input schema at all. This violates the HARD SCORING RULE: if a tool has NO input schema, schema score MUST be 0.
Tool descriptions are too brief to guide LLM selection. Most admin tools have descriptions under 100 characters that only state 'GlobalAdminOnly tool requiring elevated privileges' without explaining WHAT the tool does, WHEN to use it, or what it RETURNS.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
List tables in the backend system (GlobalAdminOnly tool requiring elevated privileges)
List tenant configuration backups (GlobalAdminOnly write tool requiring real Global Admin role)
Lookup error code information from the error code catalog
Query backend logs (GlobalAdminOnly tool requiring elevated privileges)
Query a specific table in the backend system (GlobalAdminOnly tool requiring elevated privileges)
Revert tenant configuration to a previous backup (GlobalAdminOnly write tool requiring real Global Admin role)
Search customer documentation
Search event type index
Search the knowledge base for rules and documentation
Update tenant configuration (GlobalAdminOnly write tool requiring real Global Admin role)
No documented output schemas for any tool. LLMs cannot plan downstream tool chains without knowing what fields to extract. Search tools (search_knowledge, search_docs, search_event_types) return results but do not document the structure of those results. Admin config tools return unknown structures.
Admin tools (query_backend_logs, list_tables, query_table, get_tenant_config, update_tenant_config, revert_tenant_config, list_tenant_config_backups) mention permission requirements but provide NO error handling guidance, recovery paths, or permission-check documentation. An LLM will not know how to respond if a permission check fails.
No evidence of parameter constraints (enums, min/max, formats) for any tool. e.g., query_backend_logs likely accepts a query parameter, but the format, length, and expected syntax are undocumented. search_* tools accept a 'query' string but do not specify regex patterns, max length, or example queries. LLMs will generate invalid queries.
Session/device tools (get_enrollment_session, list_enrollment_sessions, get_device_properties) do not document required vs optional parameters. Are session IDs required? Can you filter by tenant or date? Without this clarity, LLMs will guess wrong.
Destructive tools (update_tenant_config, revert_tenant_config) have no confirmation or dry-run support documented. An agent making a config error could corrupt a tenant's state with no recovery path. No idempotency guarantees either.
Search tools may return large result sets (e.g., search_knowledge with 500+ articles). No pagination parameters (limit, offset, cursor) are documented, yet they are critical to prevent context window exhaustion and guide LLM result interpretation.