Skip to main content
Glama

knowledge

Destructive

Manage and search the source library that grounds generated outreach messages. Add documents, refresh campaigns, and retrieve evidence to support claims.

Instructions

Curate the knowledge base that grounds generated messages. Hosted only.

Four kinds of source live in it: "upload" (documents added here),
"website" (crawled pages from your own site), "campaign" (campaign
context and offerings) and "reply_exemplar" (replies that worked).
Message generation quotes them, so what is in here decides what the
agent may claim.

Args:
    action: What to do:
        "list"    — Show every source with kind, chunk count, and embed status
        "add"     — Upload one document (needs title and text)
        "remove"  — Delete one source (needs source_id)
        "refresh" — Re-ingest the derived corpus (website, campaigns, exemplars)
        "search"  — Retrieve grounded evidence for a query
    title: Document title, for 'add'.
    text: Document body, for 'add'. Required.
    source_uri: Where the document came from, for 'add'. Optional.
    source_id: Which source to delete, for 'remove'. From 'list'.
    scope: What to re-ingest, for 'refresh': "all" (default), "website",
        "campaigns", or "exemplars".
    campaign_id: Restrict 'refresh' or 'search' to one campaign.
    query: What to retrieve, for 'search'. Required.
    kinds: Comma-separated source kinds — "upload,website,campaign,
        reply_exemplar". Filters 'search'; 'list' uses the first one.
    top_k: Max evidence chunks for 'search' (default 6, clamped to 1-50).
    sync: For 'refresh'. False (default) queues a background job and
        returns immediately — re-run knowledge(action='list') in a
        minute to watch the chunk counts land. True blocks until the
        re-ingest finishes and reports a summary; it can take minutes,
        and the backend only allows it for scope "campaigns" or
        "exemplars" (scope "all" is refused with the reason).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
syncNo
textNo
kindsNo
queryNo
scopeNoall
titleNo
top_kNo
actionNolist
source_idNo
source_uriNo
campaign_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.375

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only flag readOnlyHint=false, destructiveHint=true, and openWorldHint=true. The description goes far beyond this: it details deletion of sources, background vs. blocking refresh behavior, a backend restriction on sync scope 'all', the need to re-run list to see chunk counts, and the effect on agent claims. No contradiction with annotations.

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

Conciseness5/5

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

The description is well-organized, front-loaded with purpose, then structured as a clear Args list. Every sentence provides actionable information; no filler or redundant phrasing. It is long because the tool is complex, but each line earns its place.

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?

With 11 parameters, zero schema descriptions, an output schema present, and complex behavioral nuances, this description covers all bases: parameter semantics, edge cases (blocking sync restriction), and expected follow-up actions. Nothing an agent needs to invoke the tool correctly is missing.

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?

Schema coverage is 0%, so the description carries the entire semantic burden. Every one of the 11 parameters is explained with its role, valid values (for action, scope, kinds), requirements (text required for 'add'), defaults (top_k=6 clamped to 1-50), and behavior (sync false queues background job). This fully compensates for the empty schema.

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?

The description opens with a specific verb+resource combination: 'Curate the knowledge base that grounds generated messages.' It enumerates the four kinds of sources and explains their role, distinguishing this tool from all siblings (scheduler, send_message, etc.) without ambiguity.

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?

The description gives clear context by stating that message generation quotes the knowledge base, implying when curation matters, and enumerates five action verbs covering the main use cases. It does not explicitly name alternatives or provide 'use this instead of X' guidance, but none of the sibling tools overlap with this functionality, so a 4 is appropriate.

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