@bucketeer/docs-local-mcp-server
Version:
Local MCP Server to query Bucketeer documentation
38 lines (37 loc) • 1.15 kB
JavaScript
import { config } from '../../config/index.js';
export class SearchService {
indexManager;
constructor(indexManager) {
if (!indexManager.isIndexLoaded()) {
throw new Error('SearchService requires a loaded IndexManager');
}
this.indexManager = indexManager;
}
/**
* Performs a search for documents matching the query
*/
async search(query, limit = config.searchLimitDefault) {
try {
console.error(`Performing search for: "${query}" (limit=${limit})`);
const results = this.indexManager.search(query, limit);
console.error(`Found ${results.length} results for query.`);
return results;
}
catch (error) {
console.error(`Error during search for "${query}":`, error);
throw error;
}
}
/**
* Gets a document by path
*/
getDocument(path) {
try {
return this.indexManager.getDocument(path);
}
catch (error) {
console.error(`Error getting document for path "${path}":`, error);
return null;
}
}
}