Skip to main content
Glama
ispyridis

Calibre RAG MCP Server

by ispyridis

list_projects

Retrieve all available RAG projects for organizing and searching your Calibre ebook library content.

Instructions

List all available RAG projects

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • server.js:1004-1011 (registration)
    Registration of the list_projects tool including its name, description, and empty input schema in the tools/list response.
        name: 'list_projects',
        description: 'List all available RAG projects',
        inputSchema: {
            type: 'object',
            properties: {},
            required: []
        }
    },
  • Handler implementation in handleToolsCall switch case. Lists projects from this.projects Map, computes stats, formats a markdown text response and structured projects array.
    case 'list_projects':
        const projectList = Array.from(this.projects.entries()).map(([name, config]) => ({
            name,
            description: config.description,
            book_count: config.books.length,
            chunk_count: config.chunk_count,
            created_at: config.created_at,
            last_updated: config.last_updated
        }));
        
        this.sendSuccess(id, {
            content: [{
                type: 'text',
                text: `Available RAG Projects (${projectList.length}):\n\n` +
                    projectList.map(p => 
                        `• **${p.name}**: ${p.description}\n` +
                        `  Books: ${p.book_count}, Chunks: ${p.chunk_count}\n` +
                        `  Created: ${p.created_at}\n`
                    ).join('\n')
            }],
            projects: projectList
        });
        break;

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/ispyridis/calibre-rag-mcp-nodejs'

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