Skip to main content
Glama

Check setup

check_setup
Read-onlyIdempotent

Check every part of the user's Keeploop setup and report one row per check, each 'pass', 'warning' or 'fail': the app and core, Full Disk Access, whether Apple Mail has accounts, Automation for Mail, Calendar, each source that is on, each connected AI app, remote access, the Slack app, ntfy, monitor scanning, disk space and Codex delivery. A row that is not a pass has one plain sentence (detail) and one fix: its title is the button the user should press in Keeploop (for example 'Open Full Disk Access settings'). Checks for features that are off are listed in not_checked. Call this when something in Keeploop is not working, before guessing; it reads no mail. A few checks go over the network: remote access (through Keeploop's connection service or the user's own tunnel), the ntfy server and the Slack app.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
checksYes
failedYes
passedYes
warningsYes
checked_atYes
not_checkedYes
app_facts_atNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the annotations: the return shape (one row per check, pass/warning/fail, detail sentence plus a fix whose title is a button label), the not_checked list for disabled features, the guarantee 'it reads no mail', and the fact that a few checks traverse the network (remote access, ntfy, Slack). The network disclosure sits at odds with openWorldHint=false, but because the description is explicit about it an agent is not misled, so this is a minor rather than fatal inconsistency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded and the sentences each carry information (output shape, trigger, side effects, network scope). The long comma-separated enumeration of ~16 checks is informative for setting expectations but is dense and could have been grouped, keeping it just short of a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema already exists, the description need not explain return values, yet it does describe the row/detail/fix structure in a way that helps the agent present results to the user. Combined with the trigger, the no-mail-read guarantee and the network caveat, nothing needed to call this diagnostic correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics for the description to clarify; the schema is trivially complete. Baseline 4 applies for a no-argument tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource ('Check every part of the user's Keeploop setup') and then enumerates the exact checks performed (Full Disk Access, Apple Mail accounts, Automation, sources, AI apps, remote access, Slack, ntfy, disk space, Codex delivery). The breadth 'every part' implicitly separates it from the narrower sibling check_permissions and from get_settings_summary, so an agent can tell them apart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear trigger condition: 'Call this when something in Keeploop is not working, before guessing,' which also suppresses a competing strategy (guessing). It does not, however, name an alternative sibling (e.g. check_permissions) or state when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.