Elasticsearch MCP Server
@sunilemanjee
About Elasticsearch MCP Server
No overview available yet
Basic information
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).
More Databases MCP servers
Sail MCP Server for Spark SQL
lakehqDrop-in Apache Spark replacement written in Rust, unifying batch processing, stream processing, and compute-intensive AI workloads.
MotherDuck's DuckDB MCP Server
motherduckdbLocal MCP server for DuckDB and MotherDuck
Database Gateway
centralmindUniversal MCP-Server for your Databases optimized for LLMs and AI-Agents.
Multi Database MCP Server
FreePeakA powerful multi-database server implementing the Model Context Protocol (MCP) to provide AI assistants with structured access to databases.
Meilisearch MCP Server
meilisearchA Model Context Protocol (MCP) server for interacting with Meilisearch through LLM interfaces.
Comments