Skip to main content
Glama
Palanx

grimoire-beholder-mcp

by Palanx

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LIBRARY_DIRYesAbsolute path to the directory containing config.toml and book.db
PROJECT_DIRYesAbsolute path to the grimoire-beholder-mcp project directory (where uv sync was run)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_booksA

List every book in the library, with its id, slug, name, author, type, and page count.

get_book_outlineA

Return one book's chapter/section outline -- the map for get_section.

Lists every chapter (chapter_index, title, page_start) and, nested under each, its sections (section_index, title, page_start, approx_tokens). Auto-split sections have no native title; one is synthesized from a text snippet so it's still identifiable. Returns no section text -- that's get_section's job; this is just the map.

Typical flow: list_books -> get_book_outline(book_id) -> get_section( book_id, chapter_index, section_index) for targeted reading. Use search_book instead when you don't already know which section to read.

search_bookA

Search the library and return cited, scored excerpts.

Combines semantic and keyword search by default. Optionally scope to one book (book_id), or filter by exact author or source_type (one of "pdf", "epub", "markdown", "text").

get_sectionB

Fetch one section's full text and summary.

The parent of a search_book hit, or a section located via get_book_outline's chapter_index/section_index map.

book_statusA

Report ingest status (chapter/section counts, chunk counts per stage) for every book.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: list_books for listing, book_status for ingest status, get_book_outline for structure, get_section for content, and search_book for queries. No overlap or ambiguity.

Naming Consistency4/5

Most tools follow a verb_noun pattern (list_books, get_book_outline, get_section, search_book), but book_status uses a noun_noun format, creating a slight inconsistency. Overall still readable.

Tool Count5/5

Five tools is an ideal number for a library reading server, covering all essential read and search operations without unnecessary complexity.

Completeness5/5

The tool surface covers listing, status, navigation, content retrieval, and search. No obvious gaps for the stated purpose of browsing and reading books.

Maintenance

ActivityStale
ResponsivenessNo issues