MCP.so
Sign In
Servers

πŸ” MCP Server - Vector Search

@omarguzmanm

MCP Server to improve LLM context through vector search.

Overview

What is πŸ” MCP Server - Vector Search?

A Model Context Protocol server built with FastMCP that combines Neo4j’s graph database with vector search using embeddings. It enables intelligent semantic search across a knowledge graph through natural language queries, designed for MCP clients such as Claude AI.

How to use πŸ” MCP Server - Vector Search?

After cloning the repository, create a virtual environment with uv, install dependencies (fastmcp, neo4j, openai, python-dotenv, sentence-transformers, pydantic), configure a .env file with Neo4j credentials and an optional OpenAI API key, and create a vector index in Neo4j. Launch the server with python main.py. The server exposes one tool: vector_search_neo4j(prompt), which converts a natural language query into an embedding and searches the vector index for semantically similar nodes.

Key features of πŸ” MCP Server - Vector Search

  • Converts natural language queries into 1536‑dimensional embeddings via OpenAI.
  • Searches a Neo4j vector index for semantically similar nodes.
  • Returns ranked results with similarity scores.
  • Built on FastMCP for minimal overhead and MCP protocol compliance.
  • Uses uv for 10–100x faster dependency resolution.
  • Supports fallback to a local all-MiniLM-L6-v2 embedding model.

Use cases of πŸ” MCP Server - Vector Search

  • Semantic document retrieval from a Neo4j knowledge graph.
  • Finding contextually relevant graph-connected information using plain language.
  • Integrating intelligent search into MCP‑compatible AI assistants (e.g., Claude Desktop).
  • Building RAG‑style applications that combine graph traversal with vector similarity.

FAQ from πŸ” MCP Server - Vector Search

What are the runtime requirements?

Python 3.8+, Neo4j 5.0+ with the APOC plugin, and either an OpenAI API key (for the default 1536‑dimension embeddings) or the sentence-transformers library for a local fallback model.

Where does the data live?

All data – nodes, their embedding properties, and the vector index – is stored inside a Neo4j database. The server only reads from and writes to that database.

Is an OpenAI API key required?

No. If OPENAI_API_KEY is not set in .env, the server falls back to the local all-MiniLM-L6-v2 model from sentence-transformers.

What vector index must exist in Neo4j?

A vector index named embeddableIndex on nodes labeled Document with property embedding, dimension 1536, and cosine similarity. If using the local fallback model, adjust the dimension accordingly.

How do I troubleshoot a missing vector index?

Use Cypher SHOW INDEXES to verify existence, and re‑create it with the CREATE VECTOR INDEX command shown in the Quick Start.

Tags

More from Memory & Knowledge