{"_id":"@delorenj/mcp-ragdocs","name":"@delorenj/mcp-ragdocs","dist-tags":{"latest":"0.1.6"},"versions":{"0.1.6":{"name":"@delorenj/mcp-ragdocs","version":"0.1.6","description":"A Model Context Protocol server for fetching and storing documentation in a vector database, enabling semantic search and retrieval to augment LLM capabilities with relevant documentation context.","private":false,"type":"module","bin":{"mcp-ragdocs":"build/index.js"},"scripts":{"build":"tsc","prepare":"npm run build","watch":"tsc --watch","inspector":"npx @delorenj/inspector build/index.js","start":"node build/index.js"},"keywords":["mcp","model-context-protocol","rag","documentation","vector-database","qdrant","claude","llm"],"author":{"name":"Jarad DeLorenzo"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/delorenj/mcp-ragdocs.git"},"bugs":{"url":"https://github.com/delorenj/mcp-ragdocs/issues"},"homepage":"https://github.com/delorenj/mcp-ragdocs#readme","dependencies":{"@modelcontextprotocol/sdk":"0.6.0","@qdrant/js-client-rest":"^1.8.0","axios":"^1.7.9","cheerio":"^1.0.0","ollama":"^0.5.11","openai":"^4.76.2","playwright":"^1.49.1"},"devDependencies":{"@types/node":"^20.11.24","typescript":"^5.3.3"},"publishConfig":{"access":"public"},"_id":"@delorenj/mcp-ragdocs@0.1.6","gitHead":"090163add13f51d6699a08b2d879ed6fd02930d1","_nodeVersion":"23.3.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-BEqAaR5HkLPsu8wDi483boMvHxOe6frDeXDiSYVq+0nysxEKWqCP2lGliF3Y8RldqS6ce7ZGoBeyr9dFApSvIg==","shasum":"14063cb3bfac5485f4488858fc1a568faf7457af","tarball":"https://registry.npmjs.org/@delorenj/mcp-ragdocs/-/mcp-ragdocs-0.1.6.tgz","fileCount":5,"unpackedSize":41190,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDsuUm0Sdyih4A84mcOW+vJEaQ1FfptCmCuLfRY2Oen4wIhAMNydduNebQUMKCehEgorW5cp4313dfmufzrtyZSlg8f"}]},"_npmUser":{"name":"lasertoast","email":"jaradd@gmail.com"},"directories":{},"maintainers":[{"name":"lasertoast","email":"jaradd@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-ragdocs_0.1.6_1738061468512_0.9951527660208996"},"_hasShrinkwrap":false}},"time":{"created":"2025-01-28T10:51:08.435Z","0.1.6":"2025-01-28T10:51:08.675Z","modified":"2025-01-28T10:51:08.932Z"},"maintainers":[{"name":"lasertoast","email":"jaradd@gmail.com"}],"description":"A Model Context Protocol server for fetching and storing documentation in a vector database, enabling semantic search and retrieval to augment LLM capabilities with relevant documentation context.","homepage":"https://github.com/delorenj/mcp-ragdocs#readme","keywords":["mcp","model-context-protocol","rag","documentation","vector-database","qdrant","claude","llm"],"repository":{"type":"git","url":"git+https://github.com/delorenj/mcp-ragdocs.git"},"author":{"name":"Jarad DeLorenzo"},"bugs":{"url":"https://github.com/delorenj/mcp-ragdocs/issues"},"license":"MIT","readme":"# MCP-Ragdocs\n\nA Model Context Protocol (MCP) server that enables semantic search and retrieval of documentation using a vector database (Qdrant). This server allows you to add documentation from URLs or local files and then search through them using natural language queries.\n\n## Version\n\nCurrent version: 0.1.6\n\n## Features\n\n- Add documentation from URLs or local files\n- Store documentation in a vector database for semantic search\n- Search through documentation using natural language\n- List all documentation sources\n\n## Installation\n\nInstall globally using npm:\n\n```bash\nnpm install -g @delorenj/mcp-ragdocs\n```\n\nThis will install the server in your global npm directory, which you'll need for the configuration steps below.\n\n## Requirements\n\n- Node.js 16 or higher\n- Qdrant (either local or cloud)\n- One of the following for embeddings:\n  - Ollama running locally (default, free)\n  - OpenAI API key (optional, paid)\n\n## Qdrant Setup Options\n\n### Option 1: Local Qdrant\n\n1. Using Docker (recommended):\n\n```bash\ndocker run -p 6333:6333 -p 6334:6334 qdrant/qdrant\n```\n\n2. Or download from [Qdrant's website](https://qdrant.tech/documentation/quick-start/)\n\n### Option 2: Qdrant Cloud\n\n1. Create an account at [Qdrant Cloud](https://cloud.qdrant.io/)\n2. Create a new cluster\n3. Get your cluster URL and API key from the dashboard\n4. Use these in your configuration (see Configuration section below)\n\n## Configuration\n\nThe server can be used with both Cline and Claude Desktop. Configuration differs slightly between them:\n\n### Cline Configuration\n\nAdd to your Cline settings file (`%AppData%\\Code\\User\\globalStorage\\rooveterinaryinc.roo-cline\\settings\\cline_mcp_settings.json`):\n\n1. Using npm global install (recommended):\n\n```json\n{\n  \"mcpServers\": {\n    \"ragdocs\": {\n      \"command\": \"node\",\n      \"args\": [\n        \"C:/Users/YOUR_USERNAME/AppData/Roaming/npm/node_modules/@delorenj/mcp-ragdocs/build/index.js\"\n      ],\n      \"env\": {\n        \"QDRANT_URL\": \"http://localhost:6333\",\n        \"EMBEDDING_PROVIDER\": \"ollama\",\n        \"OLLAMA_URL\": \"http://localhost:11434\"\n      }\n    }\n  }\n}\n```\n\nFor OpenAI instead of Ollama:\n\n```json\n{\n  \"mcpServers\": {\n    \"ragdocs\": {\n      \"command\": \"node\",\n      \"args\": [\n        \"C:/Users/YOUR_USERNAME/AppData/Roaming/npm/node_modules/@delorenj/mcp-ragdocs/build/index.js\"\n      ],\n      \"env\": {\n        \"QDRANT_URL\": \"http://localhost:6333\",\n        \"EMBEDDING_PROVIDER\": \"openai\",\n        \"OPENAI_API_KEY\": \"your-openai-api-key\"\n      }\n    }\n  }\n}\n```\n\n2. Using local development setup:\n\n```json\n{\n  \"mcpServers\": {\n    \"ragdocs\": {\n      \"command\": \"node\",\n      \"args\": [\"PATH_TO_PROJECT/mcp-ragdocs/build/index.js\"],\n      \"env\": {\n        \"QDRANT_URL\": \"http://127.0.0.1:6333\",\n        \"EMBEDDING_PROVIDER\": \"ollama\",\n        \"OLLAMA_URL\": \"http://localhost:11434\"\n      }\n    }\n  }\n}\n```\n\n### Claude Desktop Configuration\n\nAdd to your Claude Desktop config file:\n\n- Windows: `%AppData%\\Claude\\claude_desktop_config.json`\n- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n\n1. Windows Setup with Ollama (using full paths):\n\n```json\n{\n  \"mcpServers\": {\n    \"ragdocs\": {\n      \"command\": \"C:\\\\Program Files\\\\nodejs\\\\node.exe\",\n      \"args\": [\n        \"C:\\\\Users\\\\YOUR_USERNAME\\\\AppData\\\\Roaming\\\\npm\\\\node_modules\\\\@delorenj/mcp-ragdocs\\\\build\\\\index.js\"\n      ],\n      \"env\": {\n        \"QDRANT_URL\": \"http://127.0.0.1:6333\",\n        \"EMBEDDING_PROVIDER\": \"ollama\",\n        \"OLLAMA_URL\": \"http://localhost:11434\"\n      }\n    }\n  }\n}\n```\n\nWindows Setup with OpenAI:\n\n```json\n{\n  \"mcpServers\": {\n    \"ragdocs\": {\n      \"command\": \"C:\\\\Program Files\\\\nodejs\\\\node.exe\",\n      \"args\": [\n        \"C:\\\\Users\\\\YOUR_USERNAME\\\\AppData\\\\Roaming\\\\npm\\\\node_modules\\\\@delorenj/mcp-ragdocs\\\\build\\\\index.js\"\n      ],\n      \"env\": {\n        \"QDRANT_URL\": \"http://127.0.0.1:6333\",\n        \"EMBEDDING_PROVIDER\": \"openai\",\n        \"OPENAI_API_KEY\": \"your-openai-api-key\"\n      }\n    }\n  }\n}\n```\n\n2. macOS Setup with Ollama:\n\n```json\n{\n  \"mcpServers\": {\n    \"ragdocs\": {\n      \"command\": \"/usr/local/bin/node\",\n      \"args\": [\n        \"/usr/local/lib/node_modules/@delorenj/mcp-ragdocs/build/index.js\"\n      ],\n      \"env\": {\n        \"QDRANT_URL\": \"http://127.0.0.1:6333\",\n        \"EMBEDDING_PROVIDER\": \"ollama\",\n        \"OLLAMA_URL\": \"http://localhost:11434\"\n      }\n    }\n  }\n}\n```\n\n### Qdrant Cloud Configuration\n\nFor either Cline or Claude Desktop, when using Qdrant Cloud, modify the env section:\n\nWith Ollama:\n\n```json\n{\n  \"env\": {\n    \"QDRANT_URL\": \"https://your-cluster-url.qdrant.tech\",\n    \"QDRANT_API_KEY\": \"your-qdrant-api-key\",\n    \"EMBEDDING_PROVIDER\": \"ollama\",\n    \"OLLAMA_URL\": \"http://localhost:11434\"\n  }\n}\n```\n\nWith OpenAI:\n\n```json\n{\n  \"env\": {\n    \"QDRANT_URL\": \"https://your-cluster-url.qdrant.tech\",\n    \"QDRANT_API_KEY\": \"your-qdrant-api-key\",\n    \"EMBEDDING_PROVIDER\": \"openai\",\n    \"OPENAI_API_KEY\": \"your-openai-api-key\"\n  }\n}\n```\n\n### Environment Variables\n\n#### Qdrant Configuration\n\n- `QDRANT_URL` (required): URL of your Qdrant instance\n  - For local: http://localhost:6333\n  - For cloud: https://your-cluster-url.qdrant.tech\n- `QDRANT_API_KEY` (required for cloud): Your Qdrant Cloud API key\n\n#### Embeddings Configuration\n\n- `EMBEDDING_PROVIDER` (optional): Choose between 'ollama' (default) or 'openai'\n- `EMBEDDING_MODEL` (optional):\n  - For Ollama: defaults to 'nomic-embed-text'\n  - For OpenAI: defaults to 'text-embedding-3-small'\n- `OLLAMA_URL` (optional): URL of your Ollama instance (defaults to http://localhost:11434)\n- `OPENAI_API_KEY` (required if using OpenAI): Your OpenAI API key\n\n## Available Tools\n\n1. `add_documentation`\n\n   - Add documentation from a URL to the RAG database\n   - Parameters:\n     - `url`: URL of the documentation to fetch\n\n2. `search_documentation`\n\n   - Search through stored documentation\n   - Parameters:\n     - `query`: Search query\n     - `limit` (optional): Maximum number of results to return (default: 5)\n\n3. `list_sources`\n   - List all documentation sources currently stored\n   - No parameters required\n\n## Example Usage\n\nIn Claude Desktop or any other MCP-compatible client:\n\n1. Add documentation:\n\n```\nAdd this documentation: https://docs.example.com/api\n```\n\n2. Search documentation:\n\n```\nSearch the documentation for information about authentication\n```\n\n3. List sources:\n\n```\nWhat documentation sources are available?\n```\n\n## Development\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/delorenj/mcp-ragdocs.git\ncd mcp-ragdocs\n```\n\n2. Install dependencies:\n\n```bash\nnpm install\n```\n\n3. Build the project:\n\n```bash\nnpm run build\n```\n\n4. Run locally:\n\n```bash\nnpm start\n```\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","readmeFilename":"README.md"}