LMCP State
lmcp_stateReturns a structured snapshot of the LMCP environment: server/tray/teams-proxy versions, detected AI client, cloud relay state, TCC permission states (Calendar/Reminders/Contacts), and a compact summary of which services (Mail/Calendar/Contacts/Teams/OneDrive/Reminders/Notes) are reachable. Fast (<500ms), passive — never prompts the user, never opens app windows, never touches the network. Call this when you need to verify the environment is healthy before attempting a tool, or to understand what's installed and accessible. If services.scan_pending is true, the background service scan hasn't finished yet (just after startup) and the per-service running/accounts values are placeholders — do NOT treat them as a real outage; just call the tool you need. Otherwise services.scanned_seconds_ago tells you how many seconds ago that scan ran (cadence ~60s): the per-service values are a snapshot, NOT a live probe. A false/0/not available for a service is advisory only — it can be stale (e.g. the user connected WhatsApp or opened Mail seconds ago) — so never use this tool as a preflight gate to skip or cancel a task; the actual tool call is the source of truth, just attempt it. For reporting failures, use report_problem instead — it captures this same snapshot plus logs and submits to the team.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tcc | No | TCC permission states, e.g. granted | denied | authorized. | |
| arch | No | ||
| update | No | ||
| version | No | Serving (running) server version. | |
| built_at | No | UTC build timestamp (F-041). 'unknown' if unstamped. | |
| services | No | Per-domain reachability summary (mail, calendar, contacts, teams, onedrive, slack, …); shape varies by domain. May include `scan_pending: true` right after startup, meaning the per-service running/accounts values are placeholders and not yet authoritative. Once scanned, `scanned_seconds_ago` gives the age (seconds) of that background snapshot and `freshness` restates that a false/0/not-available is advisory, not a live check — never gate a task on it. | |
| ai_client | No | ||
| build_sha | No | Git short SHA of the build (F-041). 'unknown' if unstamped. | |
| machine_id | No | ||
| os_version | No | ||
| tray_version | No | ||
| last_activity | No | ||
| skill_capture | No | Dark-launch counters for repeated-workflow detection (user-generated skills, PR-1). would_fire_signatures = how many times a save-this-workflow nudge WOULD have fired; ring_size = entries in the recent-calls ring. PRIVACY: the ring is IN-MEMORY ONLY — never written to disk, never transmitted, cleared on restart — and argument values are PII-scrubbed on entry, so it holds the SHAPE of a workflow, not its content. No UI acts on it yet; it exists to tune thresholds. Opt out with the skill_capture_enabled config flag. | |
| license_status | No | trial | active | expired | |
| cloud_token_set | No | ||
| tunnel_connected | No | ||
| cloud_data_enabled | No |