Skip to main content
Glama
cskwork

Knowledge Retrieval Server

by cskwork

list-domains

Discover available knowledge domains and their document counts to identify relevant content areas for search and retrieval operations.

Instructions

List all available domains and their document counts.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The main handler for the 'list-domains' tool call. It invokes repository.listDomains(), formats the results into a markdown list, and returns as TextContent.
    case 'list-domains': { console.error(`[DEBUG] list-domains called`); const domains = repository.listDomains(); console.error(`[DEBUG] domains found: ${JSON.stringify(domains)}`); if (domains.length === 0) { const content: TextContent[] = [{ type: 'text', text: `## Available Domains\n\nNo domains found. Check if documents are loaded properly.` }]; return { content }; } const domainList = domains .map(d => `- ${d.name}: ${d.documentCount} documents`) .join('\n'); const content: TextContent[] = [{ type: 'text', text: `## Available Domains\n\n${domainList}` }]; return { content }; }
  • Core helper method in DocumentRepository that iterates over all documents, groups by domainName (default 'general'), and returns array of {name, documentCount}.
    listDomains(): Array<{ name: string; documentCount: number }> { this.ensureInitialized(); console.error(`[DEBUG] listDomains called on instance ${this.instanceId}, documents.size=${this.documents.size}`); const domainCounts = new Map<string, number>(); this.documents.forEach(doc => { const domain = doc.domainName || 'general'; console.error(`[DEBUG] Processing document: ID=${doc.id}, domain=${domain}`); domainCounts.set(domain, (domainCounts.get(domain) || 0) + 1); }); console.error(`[DEBUG] domainCounts Map: ${JSON.stringify([...domainCounts.entries()])}`); const result = Array.from(domainCounts.entries()).map(([name, count]) => ({ name, documentCount: count })); console.error(`[DEBUG] listDomains result: ${JSON.stringify(result)}`); return result; }
  • src/index.ts:253-260 (registration)
    Tool registration in ListToolsRequestSchema handler, including name, description, and empty input schema (no parameters required).
    { name: 'list-domains', description: 'List all available domains and their document counts.', inputSchema: { type: 'object', properties: {} } },
  • Input schema for 'list-domains' tool: empty object (no input parameters).
    inputSchema: { type: 'object', properties: {} }

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/cskwork/keyword-rag-mcp'

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