vector-knowledge-base-mcp-server
by akvo
Overview
A FastAPI/FastMCP server for vector-based knowledge management, providing document storage, similarity search, and intelligent retrieval capabilities for LLM-powered agents.
Installation
./dev.sh up -dEnvironment Variables
- DATABASE_URL
- MINIO_ENDPOINT
- MINIO_ACCESS_KEY
- MINIO_SECRET_KEY
- MINIO_BUCKET_NAME
- MINIO_SERVER_URL
- CHROMA_DB_HOST
- CHROMA_DB_PORT
- OPENAI_API_KEY
- OPENAI_API_BASE
- OPENAI_EMBEDDINGS_MODEL
- ADMIN_API_KEY
- RABBITMQ_HOST
- RABBITMQ_PORT
- RABBITMQ_USER
- RABBITMQ_PASS
- APP_ENV
Security Notes
1. **Publicly Accessible Documents**: The MinIO bucket is configured for public read access. This makes all uploaded documents directly accessible via URL without authentication, posing a significant risk if sensitive information is stored. 2. **Default Credentials/Keys**: The `.env.example` and `config.py` provide default MinIO credentials ('minioadmin') and a placeholder 'ADMIN_API_KEY' ('changeme' in `api_util.py`). These *must* be changed for any production deployment. 3. **Filename Sanitization Vulnerability (CRITICAL)**: The `DocumentService.upload_documents` method directly uses `file.filename` from user uploads to construct file paths in MinIO without sufficient sanitization. Although a `make_clean_filename` function exists, it is commented out and not used. This allows for potential path traversal attacks (e.g., using `../../../` in filenames) or other file system manipulation if an attacker can craft a malicious filename. This could lead to unauthorized file creation, overwriting, or access outside the intended directories in MinIO, making it a critical vulnerability. 4. **Celery `asyncio.run` in worker**: Using `asyncio.run` inside a synchronous Celery task can lead to unexpected behavior and resource exhaustion if not handled carefully.
Similar Servers
mcp
Provides a Model Context Protocol (MCP) interface for managing and querying MariaDB databases, supporting standard SQL operations and advanced vector/embedding-based search for AI assistants.
neurondb
A Model Context Protocol (MCP) server designed to expose advanced AI and database functionalities (vector search, ML, RAG, PostgreSQL admin) as tools via a standardized JSON-RPC protocol over STDIN/STDOUT, typically serving as a backend for AI agents or desktop applications.
chromadb-remote-mcp
Provides remote, authenticated access to ChromaDB for AI assistants like Claude, enabling semantic search and vector database operations from various platforms and locations.
bluera-knowledge
Provides a semantic knowledge base and intelligent web crawling capabilities to power coding agents, enabling them to search internal project files, Git repositories, and crawled web documentation.