Skip to main content
Glama
cr7258

Elasticsearch MCP Server

general_api_request

Execute custom HTTP requests to Elasticsearch/OpenSearch APIs not covered by specific tools, enabling flexible cluster interactions.

Instructions

Perform a general HTTP API request. Use this tool for any Elasticsearch/OpenSearch API that does not have a dedicated tool.

        Args:
            method: HTTP method (GET, POST, PUT, DELETE, etc.)
            path: API endpoint path
            params: Query parameters
            body: Request body
        

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
methodYes
pathYes
paramsNo
bodyNo

Implementation Reference

  • The handler function for the MCP tool 'general_api_request'. It delegates the API request to the search client's general_api_request method.
    @mcp.tool()
    def general_api_request(method: str, path: str, params: Optional[Dict] = None, body: Optional[Dict] = None):
        """Perform a general HTTP API request.
           Use this tool for any Elasticsearch/OpenSearch API that does not have a dedicated tool.
        
        Args:
            method: HTTP method (GET, POST, PUT, DELETE, etc.)
            path: API endpoint path
            params: Query parameters
            body: Request body
        """
        return self.search_client.general_api_request(method, path, params, body)
  • The registration of the 'general_api_request' tool occurs within the GeneralTools class's register_tools method using the @mcp.tool() decorator.
    def register_tools(self, mcp: FastMCP):
        @mcp.tool()
        def general_api_request(method: str, path: str, params: Optional[Dict] = None, body: Optional[Dict] = None):
            """Perform a general HTTP API request.
               Use this tool for any Elasticsearch/OpenSearch API that does not have a dedicated tool.
            
            Args:
                method: HTTP method (GET, POST, PUT, DELETE, etc.)
                path: API endpoint path
                params: Query parameters
                body: Request body
            """
            return self.search_client.general_api_request(method, path, params, body)
  • Helper function in GeneralClient that implements the core logic by calling self.general_client.request.
    def general_api_request(self, method: str, path: str, params: Optional[Dict] = None, body: Optional[Dict] = None):
        """Perform a general HTTP API request.
           Use this tool for any Elasticsearch/OpenSearch API that does not have a dedicated tool.
        """
        return self.general_client.request(method, path, params, body)
  • Risk configuration identifying 'general_api_request' as a high-risk operation for GeneralTools.
    "GeneralTools": {
        "general_api_request",
    },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cr7258/elasticsearch-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server