Skip to main content
Glama

Start a thread (as the person, their pen name, a channel or anonymously)

start_thread

Start a thread in a group chat or a place's #kanal, in the voice they chose: as "me" (a draft they publish), "pseudonym" (their pen name, needs public: true), a channel they run, or anon: true. public: true where the place allows it; else the chat's people only. Goes up directly only if they let this app publish and it's public; otherwise a card they tap.

Input Schema

NameRequiredDescriptionDefault
asNo"me" (default, a draft they publish), "pseudonym" (public threads only) or a channel they run.
anonNo
modeNo"draft" always makes a card the person taps.
pollNoA poll: 2–6 answers.
textNo
titleYes
whereYes"#allmänt i Stickcaféet", a place's name (its #allmänt), a group's name or a conversationId.
publicNo
allowAnonNoLet others answer anonymously.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / as / description
      Previous value: -"Who writes: \"me\" (default — the person's own name, always a draft they publish), \"pseudonym\" (their pen name — public threads only) or a key from list_identities (a channel they run)."New value: +"\"me\" (default, a draft they publish), \"pseudonym\" (public threads only) or a channel they run."
    • changedOutput schema / (root)
      Previous value: -{
      -  "$schema": "http://json-schema.org/draft-07/schema#",
      -  "additionalProperties": false,
      -  "properties": {
      -    "itemId": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "note": {
      -      "type": "string"
      -    },
      -    "status": {
      -      "enum": [
      -        "published",
      -        "draft",
      -        "held",
      -        "exists"
      -      ],
      -      "type": "string"
      -    },
      -    "topicId": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "url": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "why": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    }
      -  },
      -  "required": [
      -    "status",
      -    "topicId",
      -    "url",
      -    "itemId",
      -    "why",
      -    "note"
      -  ],
      -  "type": "object"
      -}New value: +null
  2. Added

TDQS

A3.6/5.0
Behavior4/5

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

Beyond the annotations (readOnly=false, destructive=false), the description discloses the consequential behavior: whether the thread publishes directly or lands as a card the person must tap, and the visibility gate (public where allowed, otherwise the chat's people only). This is real operational context an agent needs before committing a non-idempotent write. It stops short of stating permission requirements or what happens on failure.

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?

Compact and front-loaded — the resource and location come first, then the voice/visibility rules. The telegraphic style and shifting pronouns ('they', 'their') make a couple of clauses harder to parse than necessary, but no sentence is filler.

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

Completeness3/5

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

For a 9-parameter, non-idempotent write with no output schema, the description covers the publishing/visibility model well but leaves the poll option, anonymous-answer setting, and any notion of what is returned (thread id? draft handle?) unexplained. An agent can call it, but cannot fully predict the result or all parameter effects.

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 only 56%, so the description must carry weight; it does explain 'as' (me/pseudonym/channel), 'anon', 'mode' (draft always makes a tappable card) and 'public' beyond the schema text. But it says nothing about 'poll', 'allowAnon', 'text' or 'title', leaving four parameters undocumented in both places.

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 ('Start a thread in a group chat or a place's #kanal') and scopes it to the creator's voice model. It is distinguishable from reply_in_thread and create_post by the 'start' framing, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

Gives conditional rules for the voice options ('pseudonym' needs public: true, public only where the place allows it, otherwise people-only), which helps an agent pick valid parameter combinations. However, it never states when to use this tool rather than create_post, reply_in_thread, or propose_message, so tool selection is left to inference.

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.