docshelf-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DOCSHELF_ROOT | Yes | Path to the shelf directory containing the document collection. |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| docshelf_init_shelfA | Bootstrap a new document shelf at Creates the directory layout ( Idempotent — safe to call on an existing shelf to update metadata. |
| docshelf_add_documentA | Add a PDF or Markdown file to the shelf and refresh INDEX.md.
|
| docshelf_add_directoryA | Add every matching file in a directory, rebuilding INDEX.md once. Scans |
| docshelf_read_documentA | Read a document or section file from inside the shelf's Returns the file content directly over MCP — useful for private or
purely-local shelves where the |
| docshelf_remove_documentA | Remove a document — its file, split sections, and metadata entry. Accepts the filename, the slug, or the human title used at add time.
INDEX.md is regenerated automatically. Pass |
| docshelf_rename_documentA | Retitle, recategorize, or re-describe a document — no re-conversion. Moves the document |
| docshelf_rebuild_indexA | Regenerate Useful after manual edits to |
| docshelf_doctorA | Check the shelf for drift and optionally apply the safe fixes. Reports stale |
| docshelf_searchA | Plain-text search across every Markdown file in the shelf. Tokens are space-split; each must appear (case-insensitive) for a hit
to count. If no file contains all tokens, the search falls back to
any-token matching and the response reports |
| docshelf_list_documentsA | List documents grouped by category. Pass a |
| docshelf_convert_pdfA | Standalone PDF → Markdown conversion (no shelf, no INDEX update). Use when you want the converted file but don't yet want to commit it to a shelf. Optionally splits the result by H2. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a distinct operation: init, add single, add batch, read, remove, rename, rebuild index, doctor check, search, list, and standalone conversion. While add_document and convert_pdf both handle PDF conversion, the former commits to the shelf while the latter does not, making their purposes clearly separable. No two tools appear to overlap in function.
All tools follow a consistent `docshelf_<verb>_<noun>` snake_case pattern, with clear, descriptive verbs like add, remove, rename, search, list, convert. The only slightly unusual verb is 'doctor', but it is intuitive for a health-check tool. The prefix is uniformly applied across all 11 tools, creating a strong, predictable convention.
11 tools is well within the ideal 3–15 range for a domain-specific server. Each tool serves a distinct need in the document shelf lifecycle, from initialization and document ingestion to search, maintenance, and standalone conversion. No tool feels superfluous, and the surface is neither too sparse nor overloaded.
The tool set covers the full lifecycle of a document shelf: create (init), add documents (both single and batch), read, remove, rename (update metadata), list, search, and rebuild the index. Additionally, a 'doctor' tool addresses drift repair and a standalone PDF converter supports pre-shelf workflows. There are no obvious gaps or dead ends for the stated purpose.