Skip to main content
Glama

source

Register, update, cite, or unlink references for notes; verify live references before use and refresh stale verification to avoid acting on outdated copies.

Instructions

Sources behind knowledge. action='add' registers or updates one (kind: snapshot, live, transcript (ref = run id or file), web, owner; verify_live=True means re-check the live system before acting on a copy) and, with path, cites it from that note. 'cite' / 'uncite' link an existing source to a note. Citing a verify_live source is refused while the note's verified_at is stale: refresh it with patch_header first.

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": {
      "action": "<action>",
      "id": "<id>"
    },
    "name": "source"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYes
refNo
kindNo
pathNo
actionYes
task_idNo
captured_atNo
verify_liveNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does disclose the key behavioral trait: citing a verify_live source is refused while the note's verified_at is stale, plus what verify_live actually means (re-check the live system before acting on a copy). Unexplained are whether 'add' with an existing id overwrites silently, permission requirements, and failure modes beyond the staleness gate.

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?

It is front-loaded and every clause carries information, but the single run-on sentence with nested parentheses around the kind list and verify_live aside is hard to parse on first read. Breaking the actions into discrete sentences would preserve content and improve scanability.

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 an 8-parameter, no-annotation, multi-action tool, the description covers the core workflow and the one non-obvious refusal rule, which is the most important thing an agent needs. It falls short on two undocumented parameters and on what a successful call returns or how ids are minted for new sources.

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 0%, so the description must compensate, and it does partially: it defines `kind` values (snapshot, live, transcript, web, owner), the `ref` forms (run id or file), `path`, `action`, and `verify_live`. However `task_id` and `captured_at` are never mentioned, and `id` is used ambiguously without saying whether it identifies the source or the note.

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?

"Sources behind knowledge" plus explicit operations (add registers/updates a source, cite/uncite link an existing source to a note) gives a specific verb+resource picture rather than a tautology. What's less clear is the distinction between the `id` of the source versus the note being cited, which muddies the object model slightly. No sibling overlaps on source management, so no sibling differentiation is strictly needed.

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 states per-action conditions: 'add' with `path` cites from that note, 'cite'/'uncite' work on existing sources, and it names an explicit alternative path when blocked ('refresh it with patch_header first'). It doesn't cover when to use `source` versus searching or reading, but the actionable routing guidance is present.

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