LLMDoc
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LLMDOC_DB_PATH | No | Custom database path (default: ~/.llmdoc/index.db) | |
| LLMDOC_SOURCES | Yes | Comma-separated list of sources in format name:url or just url | |
| LLMDOC_ENABLE_FTS | No | Enable FTS indexing (default: true) | |
| LLMDOC_MAX_CONCURRENT | No | Max concurrent document fetches (default: 5) | |
| LLMDOC_REFRESH_INTERVAL | No | Refresh interval in hours (default: 6) | |
| LLMDOC_SKIP_STARTUP_REFRESH | No | Skip refresh on startup (default: false) |
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 |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_docsA | Search documentation and return relevant passages with source URLs. Use this tool when you need to find information about specific topics, APIs, or concepts. The search uses BM25 ranking for relevance. Args: query: The search query to find relevant documentation. limit: Maximum number of results to return (default: 5). source: Optional source name to filter results (e.g., 'fast_mcp', 'pydantic_ai'). Returns: List of search results with title, snippet, url, source (name), source_url, and score. |
| get_docA | Get document content with pagination support for large documents. For documents larger than 50KB, use offset/limit to paginate through content. The response includes has_more=True if more content is available. For targeted retrieval, use get_doc_excerpt instead. Args: url: The URL of the document (as returned by search_docs). offset: Start position in bytes (default: 0). limit: Max bytes to return per call (default: 50000, max: 100000). Returns: Document with content chunk, pagination metadata (offset, length, total_length, has_more). |
| get_doc_excerptA | Get relevant excerpts from a large document matching a query. Use this instead of get_doc for large documents. Returns targeted excerpts based on BM25 relevance to your query. Args: url: The URL of the document. query: Query to find relevant sections within the document. max_chunks: Maximum number of chunks to return (default: 5). context_chars: Extra context characters around each chunk (default: 500). Returns: Document metadata with list of relevant excerpts, each containing content, position, and relevance score. |
| list_sourcesA | List all configured documentation sources with their statistics. Use this to discover what documentation sources are available for searching. Each source has a name that can be used to filter search_docs results. Returns: List of sources with name, url, doc_count, and last_updated. |
| refresh_sourcesA | Manually trigger a refresh of all documentation sources. This fetches documentation from all configured llms.txt URLs and updates the local index. Use this when you need the latest documentation content. Returns: Dictionary with refreshed_count, indexed_documents, indexed_chunks, sources, and any errors. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_sources_resource | Provides list of documentation sources as a resource. Returns configured sources and refresh interval settings. |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: search_docs for global search, get_doc for full content with pagination, get_doc_excerpt for targeted extraction, list_sources for source discovery, and refresh_sources for index updates. The overlap between search_docs and get_doc_excerpt is adequately clarified by their descriptions.
All tool names follow a consistent verb_noun snake_case pattern (search_, get_, list_, refresh_), making the API predictable and easy to navigate.
With 5 tools, the server is well-scoped for a documentation search and retrieval service. Each tool is necessary and covers a distinct operation without redundancy.
The core workflow is covered: discover sources, search, retrieve full or excerpted content, and refresh the index. Minor gaps exist around source management (e.g., adding/removing sources) and listing all documents within a source, but these are not critical for standard usage.