Easysearch

Allows an AI agent to operate INFINI Easysearch (Elasticsearch/OpenSearch API compatible) via an MCP server.
  • 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
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational