Skip to main content
Glama

Add Brand Knowledge

add_knowledge

Add a source to the brand's knowledge base.

Knowledge is the brand-truth Trakkr feeds into AI-facing content generation. Feed in a positioning doc, a product page, a founder Q&A, so generated articles and answers stay accurate. Two modes:

  • source_type='text': paste raw text. Needs content (roughly 50 to 100,000 tokens; under ~200 characters is rejected as too short).

  • source_type='url': ingest a web page. Needs url (http/https). The page is fetched and its text extracted server-side.

Processing is async. The call returns fast with status='pending'; the source is then chunked and embedded in the background. Poll get_knowledge(brand_id, view='sources') until status is 'ready' (or 'error'). Duplicate content (same text already added) is rejected.

Args: brand_id: The brand to add knowledge to (required). source_type: 'text' or 'url' (required). content: The raw text. Required when source_type='text'. url: The page URL. Required when source_type='url'. name: Optional display name. Defaults to a derived label or the page title.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
nameNo
contentNo
brand_idYes
source_typeYes
user_intentNoAnalytics hint: the user's latest request in one short sentence. Omit secrets and prior chat.

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?

Annotations declare the mutation profile (readOnlyHint=false, openWorldHint=true, idempotentHint=false), and the description adds substantial non-obvious behavior: processing is async, the call returns fast with status='pending', chunking/embedding happens in the background, and duplicate content is rejected. These async and dedup traits are not derivable from annotations or schema.

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-loads purpose, then the two modes, then processing behavior, then arg details, which is a logical order. It is somewhat long and the Args block partially restates the mode requirements already given in prose (content/url requiredness), a minor redundancy that keeps it just short of maximal conciseness.

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 6-param mutation tool with no output schema, the description covers mode selection, required inputs, async lifecycle, the polling path via get_knowledge, and failure conditions. An agent has everything needed to call it correctly and to handle the pending→ready/error transition.

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 description coverage is only 17%, so the description carries the burden and does so well: it documents brand_id, source_type, content (with a ~50–100,000 token range and a ~200-character minimum), url (http/https, server-side fetch/extract), and name (default derivation). The only undocumented param, user_intent, has its own schema description, so nothing important is left ambiguous.

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 ('Add a source to the brand's knowledge base') and immediately frames the domain ('knowledge is the brand-truth Trakkr feeds into AI-facing content generation'). This clearly distinguishes it from get_knowledge (read) and manage_knowledge (sibling mutation), so an agent can tell what it does without opening the 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?

Explicitly enumerates the two modes (source_type='text' vs 'url') with the conditions and required fields for each, and states the dupe-rejection rule. It also routes the agent to the follow-up sibling: poll get_knowledge(brand_id, view='sources'). When-to-use is fully specified.

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