Skip to main content
Glama
cr7258

Elasticsearch MCP Server

index_document

Add or update documents in an Elasticsearch index to store and manage data for search and analysis.

Instructions

Creates or updates a document in the index. Args: index: Name of the index document: Document data id: Optional document ID

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
indexYes
documentYes
idNo

Implementation Reference

  • The core handler function for the 'index_document' MCP tool. It is decorated with @mcp.tool() and delegates the indexing operation to the search client.
    @mcp.tool() def index_document(index: str, document: Dict, id: Optional[str] = None) -> Dict: """ Creates or updates a document in the index. Args: index: Name of the index document: Document data id: Optional document ID """ return self.search_client.index_document(index=index, id=id, document=document)
  • Supporting method in DocumentClient that performs the actual document indexing, handling differences between Elasticsearch and OpenSearch clients.
    def index_document(self, index: str, document: Dict, id: Optional[str] = None) -> Dict: """Creates a new document in the index.""" # Handle parameter name differences between Elasticsearch and OpenSearch if self.engine_type == "elasticsearch": # For Elasticsearch: index(index, document, id=None, ...) if id is not None: return self.client.index(index=index, document=document, id=id) else: return self.client.index(index=index, document=document) else: # For OpenSearch: index(index, body, id=None, ...) if id is not None: return self.client.index(index=index, body=document, id=id) else: return self.client.index(index=index, body=document)
  • src/server.py:43-53 (registration)
    Registration point where DocumentTools (containing index_document) is included in the list of tool classes and registered via ToolsRegister.register_all_tools.
    # Define all tool classes to register tool_classes = [ IndexTools, DocumentTools, ClusterTools, AliasTools, DataStreamTools, GeneralTools, ] # Register all tools register.register_all_tools(tool_classes)

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