Skip to main content
Glama

ck_memory_search

Read-onlyIdempotent

Retrieve prior decisions, findings, and proofs from session memory using free text search across records. Filter by record type, source, or limit results to find relevant context.

Instructions

Search governed typed memory for the current session to recover prior decisions, findings, proofs, and domain knowledge. Read-only. query is a freeform text search applied across record titles, bodies, and tags. record_type filters by type (decision, finding, proof, goal, brief, checkpoint); omit to search all types. top_k limits the number of ranked results (default 10). source_type and source_id filter by origin. Returns ranked records with citations and scores. Use ck_memory_search to retrieve what was recorded in prior steps or sessions. Use ck_memory_record to write new records. Use ck_experience_search for full-text search across findings and tasks workspace-wide.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detail_levelNocompact (default) returns title/summary/tags per record; full additionally includes each record's body and metadata. Use compact to save tokens, full when you need the record contents.
project_rootNoAbsolute path to the project root directory on the local filesystem.
queryYesSearch query string for filtering or full-text search.
record_typeNoRecord type classification.
session_idNoUnique session identifier for correlating findings, proofs, budget, and audit trail.
source_idNo
source_typeNoOrigin category of the record (e.g., developer, tool_output, human_review).
task_idNoTask identifier within the session for scoped operations.
top_kNoMaximum number of top-ranked results to return.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo
detail_levelNo
queryNo
recordsNo
semantic_availableNo
Behavior4/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description reinforces 'Read-only' and adds details about search behavior (freeform text across titles, bodies, tags), filtering options, and return type (ranked records with citations and scores). This adds useful context beyond annotations, though it could mention pagination or rate limits.

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 concise, about 100 words, front-loads the purpose, and then efficiently covers necessary details and alternatives without wasted words.

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?

Given the high schema coverage, presence of annotations and output schema, the description provides a complete picture: it explains what the tool does, how to use parameters, and what the output contains ('ranked records with citations and scores'). With 9 parameters and good documentation, it is contextually complete.

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 description coverage is 89%, high. The description explains key parameters like query (freeform text search), record_type (filter by type), top_k (default 10), source_type/source_id (filter by origin), and detail_level (compact vs full). This adds usage context beyond the schema's parameter descriptions, justifying a score above baseline 3.

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 clearly states the tool's purpose: 'Search governed typed memory for the current session to recover prior decisions, findings, proofs, and domain knowledge.' It uses a specific verb ('Search') and resource ('governed typed memory') and provides examples of what can be retrieved. It also distinguishes from sibling tools like ck_memory_record and ck_experience_search.

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?

The description explicitly explains when to use the tool ('Use ck_memory_search to retrieve...') and when not to, providing alternatives: 'Use ck_memory_record to write new records. Use ck_experience_search for full-text search across findings and tasks workspace-wide.' This clearly guides on tool selection.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aryaminus/controlkeel'

If you have feedback or need assistance with the MCP directory API, please join our Discord server