Skip to main content
Glama

Local Project Memory Search

project_memory_search
Read-onlyIdempotent

Search stored project knowledge—papers, codebases, plans, and decisions—using a single query with exact, BM25, vector, and graph retrieval. Fuses results with RRF and returns bounded summaries, never external sources.

Instructions

LOCAL PROJECT KNOWLEDGE SEARCH ONLY. With research enabled, one local broker lets multiple MCP sessions query the same knowledge base concurrently and orders writes safely. Always use this tool when the user asks to find, recall, inspect, or search information already stored in project memory, indexed local roots, papers, codebases, plans, experiments, or decisions. Use query_variants for multiple retrieval angles in one call instead of opening terminals or calling this tool repeatedly. Query embeddings are batched, candidates are fused with RRF, graph expansion starts from retrieved evidence, and the primary query is reranked once. Only bounded query-focused summaries from that final ranking are returned; stored bodies never bypass this response gate. Uses exact, BM25, vector, and graph retrieval. It never opens Google, a browser, or SearchApi. Use search or search_parallel only when new external information is required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum local RAG results.
queryYesNatural-language query over indexed local project knowledge.
project_idNoPrimary project to search. Required unless all_projects=true.
all_projectsNoSearch every active named project. Excludes Inbox and cannot be combined with project ids.
query_variantsNoOptional retrieval variants executed inside this one broker request. Exact identifiers and quoted phrases are added deterministically, candidates are fused with RRF, and the primary query is reranked once. Do not make repeated terminal or tool calls for query variants.
include_project_idsNoAdditional read-only projects searched with the primary project.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
metaNo
errorNo
indexNo
plansNo
queryNo
entityNo
forgetNo
memoryNo
recordNo
projectNo
resultsNo
sessionNo
entitiesNo
projectsNo
assertionNo
decisionsNo
elapsed_msNo
job_countsNo
plan_countNo
experimentsNo
entity_countNo
memory_handleNo
session_countNo
visualizationNo
decision_countNo
document_countNo
assertion_countNo
correction_countNo
experiment_countNo
search_event_countNo
source_entry_countNo
active_source_snapshotNo
entity_operation_countNo
citation_observation_countNo

Schema Changelog

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

  1. Changed3 schema fields changedv1.0.6
    • addedOutput schema / properties / decision_count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / experiment_count
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / plan_count
      Added value: +{
      +  "type": "number"
      +}
  2. Changed1 schema field changedv1.0.4
    • addedInput schema / properties / query_variants
      Added value: +{
      +  "description": "Optional retrieval variants executed inside this one broker request. Exact identifiers and quoted phrases are added deterministically, candidates are fused with RRF, and the primary query is reranked once. Do not make repeated terminal or tool calls for query variants.",
      +  "items": {
      +    "maxLength": 400,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 19,
      +  "type": "array"
      +}
  3. Changed2 schema fields changedv1.0.2
    • addedOutput schema / properties / results / items / properties / source_length
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / results / items / properties / truncated
      Added value: +{
      +  "type": "boolean"
      +}
  4. Addedv1.0.0

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=true, and the description adds substantial context beyond them: concurrent broker behavior, write ordering, RRF fusion, reranking, and the response gate that returns only bounded query-focused summaries while stored bodies never bypass it. This rich behavioral detail helps an agent understand side effects and output boundaries.

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 dense but every sentence earns its place: scope, concurrency, when-to-use, variant guidance, retrieval pipeline, response gate, and external-search exclusion. It is front-loaded with the most important constraint ('LOCAL PROJECT KNOWLEDGE SEARCH ONLY') and avoids filler while still being comprehensive.

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 tool's complexity, six parameters, and existing output schema, the description covers everything an agent needs: scope, usage conditions, alternatives, internal query pipeline, response restrictions, and anti-external behavior. The output schema handles return-value structure, so the description's omission of that detail is appropriate.

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 100%, so the baseline is 3. The description adds value on top by explaining query_variants as a way to get multiple retrieval angles in one call and by noting that the primary query is reranked once, giving behavioral meaning beyond the schema's type and bounds. It does not need to restate parameter mechanics because the schema already documents them.

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 'LOCAL PROJECT KNOWLEDGE SEARCH ONLY' and states a specific verb and resource: search over project memory, indexed local roots, papers, codebases, plans, experiments, and decisions. It also names retrieval modes (exact, BM25, vector, graph) and explicitly excludes external sources, clearly distinguishing it from sibling search tools.

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?

It gives explicit always-use guidance: 'Always use this tool when the user asks to find, recall, inspect, or search information already stored in project memory.' It also tells the agent when not to use it: 'Use search or search_parallel only when new external information is required,' and directs query_variants usage instead of repeated calls.

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

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/HarimxChoi/google-surf-mcp'

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