Skip to main content
Glama

Return a summary for a queued item

driftnet_enrich

Submit a summary for a leased pending item to end its lease, validate fields, reject prompt-injection text, verify the primary URL, and catalogue recommended open-source tools.

Instructions

Store the summary you wrote for an item you leased with driftnet_pending; this ends your lease and takes the item off the queue. driftnet validates the fields, rejects text containing prompt-injection patterns, drops primary_url if the address does not exist, and looks up open-source tools listed in mentions on GitHub and catalogues them as items of their own. On rejection it returns an error with the reason and the item stays leased to you, so fix the fields and call again. Only items that are still pending can be enriched: a second call for an item that already has a summary is refused. If the reader placed the item in a folder themselves, category is ignored.

Input Schema

NameRequiredDescriptionDefault
idYesThe item id from driftnet_pending
nameYesThe tool's own name, untranslated, as people would search for it (e.g. its GitHub repo name)
tagsNoA few lowercase keywords, e.g. 'pdf', 'ocr', 'cli'
worthNoskip: not a usable tool or nothing to read; low: marginal; normal: worth a look; must-see: exceptional
categoryNoThe best-fitting folder id from the brief's folder list
mentionsNoOther tools the content recommends — not ones it only compares against or argues against
one_linerYesWhat it is, one short sentence in the language from the driftnet_pending brief
use_casesNoUp to 3 situations where someone would use it
highlightsYesUp to 3 concrete things it does, each a short phrase; only facts you read
primary_urlNoThe tool's repo or official site, only if you saw it; driftnet verifies it exists

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed25 schema fields changedv0.1.1
    • addedInput schema / properties / category / description
      Added value: +"The best-fitting folder id from the brief's folder list"
    • changedInput schema / properties / highlights / description
      Previous value: -"Up to 3 concrete things it does"New value: +"Up to 3 concrete things it does, each a short phrase; only facts you read"
    • addedInput schema / properties / highlights / items / maxLength
      Added value: +300
    • addedInput schema / properties / highlights / maxItems
      Added value: +5
    • addedInput schema / properties / id / description
      Added value: +"The item id from driftnet_pending"
    • addedInput schema / properties / id / exclusiveMinimum
      Added value: +0
    • removedInput schema / properties / id / minimum
      Removed value: --9007199254740991
    • addedInput schema / properties / mentions / description
      Added value: +"Other tools the content recommends — not ones it only compares against or argues against"
    • addedInput schema / properties / mentions / items / properties / name / description
      Added value: +"Name of another tool the content recommends"
    • addedInput schema / properties / mentions / items / properties / open_source / description
      Added value: +"True if it is open source; such tools are looked up on GitHub and catalogued too"
    • addedInput schema / properties / mentions / maxItems
      Added value: +8
    • changedInput schema / properties / name / description
      Previous value: -"The tool or project name"New value: +"The tool's own name, untranslated, as people would search for it (e.g. its GitHub repo name)"
    • addedInput schema / properties / name / maxLength
      Added value: +120
    • addedInput schema / properties / name / minLength
      Added value: +1
    • changedInput schema / properties / one_liner / description
      Previous value: -"What it is, one short sentence"New value: +"What it is, one short sentence in the language from the driftnet_pending brief"
    • addedInput schema / properties / one_liner / maxLength
      Added value: +300
    • addedInput schema / properties / one_liner / minLength
      Added value: +1
    • changedInput schema / properties / primary_url / description
      Previous value: -"Repo or official site, only if you saw it"New value: +"The tool's repo or official site, only if you saw it; driftnet verifies it exists"
    • addedInput schema / properties / tags / description
      Added value: +"A few lowercase keywords, e.g. 'pdf', 'ocr', 'cli'"
    • addedInput schema / properties / tags / items / maxLength
      Added value: +40
    • addedInput schema / properties / tags / maxItems
      Added value: +8
    • addedInput schema / properties / use_cases / description
      Added value: +"Up to 3 situations where someone would use it"
    • addedInput schema / properties / use_cases / items / maxLength
      Added value: +300
    • addedInput schema / properties / use_cases / maxItems
      Added value: +5
    • addedInput schema / properties / worth / description
      Added value: +"skip: not a usable tool or nothing to read; low: marginal; normal: worth a look; must-see: exceptional"
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only flag this as a non-read-only, non-idempotent, open-world write. The description adds far more: server-side validation, prompt-injection rejection, silent dropping of primary_url when the address doesn't exist, GitHub lookup of mentioned open-source tools that creates new catalogue items, and the fact that a rejection leaves the item still leased so the call can be retried.

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 its side effect, then the validation/rejection behavior. It is dense with several clauses per sentence, but nearly every clause carries actionable information for an agent; a small amount of tightening is possible.

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?

There is no output schema, so the description carries the return contract — it explains the error-with-reason response on rejection and the side effect of creating new items from mentions. For a write tool with 10 parameters, nothing an agent needs in order to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics beyond the schema: category is ignored when the reader already filed the item in a folder, primary_url is verified and dropped if nonexistent, and mentions with open_source=true trigger GitHub lookup and separate catalogue entries.

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 ('Store the summary you wrote for an item you leased with driftnet_pending') and adds the key effect ('ends your lease and takes the item off the queue'). Names the sibling tool it pairs with, so it is clearly distinguishable from driftnet_save and driftnet_pending.

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?

Explicitly says to use it on an item leased via driftnet_pending, and states the exclusion: 'Only items that are still pending can be enriched: a second call for an item that already has a summary is refused.' The retry path after a rejection is also spelled out.

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