Vector Search Service MCP Provider
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Vector Search Service (MCP Provider)
Backend API for data registration and semantic search, acting as an MCP (Model Context Protocol) context provider.
Tech Stack
Node.js + TypeScript (Strict mode)
NestJS (HTTP Framework and Dependency Injection)
PostgreSQL + pgvector (Vector Database)
Prisma (ORM)
OpenAI / Gemini / Claude (Voyage AI) (Interchangeable Embedding Adapters)
Helmet + Throttler (Security headers and Rate Limiting)
Related MCP server: ragkit
Architecture
The project follows Clean Architecture and Hexagonal Architecture:
Domain: Framework-agnostic Entities and Interfaces (Ports).
Application: Use Cases containing business rules.
Infrastructure: Concrete implementations (Prisma, AI Adapters).
Interface: HTTP Controllers (REST).
Configuration
1. Installation and Environment
Install dependencies:
npm installConfigure environment variables: Copy
.env.exampleto.envand fill in the keys.cp .env.example .envSupported Adapters (
EMBEDDING_PROVIDER):openai: RequiresOPENAI_API_KEY(Model:text-embedding-3-small) (Recommended)gemini: RequiresGOOGLE_GENAI_API_KEY(Model:gemini-embedding-001)claude: RequiresANTHROPIC_API_KEYandVOYAGE_API_KEY(Model:voyage-large-2).
Security Configuration:
MAX_CONTENT_ITEMS: Maximum number of items allowed in thedataarray (Default: 100).
2. Database with Docker
You can start the PostgreSQL database with pgvector extension using Docker Compose:
docker compose up -dThis will start the database on port 5432. Default credentials are in docker-compose.yml.
3. Database Migration
Run the Prisma migrations to create the database schema:
npx prisma migrate dev4. Execution
To start the application in development mode:
npm run start:devThe application will be available at http://localhost:3000.
5. Swagger Documentation
Interactive API documentation (Swagger UI) is available at:
http://localhost:3000/api
API Endpoints
1. Register Data (Upsert)
POST /data/register
Registers data for a project and content ID. Replaces existing data (idempotent).
Payload:
{
"projectId": "project-alpha",
"contentId": "doc-123",
"data": [
"MCP allows connecting AIs to external data.",
"Vector search uses embeddings for similarity."
]
}Response (201):
{
"message": "Data registered successfully"
}2. Search Data
POST /data/search
Semantic search on registered data.
Payload:
{
"search": "how does vector search work?",
"projectId": "project-alpha",
"limit": 3
}Response (200):
{
"results": [
{
"projectId": "project-alpha",
"contentId": "doc-123",
"data": [
"Vector search uses embeddings for similarity."
]
}
]
}3. List Data (Grouped)
GET /data
Lists stored data, grouped by project and content, returning item counts. Supports pagination.
Query Params:
projectId(optional): Filter by project.contentId(optional): Filter by content ID.page(default: 1): Page number.limit(default: 10): Items per page.
Response (200):
{
"results": [
{
"projectId": "project-alpha",
"contents": [
{
"contentId": "doc-123",
"items": 2
}
]
}
],
"page": 1,
"limit": 10
}4. Remove Data
DELETE /data
Removes data filtering by project or content ID. At least one filter is required.
Query Params:
projectId: Project ID.contentId: Content ID.
Response (200):
{
"message": "Data removed successfully"
}Security Features
Input Validation: Strict DTO validation with
class-validator(whitelist enabled).Rate Limiting: Global rate limiting (100 requests/minute) using
@nestjs/throttler.HTTP Headers: Secure HTTP headers via
helmet.CORS: Enabled with default settings.
SQL Injection Protection: Uses Prisma's parameterized queries and raw SQL template literals for vector operations.
Payload Limits: Configurable limit for input array size (
MAX_CONTENT_ITEMS).
Tests
E2E Tests
npm run test:e2eUnit Tests
npm run testFolder Structure
src/
├── application/ # Business Rules (Use Cases)
├── domain/ # Entities and Interfaces
├── infrastructure/ # Implementations (DB, Adapters)
├── interface/ # Controllers and DTOs
└── main.ts # EntrypointThis server cannot be deployed
Maintenance
Related MCP Connectors
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Reddit & X data for AI agents over MCP. Semantic search, hosted, no Reddit API.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP-compatible RAG backend using LangGraph and FastAPI, enabling chaining of AI model logic with document context search.1-
- FlicenseNot gradedqualityDmaintenanceA self-hostable, MCP-native RAG pipeline that ingests, indexes, and serves data, enabling AI agents to scan codebases for prioritized findings and integrate with CI workflows.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that indexes documents and serves relevant context to LLMs via Retrieval Augmented Generation (RAG).30 npm36MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives AI coding assistants access to up-to-date API documentation via RAG by crawling documentation sites, indexing them into a vector store, and enabling semantic queries.MIT