Skip to main content
Glama

Ilu Rennik

Connected apps

connection
DestructiveIdempotent

Connected apps, such as Claude or ChatGPT: list them, or end one. Use this when the person asks which apps are connected or wants one ended. Do not use for people who see some of it; that is seat. Apps connected with the owner's own sign-in (Claude, ChatGPT and others), since when and when each last read. do: list (each with its id, and this_one on the connection this conversation runs on), or end (ends one now; nothing is lost and its next call is refused). End by id; which, the app's name, works only when one connection has it. The connection this conversation runs on is ended only with this_one, when they ask for it.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "do": "<do>",
      "owner_said": "<owner_said>"
    },
    "name": "connection"
  }
}

Input Schema

NameRequiredDescriptionDefault
doYeslist says which apps are connected, since when, and when each last read. end ends one now. Nothing is lost, and its next call is refused.
idNoOn end, the connection's id, as list gives it. Two connections can share an app's name; the id is the one that is ended. An id is for this call only, never shown to them: they tell connections apart by app and date ("Claude, since last night").
partNoWhich part of a long answer to read: the answer's `next_part`. Leave it out for the first.
whichNoOn end, the app's name, used only when one connection has it. With one connection it can be left out.
this_oneNoOn end, true only when they ask to end the connection this conversation runs on.
owner_saidYesThe owner's message this call is based on, verbatim as they wrote it. It is the receipt for what is written; a quote, statement or answer passed with it must appear in it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Beyond the annotations it discloses real consequences: ending takes effect immediately, nothing is lost, and the app's next call is refused — and it separately warns that the current conversation's own connection can only be ended via `this_one`. That is exactly the recoverability and blast-radius context the destructiveHint annotation cannot express on its own.

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

Conciseness3/5

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

The core routing and the id/which/this_one rule are front-loaded, which is good, but the sentence about the current connection being ended only with `this_one` appears twice in close succession, and the phrase 'Apps connected with the owner's own sign-in... since when and when each last read' is a fragment that duplicates the `do` enum description. Tightening would remove a quarter of the text with no loss.

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 six-parameter, no-output-schema tool that mixes a safe read (list) with an irreversible-looking write (end), the description covers the return shape of `list` (`id`, `this_one`), the identifier rules for `end`, and the consequence of ending. The only gap is that `owner_said` and `part` get no mention, though the schema carries them fully.

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 coverage is 100%, so the schema already documents `do`, `id`, `which`, `this_one`, `part` and `owner_said`. The description restates the id/which/this_one precedence rule in prose, but adds no format or edge-case detail beyond what the schema descriptions already say (for example, it says nothing extra about `part` pagination).

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?

The opening names a concrete resource (connected apps like Claude/ChatGPT) and two concrete operations (list, end), and explicitly contrasts itself against the sibling `seat`. It stops short of 5 only because the noun 'connection' vs 'connected apps' vs 'apps connected with the owner's own sign-in' is restated three different ways rather than fixed once.

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 an explicit when-to-use ('asks which apps are connected or wants one ended') and an explicit when-not with the alternative ('Do not use for people who see some of it; that is `seat`'). The exclusion phrasing is cryptic enough that an agent may not confidently map 'people who see some of it' to the `seat` tool.

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.

Resources