Skip to main content
Glama

Capture to LociHub

capture

Put something into LociHub: "capture this", "save this chat", "send this to my Stage". Adds to the owner's Stage or Sessions for review; nothing is overwritten or deleted. Not for reading or finding: search / hydrate.

choice is required and is the user's pick; capture_options returns the choices when the user hasn't said which. With a choice and its inputs it acts in one call.

  • choice="session" + turn: the conversation -> the owner's Sessions.

  • choice="summary_session" + turn + content (a short recap of this conversation): the conversation -> Sessions, and the recap -> Stage.

  • choice="note" + content (+ optional title, files): content -> Stage for the owner to review. No session, no node, no address -- the owner decides what it becomes and where it lives.

  • choice="memory" + content: facts about the owner that the user gave in this conversation, one per line -> one Stage item per fact. Only what was said in this conversation is captured; nothing from other conversations. No turn.

turn is the whole conversation, verbatim: the tool stores exactly the messages it is given as the session, so a summarized, shortened or reworded transcript is stored as such. A recap belongs in content. It is a turn/v1.0 object (or a JSON string of one):

        {"schema": "turn/v1.0", "model": "<model>",
         "turns": [{"seq": 0, "role": "human", "content": "hi",
                    "timestamp": "2026-06-09T18:20:02Z"}]}

    Each ``turns[]`` item: ``seq`` (0-based, +1), ``role`` (``human`` /
    ``assistant``, alternating, first ``human``), non-empty ``content``, ISO 8601
    ``timestamp`` (non-decreasing). Re-capturing the same conversation is safe: the
    hub appends only the new messages.

files: a list of {"name", "content_type", "content_base64"} that ride a note into Stage and are saved with the node. summary is the old name for content. The first capture in a chat has no conversation_id; the reply carries the one the hub minted, and passing it again in the same chat appends to that session. status: "queued" means durably queued: it appears shortly.

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": {
      "choice": "<choice>"
    },
    "name": "capture"
  }
}

Input Schema

NameRequiredDescriptionDefault
turnNo
filesNo
titleNo
choiceYes
contentNo
summaryNo
conversation_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the annotations it discloses where each choice lands (Sessions vs Stage), that nothing is overwritten or deleted, that re-capturing appends only new messages, that the first capture mints a conversation_id which must be passed back to continue the session, and that status 'queued' means durably queued. The 'appends only new messages' note sits alongside idempotentHint=false without contradicting it, since new messages still change state.

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 purpose and exclusions, then bulleted by choice, which makes a long definition scannable. It is somewhat verbose — the embedded turn JSON block and the prose around it are dense — but the length is largely justified given the zero schema coverage.

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?

For a 7-parameter mutation tool with no output schema and no schema descriptions, the description supplies the missing contract: per-choice routing, the turn format, continuation via conversation_id, and the meaning of the queued status reply. Nothing an agent needs to invoke it correctly appears absent.

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

Parameters5/5

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

With 0% schema coverage, the description carries the full load and does: it defines every choice value and its companion params, gives the complete turn/v1.0 object shape with per-field rules (0-based seq, alternating roles, ISO 8601 timestamps), specifies the files object keys, flags summary as a legacy alias for content, and explains when conversation_id must be omitted or supplied.

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 specific verb and resource ('Put something into LociHub') with concrete user phrasings, and explicitly carves out what it is not ('Not for reading or finding: search / hydrate'), so it is distinguishable from all seven siblings without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use routing: defer to capture_options when the user hasn't picked a choice, and use search/hydrate instead for reading. Each choice variant documents which inputs it needs and which it forbids (e.g. memory: 'No turn').

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