@mcpflow.io/mcp-ragdocs-mcp-server v1.0.1
RagDocs MCP Server
此包由 MCPFlow 打包并发布到npm仓库。
基于 RAG 的文档搜索和管理的 MCP 服务器
安装与使用
直接使用npx运行:
npx @mcpflow.io/mcp-ragdocs-mcp-server或者先安装后使用:
# 安装
npm install @mcpflow.io/mcp-ragdocs-mcp-server
# 使用
npx @mcpflow.io/mcp-ragdocs-mcp-server使用方法
Installation
npm install -g @mcpservers/ragdocs工具函数
initBrowser
Initializes the browser for web scraping operations.
参数:
none: No parameters required.
cleanup
Closes the browser instance.
参数:
none: No parameters required.
getEmbeddings
Generates embeddings for a given text.
参数:
text: The text for which embeddings are to be generated.
initCollection
Initializes the Qdrant collection with the specified name and vector size.
参数:
collectionName: The name of the Qdrant collection to initialize.
createCollection
Creates a new Qdrant collection with the specified name and vector size.
参数:
vectorSize: The size of the vectors to be used in the collection.collectionName: The name of the Qdrant collection to create.
recreateCollection
Deletes an existing Qdrant collection and creates a new one with the specified name and vector size.
参数:
vectorSize: The size of the vectors to be used in the collection.collectionName: The name of the Qdrant collection to recreate.
isHealthy
Checks if the Qdrant client is healthy.
参数:
none: No parameters required.
addDocument
Adds a document to the Qdrant collection.
参数:
doc: The document to add.
deleteDocument
Deletes a document from the Qdrant collection.
参数:
url: The URL of the document to delete.
generateEmbeddings
Generates embeddings for a given text.
参数:
text: The text for which embeddings are to be generated.
addDocumentation
Adds a document to the RAG system.
参数:
url: URL of the document to add.content: Content of the document to add.metadata: Metadata of the document.
fetchContent
Fetches and processes content from a URL.
参数:
url: URL to fetch content from.
chunkText
Chunks a given text into smaller pieces.
参数:
text: The text to chunk.maxChunkSize: The maximum size of each chunk.
generateEmbeddings
Generates embeddings for text chunks.
参数:
chunks: Array of text chunks.
原始信息
- 开发者: heltonteixeira
- 版本: 1.0.0
- 许可证: Apache License 2.0
- 原始仓库: heltonteixeira/ragdocs
原始README
RagDocs MCP Server
A Model Context Protocol (MCP) server that provides RAG (Retrieval-Augmented Generation) capabilities using Qdrant vector database and Ollama/OpenAI embeddings. This server enables semantic search and management of documentation through vector similarity.
Features
- Add documentation with metadata
- Semantic search through documents
- List and organize documentation
- Delete documents
- Support for both Ollama (free) and OpenAI (paid) embeddings
- Automatic text chunking and embedding generation
- Vector storage with Qdrant
Prerequisites
- Node.js 16 or higher
- One of the following Qdrant setups:
- Local instance using Docker (free)
- Qdrant Cloud account with API key (managed service)
- One of the following for embeddings:
- Ollama running locally (default, free)
- OpenAI API key (optional, paid)
Available Tools
1. add_document
Add a document to the RAG system.
Parameters:
url(required): Document URL/identifiercontent(required): Document contentmetadata(optional): Document metadatatitle: Document titlecontentType: Content type (e.g., "text/markdown")
2. search_documents
Search through stored documents using semantic similarity.
Parameters:
query(required): Natural language search queryoptions(optional):limit: Maximum number of results (1-20, default: 5)scoreThreshold: Minimum similarity score (0-1, default: 0.7)filters:domain: Filter by domainhasCode: Filter for documents containing codeafter: Filter for documents after date (ISO format)before: Filter for documents before date (ISO format)
3. list_documents
List all stored documents with pagination and grouping options.
Parameters (all optional):
page: Page number (default: 1)pageSize: Number of documents per page (1-100, default: 20)groupByDomain: Group documents by domain (default: false)sortBy: Sort field ("timestamp", "title", or "domain")sortOrder: Sort order ("asc" or "desc")
4. delete_document
Delete a document from the RAG system.
Parameters:
url(required): URL of the document to delete
Installation
npm install -g @mcpservers/ragdocsMCP Server Configuration
{
"mcpServers": {
"ragdocs": {
"command": "node",
"args": ["@mcpservers/ragdocs"],
"env": {
"QDRANT_URL": "http://127.0.0.1:6333",
"EMBEDDING_PROVIDER": "ollama"
}
}
}
}Using Qdrant Cloud:
{
"mcpServers": {
"ragdocs": {
"command": "node",
"args": ["@mcpservers/ragdocs"],
"env": {
"QDRANT_URL": "https://your-cluster-url.qdrant.tech",
"QDRANT_API_KEY": "your-qdrant-api-key",
"EMBEDDING_PROVIDER": "ollama"
}
}
}
}Using OpenAI:
{
"mcpServers": {
"ragdocs": {
"command": "node",
"args": ["@mcpservers/ragdocs"],
"env": {
"QDRANT_URL": "http://127.0.0.1:6333",
"EMBEDDING_PROVIDER": "openai",
"OPENAI_API_KEY": "your-api-key"
}
}
}
}Local Qdrant with Docker
docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrantEnvironment Variables
QDRANT_URL: URL of your Qdrant instance- For local: "http://127.0.0.1:6333" (default)
- For cloud: "https://your-cluster-url.qdrant.tech"
QDRANT_API_KEY: API key for Qdrant Cloud (required when using cloud instance)EMBEDDING_PROVIDER: Choice of embedding provider ("ollama" or "openai", default: "ollama")OPENAI_API_KEY: OpenAI API key (required if using OpenAI)EMBEDDING_MODEL: Model to use for embeddings- For Ollama: defaults to "nomic-embed-text"
- For OpenAI: defaults to "text-embedding-3-small"
License
Apache License 2.0