Skip to main content
Glama

Log in to ChurchTools

ct_login

Authenticate with the configured ChurchTools user to start a session. Provide the current 6-digit 2FA code when required; omit it if the account has no 2FA.

Instructions

Logs in with the configured user. If the account has 2FA, ask the user for the current code and pass it; never guess it. Without 2FA, omit the code. A new call replaces the current session.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNoThe current 6-digit 2FA code; omit it when the account has no 2FA

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and openWorldHint=true, so the description's addition that 'a new call replaces the current session' is genuine behavioral disclosure about state side effects. The 2FA handling rule is also useful operational context. It still omits failure behavior for an invalid or expired code and any rate-limit/session-lifetime details.

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

Conciseness5/5

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

Three short sentences, zero filler, and the primary action is front-loaded before the conditional 2FA rules and the session-replacement caveat. Every sentence carries information an agent needs.

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

Completeness4/5

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

For a one-optional-parameter login tool with no output schema, the description covers the key decisions (when to supply the code, session replacement) and annotations cover the mutation profile. What is missing is error/failure handling and confirmation of what a successful login returns or enables, which would round it out.

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?

Schema coverage is 100% (the code parameter is fully documented, including its omission rule), so the baseline would be 3. The description adds real semantic value beyond the schema by instructing the agent to ask the user for the current code and never fabricate one, which is procedural meaning the pattern/format alone does not convey.

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?

The description states a specific verb and resource ('Logs in with the configured user') and is unambiguous against the sibling list, which contains no other authentication tool. An agent can identify the operation immediately without opening the schema.

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?

It gives explicit conditional guidance: pass the code when 2FA is enabled, omit it otherwise, and never guess the value. It does not, however, say when to call this versus siblings like ct_status (e.g., to check whether a session already exists), so the when-not side is only partly covered.

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