Skip to main content
Glama
chrischall

compass-mcp

by chrischall

Register a signed-in Compass session

compass_register_session
Idempotent

Record (or refresh) which Compass account the signed-in session belongs to, keyed by account_identity. Re-registering the same identity updates the existing entry.

Instructions

Record (or refresh) which Compass account the signed-in session belongs to, keyed by account_identity. Re-registering the same identity updates the existing entry. Returns a session_id; pass mark_active: true to mark it as the current account in the same call. The registry is a label only: it does not change which Compass account requests use. Every compass tool call goes through whichever browser tab the ContextMint Bridge extension is signed into; to read a different account, sign that tab into it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mark_activeNoWhen true, immediately make the newly-registered session the active one.
auth_expires_atNoOptional ISO timestamp at which the session expires.
account_identityYesCaller-supplied identifier for the signed-in account (typically the saved-account email).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observedv0.12.1

TDQS

A4.1/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that re-registering the same identity updates rather than duplicates, that a session_id is returned, that mark_active alters the current account in the same call, and — most valuable — that the registry does not change which account requests actually use and that account switching happens via the signed-in browser tab. That last point is non-obvious behavioral context an agent could not derive from readOnlyHint=false / idempotentHint=true.

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?

Front-loaded with the core action and key, and every sentence carries information (idempotent refresh, return value, activation flag, label-only caveat, tab-based account switching). It is on the longer side at five sentences, but none is padding.

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?

With no output schema, the description correctly supplies the return value (session_id), and with three simple parameters and default false on mark_active, nothing needed to invoke correctly is missing. The label-only caveat closes the most likely source of agent error.

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

Parameters3/5

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

Schema description coverage is 100%, so account_identity, auth_expires_at and mark_active are already documented in the schema; baseline is 3. The description restates mark_active's effect and the keying role of account_identity but adds no new format or edge-case detail beyond what the schema provides.

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

Purpose4/5

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

States a specific verb and resource ('Record (or refresh) which Compass account the signed-in session belongs to, keyed by account_identity') and clarifies the write semantics of re-registration. It does not explicitly name or differentiate itself from the close sibling compass_set_active_session, even though mark_active overlaps with that tool's job, so it stops just short of 5.

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 clear context for use: register or refresh the identity, and optionally fold in activation via mark_active: true rather than making a separate call. It also sets a crucial expectation ('the registry is a label only: it does not change which Compass account requests use'), which steers the agent away from misuse. It still never names compass_set_active_session or compass_get_session_context as alternatives, so there is no explicit routing.

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