- Home
- MCP servers
- Easysearch
Easysearch
- python
2
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"cloudsmithy-easysearch-mcp-server": {
"command": "python3",
"args": [
"-m",
"easysearch_mcp.server"
],
"env": {
"PYTHONPATH": "/path/to/easysearch-mcp-server/src",
"EASYSEARCH_URL": "https://localhost:9200",
"EASYSEARCH_USER": "admin",
"EASYSEARCH_PASSWORD": "your-password"
}
}
}
}You can run and manage INFINI Easysearch through an MCP server. This enables an AI agent to perform cluster, index, document, search, and monitoring tasks against an Elasticsearch/OpenSearch-compatible Easysearch deployment with secure, programmable control.
How to use
Configure an MCP client to connect to the Easysearch MCP Server, then issue high‑level actions through the client. You can perform a wide range of tasks such as checking cluster health, creating and managing indices, indexing and querying documents, performing searches and aggregations, and monitoring system status. The server exposes tools grouped by function, so you can initiate complex workflows by composing calls to cluster, index, document, and search tools.
How to install
# Prerequisites
- Python 3.9+ (recommended)
- Git
# Clone the MCP server repository
git clone https://github.com/cloudsmithy/easysearch-mcp-server.git
cd easysearch-mcp-server
# Install dependencies in editable mode
pip install -e .
- The server is started by running the Python module for the MCP server. You will configure access credentials and the Easysearch URL via environment variables when you integrate with MCP clients.
## Additional configuration and usage notes
Secure connections are supported through HTTPS and basic authentication. When you connect MCP clients, you will provide the Easysearch URL, a username, and a password in the environment variables described below. For local testing, you can point to a local Easysearch deployment and use credentials that you configure for the client integration.
## Environment and connection details
Environment variables for the MCP server
EASYSEARCH_URL=https://localhost:9200 EASYSEARCH_USER=admin EASYSEARCH_PASSWORD=your-password PYTHONPATH=/path/to/easysearch-mcp-server/src
These values are used by the MCP client configurations to connect and authenticate to the Easysearch MCP Server.
Examples of common tasks you can perform
-
Check cluster health and basic status: use the cluster_health tool.
-
Create a new index for products and define mappings and settings.
-
Index new documents, perform bulk writes, and query with various search options.
-
Run aggregations to summarize data, or execute SQL-like queries against the data.
Notes on startup and runtime behavior
To start using the server with a MCP client, configure the client to run the Python module for the server with the appropriate environment variables. The standard approach is to execute the following in your MCP client setup:
python3 -m easysearch_mcp.server
with environment values that point to your Easysearch instance and credentials as shown above.
## Available tools
### cluster\_health
Cluster health status
### cluster\_stats
Cluster statistics
### cluster\_state
Cluster state details
### cluster\_settings
Get cluster settings
### cluster\_update\_settings
Update cluster settings
### cluster\_pending\_tasks
Pending tasks
### cluster\_allocation\_explain
Index shard allocation explanations
### cluster\_reroute
Manual shard routing
### index\_create
Create an index
### index\_delete
Delete an index
### index\_exists
Check if an index exists
### index\_get
Get index details
### index\_get\_mapping
Get index mappings
### index\_put\_mapping
Update index mappings
### index\_get\_settings
Get index settings
### index\_put\_settings
Update index settings
### index\_open
Open an index
### index\_close
Close an index
### index\_refresh
Refresh an index
### index\_flush
Flush an index to disk
### index\_forcemerge
Force merge segments
### index\_clear\_cache
Clear index cache
### index\_stats
Index statistics
### index\_segments
Index segment information
### index\_recovery
Index recovery status
### index\_shard\_stores
Shard store information
### index\_set\_readonly
Set an index to read-only (preconditions for clone/split/shrink)
### index\_prepare\_for\_shrink
Prepare index for shrink (precondition)
### index\_create\_with\_write\_alias
Create an index with a writable alias (precondition for rollover)
### index\_clone
Clone an index
### index\_split
Split an index
### index\_shrink
Shrink an index
### index\_rollover
Roll over an index
### alias\_get
Get alias
### alias\_create
Create alias
### alias\_delete
Delete alias
### alias\_actions
Batch alias operations
### template\_get
Get template
### template\_create
Create template
### template\_delete
Delete template
### doc\_index
Write a document
### doc\_get
Get a document
### doc\_exists
Check if a document exists
### doc\_delete
Delete a document
### doc\_update
Update a document
### doc\_bulk
Bulk operations on documents
### doc\_bulk\_simple
Simplified bulk write
### doc\_mget
Bulk get documents
### doc\_source
Get document source
### doc\_delete\_by\_query
Delete by query
### doc\_update\_by\_query
Update by query
### search
DSL search
### search\_simple
Simple keyword search
### search\_template
Template search
### msearch
Multi-search
### count
Document count
### validate\_query
Validate a query
### explain
Explain scoring for a query
### aggregate
Aggregations on documents
### aggregate\_simple
Simple aggregations
### scroll\_start
Start a scroll search
### scroll\_next
Fetch next scroll batch
### scroll\_clear
Clear scroll context
### field\_caps
Field capabilities query
### knn\_search
Vector similarity search
### sql\_query
SQL-like query interface
### cat\_health
Cluster health through CAT API
### cat\_nodes
List cluster nodes through CAT API
### cat\_indices
List indices through CAT API
### cat\_shards
Shard distribution via CAT API
### cat\_allocation
Disk allocation via CAT API
### cat\_thread\_pool
Thread pool status via CAT API
### cat\_master
Master node information via CAT API
### cat\_segments
Index segments via CAT API
### cat\_count
Document count via CAT API
### cat\_recovery
Recovery status via CAT API
### cat\_pending\_tasks
Pending tasks via CAT API
### cat\_aliases
Aliases list via CAT API
### cat\_templates
Templates list via CAT API
### cat\_plugins
Plugins list via CAT API
### cat\_fielddata
Fielddata usage via CAT API
### cat\_nodeattrs
Node attributes via CAT API
### cat\_repositories
Snapshot repositories via CAT API
### cat\_snapshots
Snapshots via CAT API
### cat\_tasks
Task list via CAT API
### nodes\_info
Node information
### nodes\_stats
Node statistics
### nodes\_hot\_threads
Hot threads on nodes
### nodes\_usage
Node usage statistics
### nodes\_reload\_secure\_settings
Reload secure settings on nodes
### snapshot\_repo\_create
Create a snapshot repository
### snapshot\_repo\_get
Get a snapshot repository
### snapshot\_repo\_delete
Delete a snapshot repository
### snapshot\_repo\_verify
Verify a snapshot repository
### snapshot\_create
Create a snapshot
### snapshot\_get
Get a snapshot
### snapshot\_status
Snapshot status
### snapshot\_delete
Delete a snapshot
### snapshot\_restore
Restore a snapshot
### snapshot\_clone
Clone a snapshot
### slm\_policy\_create
Create an SLM policy
### slm\_policy\_get
Get an SLM policy
### slm\_policy\_delete
Delete an SLM policy
### slm\_policy\_explain
Explain an SLM policy
### slm\_policy\_start
Start an SLM policy
### slm\_policy\_stop
Stop an SLM policy
### tasks\_list
List tasks
### tasks\_get
Get task details
### tasks\_cancel
Cancel a task
### pipeline\_get
Get Ingest pipeline
### pipeline\_create
Create Ingest pipeline
### pipeline\_delete
Delete Ingest pipeline
### pipeline\_simulate
Simulate an Ingest pipeline
### ingest\_stats
Ingest statistics
### ingest\_processor\_grok
Grok processors list