What this means in practice
Use them for:- documentation
- policies
- runbooks
- reference notes
- scoped project or workspace knowledge
Scope and source roles
Knowledge bases can carry:scope— tenant, channel, peer, or project visibility boundaryagentId— agent/client visibility boundarysourceRole— why this corpus exists, such asvoice_style,persona_guardrail,canonical_reference, orclient_context
sourceRole for ranking, but KB list/query calls keep visibility explicit. A KB that exists but is not listed may be hidden by agentId, scope, channel, inactive status, or strict peer policy.
For coding workflows, associate imported repo docs and remembered repo facts with projectId or repoSlug so agents working in one repository do not receive unrelated repository context.
How it actually works
Key repo surfaces:convex/crystal/knowledgeBases.tsconvex/crystal/knowledgeHttp.tspackages/mcp-server/README.mdconvex/schema.ts
Commands / examples
Representative tool names:crystal_list_knowledge_basescrystal_query_knowledge_basecrystal_import_knowledge
Common mistakes
- treating Knowledge Bases as just another name for memory stores
- forgetting the difference between stable reference data and conversational memory
- documenting import/query behavior without checking the actual HTTP/tool surfaces
- using broad recall when the user asked about a named KB or source document
- omitting
agentId,channel,projectId, orrepoSlugin multi-agent or multi-repo clients
Source of truth
Primary files behind this page:convex/crystal/knowledgeBases.tsconvex/crystal/knowledgeHttp.tspackages/mcp-server/README.mdconvex/schema.ts