crystal_list_knowledge_bases discovers reference corpora and returns their IDs, counts, activity state, and available access metadata.
Available on hosted HTTP MCP and stdio MCP.
When to use
List bases before selecting a corpus by name or ID. Use query to search its contents and manage to enumerate chunks or change access.crystal_list_knowledge_bases uses GET /api/knowledge-bases. The response contains knowledgeBases. Rows use _id, isActive, memoryCount, totalChars, createdAt, and updatedAt, alongside name, description, and available access/source metadata such as agentIds, scope, and sourceRole.
Scoped listing applies identity visibility. A fully unscoped list is an owner management inventory, not proof that every listed base is available in a scoped query. Channel context helps resolve identity; it does not select KBs by source application. Project filters and a fixed enumeration of channel types are not supported by this schema.
An empty scoped result can mean an identity mismatch. Check the access settings and use the same explicit identity for querying.
Examples
Examples use placeholder IDs. Replace them with IDs returned by your account. MCP examples show the JSON tool arguments and the JSON inside the tool result, not the outer MCP envelope.Discover visible active bases
Request:Inspect inactive bases in the owner inventory
Request:Use the returned IDs
Pass the row’s_id as knowledgeBaseId to query/import tools. includeInactive changes listing, not query eligibility: inactive bases still cannot be used like active reference corpora. Scope is conversation context, not a filter for which application imported the KB.
Errors and common mistakes
An empty list is not necessarily an empty account. Verify the resolvedagentId and allow-list. An unscoped owner inventory can include bases a scoped caller cannot query. Do not expect project filters or a list of all channel names.