@sanderkooger/mcp-server-ragdocs
Version:
An MCP server for semantic documentation search and retrieval using vector databases to augment LLM capabilities.
64 lines (63 loc) • 1.97 kB
JavaScript
import { BaseHandler } from './base-handler.js';
import fs from 'fs/promises';
import path from 'path';
import { fileURLToPath } from 'url';
// Get current directory in ES modules
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const QUEUE_FILE = path.join(__dirname, '..', '..', 'queue.txt');
export class ListQueueHandler extends BaseHandler {
constructor(server, apiClient) {
super(server, apiClient);
}
async handle(_args) {
try {
// Check if queue file exists
try {
await fs.access(QUEUE_FILE);
}
catch {
return {
content: [
{
type: 'text',
text: 'Queue is empty (queue file does not exist)'
}
]
};
}
// Read queue file
const content = await fs.readFile(QUEUE_FILE, 'utf-8');
const urls = content.split('\n').filter((url) => url.trim() !== '');
if (urls.length === 0) {
return {
content: [
{
type: 'text',
text: 'Queue is empty'
}
]
};
}
return {
content: [
{
type: 'text',
text: `Queue contains ${urls.length} URLs:\n${urls.join('\n')}`
}
]
};
}
catch (error) {
return {
content: [
{
type: 'text',
text: `Failed to read queue: ${error}`
}
],
isError: true
};
}
}
}