Elasticsearch Vector MCP. Find data by meaning, not by keyword.
Works with every AI agent you already use
…and any MCP-compatible client
Just plug in your AI agents and start using Vinkius.
Elasticsearch Vector MCP Server. Perform vector search and manage embeddings directly from your AI agent. Use tools like `search` to run kNN queries, `create_index` to set up new vector dimensions, and `index_document` to persist embeddings.
This server lets your agent treat Elasticsearch as a semantic knowledge base, letting you find data based on meaning, not just keywords.
What your AI agents can do
Create index
Sets up a new vector index, defining its required dimensions (e.g., 512 or 1536).
Delete document
Removes a document from an index using its specific UUID.
Get index
Retrieves the full metadata and mapping rules for a specific index.
Use the search tool to compute kNN similarity and find the top N most related documents based on a given vector.
Use create_index to provision new vector indexes and define their required dimensional structure.
Use index_document to attach a dense vector embedding and persist the document into the specified index.
Use list_indexes to see all available indexes and get_index to validate the mapping and dimensions of a specific index.
Use delete_document to remove a specific document from an index by its unique identifier (UUID).
Ask AI about this MCP
Supported MCP Clients
Waiting for input…
019d758ecreate index
Sets up a new vector index, defining its required dimensions (e.g., 512 or 1536).
019d758edelete document
Removes a document from an index using its specific UUID.
019d758eget index
Retrieves the full metadata and mapping rules for a specific index.
019d758eindex document
Inserts a document payload, including its dense vector embedding, into a specified index.
019d758elist indexes
Lists every vector-enabled index currently stored in the cluster.
019d758esearch
Performs a kNN search, returning the most semantically similar documents based on a provided vector.
Choose How to Get Started
Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.
Build Your Own
Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.
- Import from OpenAPI, Swagger, or YAML specs
- Create Agent Skills with progressive disclosure
- Deploy to edge with MCPFusion framework
- Built in DLP, auth, and compliance on every call
- Real time usage dashboard and cost metering
- Publish to catalog or keep private
Make Your AI Do More
Start with Elasticsearch Vector, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.
- Use this MCP plus 4,700+ others, all in one place
- Add new capabilities to your AI anytime you want
- Every connection is secured and compliant automatically
- Track usage and costs across all your servers
- Works with Claude, ChatGPT, Cursor, and more
- New servers added to the catalog every week
What you can do with this MCP connector
Elasticsearch Vector MCP Server - Vector Search & kNN
Your AI client treats Elasticsearch like a semantic knowledge base. You'll use this server to run kNN queries and manage embeddings, finding data based on meaning, not just keywords. You'll use search to compute kNN similarity, finding the top N most related documents from a given vector. You'll use create_index to set up new vector indexes, defining the required dimensions.
You'll use index_document to attach a dense vector embedding and persist the document into a specified index. You'll use list_indexes to see every vector-enabled index stored in the cluster. You'll use get_index to validate the mapping and dimensions of a specific index. You'll use delete_document to remove a specific document from an index using its unique identifier (UUID).
How Elasticsearch Vector MCP Works
- 1 Subscribe to the server and enter your Elasticsearch Host URL and API Key.
- 2 Your agent calls a tool (e.g.,
search) and passes the required index name and embedding vector. - 3 The server executes the query against your cluster and returns the list of similar documents and their similarity scores.
The bottom line is that your agent talks to Elasticsearch, and Elasticsearch returns the relevant data.
Who Is Elasticsearch Vector MCP For?
This is for AI Engineers and Data Scientists who need to test embedding models and run semantic searches without writing complex Query DSL. If your workflow relies on understanding the meaning of data—not just matching keywords—this server saves you time.
Runs semantic searches and tests embedding model performance by invoking the search tool directly from the chat interface.
Indexes embedding documents and verifies kNN search results by calling index_document or search from their IDE.
Monitors vector index mappings and checks dimensional constraints using natural language prompts to validate the data structure.
What Changes When You Connect
- Run kNN searches instantly: The
searchtool lets your agent calculate semantic similarity, finding documents that mean the same thing even if they use different words. - Build structured indexes easily: Use
create_indexto define a new vector index with the exact dimensionality your embedding model requires. No need to write complex setup scripts. - Control your data lifecycle: The combination of
index_documentanddelete_documentlets your agent manage the entire document lifespan—from creation to removal—right from the chat. - Audit your schema on demand: If you forget how a vector index is mapped, the
get_indextool pulls the mapping rules, letting you verify dimensional constraints instantly. - See all available indexes: The
list_indexestool gives you a full inventory of every vector-enabled index in your cluster, keeping your data sources organized. - Process bulk data: Indexing is simple.
index_documenthandles the payload, letting you persist embeddings without worrying about Lucene partitions.
Real-World Use Cases
Retrieving Context for Code Generation
A developer needs to find internal documentation related to a specific API endpoint. Instead of searching by the endpoint name, they ask their agent to run a search. The agent uses search with a vector derived from the query, instantly finding the top 5 relevant code snippets and documentation pages.
Validating a New Embedding Model
A data scientist has trained a new embedding model and needs to know if it outputs the correct dimension (e.g., 1536). They first run create_index to reserve the space, then use get_index to verify the mapping rules before running any data.
Cleaning Out Old Data
An ops team detects several records that should no longer exist. Instead of running complex delete queries, they prompt the agent to run delete_document using the known UUIDs, guaranteeing the records are stripped from the physical index.
Initial Knowledge Base Setup
A new project requires a semantic knowledge store. The agent first uses list_indexes to check for existing stores, then uses create_index to provision the correct vector structure, followed by index_document for initial data ingestion.
The Tradeoffs
Trying to search by keyword only
Asking the agent to search for 'large container ship' when the stored document only contains the keywords 'maersk vessel' and '20-foot.'
→
You must use the search tool. Your agent needs to generate an embedding vector from your query. This converts the concept into a mathematical point, allowing the search to find 'maersk vessel' because it's semantically close, not because of matching words.
Updating a document (The two-step hack)
The user deletes the old record using delete_document, and then tries to re-add the new version using index_document. This is brittle because it creates a window where the data is missing, and it assumes no other process touched the record in between.
→
While there isn't a single 'update' tool, the most reliable pattern is to ensure the new document carries the correct UUID and use index_document with the existing ID, effectively overwriting the payload. Always confirm the index mapping with get_index first.
Assuming data consistency
Running search immediately after calling index_document, assuming the data is available. In a busy cluster, there's always a small window where the index might not be fully flushed.
→
If the data is critical, first run get_index to verify the index status and mapping. If the index is configured for near real-time visibility, wait a few seconds or query a known record's UUID using a simple read tool before running a major search.
When It Fits, When It Doesn't
Use this server if your data retrieval depends on meaning (semantics), not keywords. You need to find documents that are conceptually related to your query, even if the words don't match. This server is built for vector storage and kNN search.
Don't use this if you only need simple key-value lookups, or if your data requires transactional guarantees across multiple, distinct services (use a dedicated relational database tool instead). If you are only checking index names, list_indexes is enough, but if you need to act on the data (search or index), this is the right place.
Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by Elasticsearch Vector. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.
VINKIUS INFRASTRUCTURE
Cloud Hosted
Managed infra
V8 Isolated
Sandboxed per request
Zero-Trust Proxy
No stored credentials
DLP Enforced
Policy on every call
GDPR Compliant
EU data residency
Token Compression
~60% cost reduction
Works with Claude, ChatGPT, Cursor, and more
The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.
This server provides 6 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.
Available Capabilities
Manual vector search setup is a nightmare.
Today, setting up a semantic search pipeline means writing complex Query DSLs. You have to manually manage index mappings, ensure the correct dimensionality, and write boilerplate code just to search for conceptual similarity. It’s tedious, and a single comma misplaced breaks the whole thing.
With the Elasticsearch Vector MCP Server, your agent handles the complexity. You just tell it, 'Find me documents related to X.' It runs the necessary `search` tool, handling the kNN math, dimensional checks, and retrieval. You get semantic answers, without writing a single query string.
Elasticsearch Vector MCP Server: Indexing with `index_document`
Before, indexing a document involved multiple steps: creating the index, calculating the vector payload, and then manually running the bulk insert API call, all while ensuring the data structure was perfect. If the vector dimension was off by one, the whole job failed.
Now, the `index_document` tool handles the payload attachment and persistence. You provide the document and the vector, and the agent runs the full, validated ingestion process. It's reliable, and it's fast.
Common Questions About Elasticsearch Vector MCP
How do I start using the `search` tool with Elasticsearch Vector? +
You need to provide the index name and the vector payload for the search. The agent runs the kNN computation and returns the top N results, complete with a similarity score. This score tells you how close the match is to the query's meaning.
What is the difference between `get_index` and `list_indexes`? +
list_indexes shows you every index in the cluster. get_index drills down. You use get_index when you need to verify the specific dimension, mapping, or rules of one index.
Can I create a vector index without knowing the dimensions? +
No. The create_index tool requires you to specify the required dimensions, as the index must enforce a strictly typed, numeric structure for the vector payload to work.
How does the `index_document` tool handle updates? +
It's designed to persist data. If you run index_document on a document that already exists with the same UUID, it will overwrite the old data with the new payload.
What is the purpose of the `create_index` tool when dealing with high-dimensional embeddings? +
The create_index tool initializes a new index with a specified dimension count. You must provide the correct dimensionality, as this dictates how the index accepts and stores vector payloads.
How can I use `delete_document` to ensure data removal compliance? +
The delete_document tool requires an exact UUID to remove a record. Using this method ensures precise data removal, which is necessary for GDPR compliance and data purging.
Does `index_document` handle documents with varying metadata types? +
Yes, index_document accepts documents with mixed metadata. You just need to ensure the core dense_vector payload matches the index's defined dimensions.
What should I check if the `search` tool returns an empty result set? +
First, check your search parameters. Ensure the similarity threshold is not set too high, and verify the index name is correct. If those are fine, the data might genuinely not exist or be outside the search radius.
Can my agent perform kNN searches using raw vector arrays? +
Yes. Use the 'search' tool. Provide the index name and a JSON array representing your query vector. The agent will perform raw K-Nearest Neighbors computations to find the most semantically similar documents.
How do I create a new vector index with specific dimensions via chat? +
Use the 'create_index' tool. You can specify the index name and the number of dimensions (e.g., 1536 for OpenAI embeddings). The agent will provision the strictly typed data structure in your Elasticsearch cluster.
Can I delete a single document from a vector index through the agent? +
Absolutely. Use the 'delete_document' tool with the index and document ID. The agent will enforce immediate document vaporization, stripping the record from the physical Lucene partitions.
Use it with your favorite AI tools
Connect this server to Cursor, Claude, VS Code, and more.
More in this category
Glean
Empower enterprise search via Glean — search across all SaaS apps, retrieve AI answers, manage custom indexing, and handle chat directly from any AI agent.
Datadog AI (LLM Observability)
Monitor LLM performance via Datadog — track token usage, audit prompts, and monitor AI model metrics directly from any AI agent.
Bloomberg Law
Access 200M+ court dockets, case law, and legal news via Bloomberg Law Enterprise Dockets API for comprehensive legal research.
You might also like
Unbounce
Automate marketing tasks via Unbounce — retrieve landing pages, fetch captured leads, audit performance stats, and manage test variants easily.
Drata
Automate compliance and security via Drata — monitor controls, track personnel onboarding, audit policies, and verify cloud asset security directly from any AI agent.
Codecov
Manage test coverage and engineering metrics via Codecov — track coverage reports, monitor commit totals, and audit code quality directly from any AI agent.