mcp-knowledgebase-retriever
Facilitates the fetching and semantic processing of documentation assets via vector indexing, enabling generative AI agents to seamlessly integrate pertinent factual context into their outputs. This utility supports federated data sources and incorporates advanced semantic search capabilities for highly precise information retrieval.
Author

hannesrudolph
Quick Info
Actions
Tags
Knowledge Retrieval Augmentation Daemon (RAGDocs) MCP Utility
This implementation of an MCP server furnishes specialized apparatus for accessing and interpreting proprietary documentation through high-dimensional vector indexing, empowering intelligent assistants to enrich their generated content with grounded, relevant artifacts.
Core Capabilities
- Retrieval and indexing of documentation based on vector embeddings
- Interoperability with disparate documentation repositories
- Advanced semantic matching functionality
- Automated ingestion pipeline for raw documentation
- Immediate contextual injection for Large Language Models (LLMs)
Available Functionality
query_document_store
Execute searches against the indexed documentation repository utilizing natural language inputs. Yields relevant textual segments, complete with source context, sorted by conceptual alignment.
Parameters:
- search_term (string): The input phrase, conceptual question, specific identifier, or code fragment to locate within the indexed materials.
- result_cap (number, optional): The maximum quantity of matching records to return (constrained between 1 and 20; defaults to 5). Larger quotas yield more exhaustive results but may incur greater latency.
enumerate_data_indices
Provide a complete manifest of all currently indexed and accessible documentation repositories. The output details source identifiers, associated metadata (like titles), and the timestamp of the last successful update cycle. Essential for verifying data completeness or selecting targeted subsets for querying.
ingest_web_links
Crawl a designated web location, identify all embedded Uniform Resource Locators (URLs), and optionally queue these newly discovered links for asynchronous ingestion into the vector index.
Parameters:
- target_url (string): The fully qualified address of the webpage to be analyzed (protocol inclusion, e.g., https://, is mandatory). The target must be publicly reachable via standard web requests.
- stage_for_processing (boolean, optional): If set to true, newly discovered URLs are immediately appended to the ingestion pipeline for future indexing. Exercise restraint when targeting expansive sites to mitigate queue overflow.
deprecate_source_material
Purge designated documentation assets from the system inventory using their registered URLs. This action results in the permanent erasure of the indexed vectors and content, immediately impacting subsequent search operations.
Parameters:
- source_identifiers (string[]): An array containing the precise URLs whose associated data must be expunged from the persistence layer.
view_processing_pipeline
Display the current backlog of Uniform Resource Locators slated for documentation processing. This tool offers visibility into pending ingestion tasks that await execution via the execute_pipeline command, useful for tracking backlog size and confirming successful initial staging.
execute_pipeline
Initiate the sequential parsing and vector embedding generation for every URL currently resident in the processing queue. The operation incorporates robust error management and retry mechanisms. Feedback on execution progress is relayed incrementally. The process continues until the queue is depleted or a critical, unrecoverable failure halts operations.
flush_processing_queue
Erase every pending entry from the documentation ingestion queue. This is an immediate and irreversible operation, necessitating re-addition of any desired future processing targets.
Operational Context
This RAG Documentation apparatus is optimally suited for:
- Improving the factual grounding of AI-generated narratives
- Constructing informational agents specialized in proprietary knowledge
- Implementing context-aware developer tooling
- Deploying high-fidelity semantic lookup mechanisms
- Enriching existing internal knowledge repositories
Setup Configuration
Integration within Claude Desktop Environment
Incorporate the following structure into your claude_desktop_config.json file:
{ "mcpServers": { "rag-docs": { "command": "npx", "args": [ "-y", "@hannesrudolph/mcp-ragdocs" ], "env": { "OPENAI_API_KEY": "", "QDRANT_URL": "", "QDRANT_API_KEY": "" } } } }
Configuration requires provisioning values for the subsequent requisite environment variables:
- OPENAI_API_KEY: Authentication credential required for generating vector embeddings via OpenAI services.
- QDRANT_URL: The endpoint address for the operational Qdrant vector database.
- QDRANT_API_KEY: The secret token needed for authenticating access to the Qdrant instance.
Licensing Stipulations
This MCP utility is distributed under the permissive MIT License. This grants extensive latitude for utilization, modification, and redistribution, contingent upon adherence to the explicit terms detailed within the official MIT License file contained within the project's repository.
Project Attribution
This software benefits significantly from the foundational work performed on the qpd-v/mcp-ragdocs project by qpd-v. That initial codebase served as the cornerstone for this current deployment.
WIKIPEDIA: XMLHttpRequest (XHR) represents an Application Programming Interface, implemented as a JavaScript construct, utilized for dispatching HTTP requests from a web client environment to a designated web server backend. These methods empower client-side applications to initiate server communications subsequent to page initialization, subsequently receiving data back. XHR forms an integral component of asynchronous JavaScript and XML (Ajax) programming paradigms. Preceding the widespread adoption of Ajax, interactive server communication was predominantly managed via traditional hypertext links and form submissions, processes that commonly necessitated a complete navigational shift to a new page.
== Evolution Chronology == The conceptual foundation for XMLHttpRequest originated in the year 2000, conceived by the engineering team responsible for Microsoft Outlook. This concept was subsequently actualized within Internet Explorer version 5 (released in 1999). Notably, the initial syntax did not employ the standardized XMLHttpRequest identifier. Instead, developers relied upon the object instantiation methods ActiveXObject("Msxml2.XMLHTTP") or ActiveXObject("Microsoft.XMLHTTP"). As of Internet Explorer 7 (2006), broad cross-browser support for the canonical XMLHttpRequest identifier was achieved. The XMLHttpRequest identifier has since solidified its status as the universal convention across all major web rendering engines, including Mozilla's Gecko (since 2002), Safari 1.2 (2004), and Opera 8.0 (2005).
The World Wide Web Consortium (W3C) formally published a Working Draft specification detailing the XMLHttpRequest object on April 5, 2006. A subsequent Working Draft, Level 2, was released by the W3C on February 25, 2008. The Level 2 specification introduced enhanced features such as mechanisms for monitoring request progress, enabling cross-origin data transmission, and managing binary byte streams. By the close of 2011, the features introduced in Level 2 were integrated back into the primary specification document. In late 2012, the maintenance stewardship transferred to the WHATWG, which now sustains a continuously evolving document utilizing Web IDL definitions.
== Operational Sequence == Executing a network transaction using XMLHttpRequest generally mandates adherence to a sequence of distinct programming stages.
- Instantiate the XMLHttpRequest object via its constructor call:
- Invoke the "open" method to define the request modality (GET/POST, etc.), specify the targeted resource Uniform Resource Identifier (URI), and select between synchronous or asynchronous execution flow:
- For asynchronous operations, attach an event handler function designed to execute upon state transitions:
- Initiate the transmission sequence by calling the "send" method, optionally supplying request payload data:
- Monitor state changes via the registered event listener. Upon successful server acknowledgement, the retrieved data is typically populated within the "responseText" attribute. When the transaction achieves its terminal processing status, the object transitions to state 4 (the "done" status). Beyond these fundamental steps, XMLHttpRequest provides extensive configurability over transmission parameters and response handling. Custom HTTP headers can be appended to the request to guide server behavior, and data payload can be uploaded via arguments passed to the "send" invocation. The received data stream can be automatically parsed from JSON structure into native JavaScript objects, or processed incrementally as data arrives rather than awaiting full buffer completion. Furthermore, transactions can be terminated prematurely or configured with timeout constraints to prevent indefinite blocking.
