Skip to main content
Glama

add_knowledge

Save a decision, insight, test, or hypothesis — call this IMMEDIATELY when you learn something important, not just at end_session. Use type="decision" for architecture/approach choices, type="insight" for gotchas/workarounds/non-obvious facts. Always fill body (what), context (why it matters), outcome (consequence/result). Pin critical entries with pin_knowledge().

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYesFull content: what exactly was decided/discovered? Be specific — include code patterns, error messages, exact values if relevant.
tagsNoTags for filtering: e.g. ["gotcha", "auth", "docker"] or ["deployment", "ops"]
typeYesdecision=architecture/approach choice, insight=gotcha/fact/workaround, test=verified behavior, hypothesis=assumption to validate
titleYesShort descriptive title (the "what" in one line)
statusNodecision: "active"|"superseded" — insight: "confirmed"|"open" — test: "passed"|"failed" — hypothesis: "confirmed"|"rejected"|"open"
contextNoIMPORTANT: Why does this matter? What triggered it? What problem does it solve?
outcomeNoIMPORTANT: What was the result/consequence? What changed because of this?
projectIdYesProject ID

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden, but it mostly restates purpose and usage instructions rather than tool behavior. It implies that pinning is a separate action and that context/outcome should always be filled, but it does not disclose idempotency, duplicate-creation risk, return values, or side effects of the save operation.

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?

Three dense sentences with no filler; the immediate-call rule is frontloaded, and the type-specific guidance and pinning pointer are useful. The description slightly duplicates schema content for the 'decision' and 'insight' enums, but that redundancy does not hurt clarity.

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 a tool with 8 parameters and no output schema, the description covers purpose, timing, and recommended fields, and the schema covers all parameter definitions. However, it does not explain what the tool returns, whether repeated calls create duplicates, or how status/tags should be used, and it calls mandatory-sounding fields like context/outcome 'always fill' despite them not being declared required in the schema.

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 coverage is 100%, so the baseline is 3. The description adds an 'always fill body, context, outcome' instruction and inline meanings for decision/insight, but those meanings largely duplicate the schema's own type descriptions, and other parameters (status, tags, projectId, title) are left entirely to the schema.

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?

Description clearly identifies the tool as a save operation for knowledge items ('Save a decision, insight, test, or hypothesis') and gives it a distinct role from simple chat/entry creation. However, it does not explicitly differentiate the tool from sibling tools like add_knowledge_refs or update_knowledge, so the distinction relies on the tool name and the mention of pin_knowledge.

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?

Provides explicit timing guidance ('call this IMMEDIATELY when you learn something important, not just at end_session') and maps type values to concrete use cases for decision and insight. It also points to pin_knowledge() as a complementary step, but does not state when to use alternatives such as add_knowledge_refs or update_knowledge.

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.

TDQS

B3/5.0
Disambiguation3/5

Most tools target distinct resources (elements, knowledge, tasks, datasets, snapshots), but a few pairs blur boundaries: create_project/init_project both create projects, and pin_knowledge/set_knowledge_relevance both mark importance for future agents. The descriptions help separate them, but misselection is possible without careful reading.

Naming Consistency3/5

Tool names consistently use snake_case verb_noun and have solid list_/get_/search_ conventions. However creation verbs are inconsistent (add_element vs create_entry vs save_dataset vs init_project), and deletion mixes delete_entry/delete_file with remove_element, making the naming pattern less predictable than it could be.

Tool Count2/5

48 tools is well above the typical well-scoped range, and the set includes many lifecycle variants (create/init/save/add, delete/remove, update/set) that inflate the count. While the server covers a broad domain, the sheer number makes it heavy and harder for an agent to navigate.

Completeness3/5

The core surfaces (projects, elements, knowledge, timeline, tasks, chats, datasets, snapshots, files) have solid create/read/update coverage, with search and session-handoff tools. Notable gaps exist: read_file references a download path for binary files that no tool provides, and there is no get_entry or delete/archive for projects, datasets, snapshots, or chat sessions.

Resources