Elasticsearch MCP Server
@sunilemanjee
About Elasticsearch MCP Server
No overview available yet
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"Elastic-Python-MCP-Server": {
"command": "python3",
"args": [
"-m",
"venv",
"venv"
]
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Elasticsearch MCP Server?
Elasticsearch MCP Server is a Python‑based MCP (Model Context Protocol) server that provides an interface for searching and analyzing property data using Elasticsearch. It was converted from a Jupyter notebook and connects to Elasticsearch Serverless, using ELSER for semantic search and Google Maps API for geocoding.
How to use Elasticsearch MCP Server?
- Clone the repository and copy
env_config.template.shtoenv_config.sh. - Set environment variables (
ES_URL,ES_API_KEY,GOOGLE_MAPS_API_KEY, etc.) inenv_config.sh. - Create a Python virtual environment, install dependencies from
requirements.txt, and source the config file. - Run
./run_server.sh; the server starts on port 8001 by default.
Key features of Elasticsearch MCP Server
- Property search by location, price, bedrooms, bathrooms, square footage, features, tax, and maintenance.
- Geocoding integration using Google Maps API.
- Connects to Elasticsearch Serverless with ELSER semantic search.
- Supports custom search templates.
- Provides three MCP tools:
get_properties_template_params,geocode_location,search_template.
Use cases of Elasticsearch MCP Server
- Searching a property database with natural language queries.
- Converting location strings into geographic coordinates for proximity searches.
- Enabling LLMs to retrieve structured property data via MCP.
- Real‑estate analysis and portfolio management.
FAQ from Elasticsearch MCP Server
What are the prerequisites?
Python 3.x, an Elasticsearch Serverless instance, a Google Maps API key (with Geocoding and Maps JavaScript APIs enabled), and the required Python packages.
How do I configure environment variables?
Copy env_config.template.sh to env_config.sh and set ES_URL, ES_API_KEY, GOOGLE_MAPS_API_KEY, and optionally PROPERTIES_SEARCH_TEMPLATE, ELSER_INFERENCE_ID, ES_INDEX, and MCP_PORT.
How do I run the server?
Source the environment variables (source env_config.sh) and execute ./run_server.sh. Verify with curl -v http://localhost:8001/sse.
Can I restrict the Elasticsearch API key to read‑only?
Yes. After ingestion, create or edit an API key with privileges limited to monitor cluster and read/view_index_metadata on properties and properties_raw indices.
What MCP endpoints are available?
Three tools: get_properties_template_params (returns search template parameters), geocode_location (converts location to coordinates), and search_template (performs property searches).
Frequently asked questions
What are the prerequisites?
Python 3.x, an Elasticsearch Serverless instance, a Google Maps API key (with Geocoding and Maps JavaScript APIs enabled), and the required Python packages.
How do I configure environment variables?
Copy `env_config.template.sh` to `env_config.sh` and set `ES_URL`, `ES_API_KEY`, `GOOGLE_MAPS_API_KEY`, and optionally `PROPERTIES_SEARCH_TEMPLATE`, `ELSER_INFERENCE_ID`, `ES_INDEX`, and `MCP_PORT`.
How do I run the server?
Source the environment variables (`source env_config.sh`) and execute `./run_server.sh`. Verify with `curl -v http://localhost:8001/sse`.
Can I restrict the Elasticsearch API key to read‑only?
Yes. After ingestion, create or edit an API key with privileges limited to `monitor` cluster and `read`/`view_index_metadata` on `properties` and `properties_raw` indices.
What MCP endpoints are available?
Three tools: `get_properties_template_params` (returns search template parameters), `geocode_location` (converts location to coordinates), and `search_template` (performs property searches).
Basic information
More Databases MCP servers
MCP Server for MySQL based on NodeJS
benborlaA Model Context Protocol server that provides read-only access to MySQL databases. This server enables LLMs to inspect database schemas and execute read-only queries.
PostgreSQL Model Context Protocol (PG-MCP) Server
stuzeroNeon MCP Server
neondatabase-labsMCP server for interacting with Neon Management API and databases
MySQL MCP Server
designcomputerA Model Context Protocol (MCP) server that enables secure interaction with MySQL databases
Elasticsearch/OpenSearch MCP Server
cr7258A Model Context Protocol (MCP) server implementation that provides Elasticsearch and OpenSearch interaction.
Comments