Brainiall NLP
Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.
Crawler Summary
Octodet Elasticsearch Model Context Protocol server with advanced operations Octodet Elasticsearch MCP Server A Model Context Protocol (MCP) server for Elasticsearch operations, providing a comprehensive set of tools for interacting with Elasticsearch clusters through the standardized Model Context Protocol. This server enables LLM-powered applications to search, update, and manage Elasticsearch data. <a href="https://glama.ai/mcp/servers/@Octodet/elasticsearch-mcp"> <img width="380" height=" Published capability contract available. No trust telemetry is available yet. 3 GitHub stars reported by the source. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
@octodet/elasticsearch-mcp is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
Octodet Elasticsearch Model Context Protocol server with advanced operations Octodet Elasticsearch MCP Server A Model Context Protocol (MCP) server for Elasticsearch operations, providing a comprehensive set of tools for interacting with Elasticsearch clusters through the standardized Model Context Protocol. This server enables LLM-powered applications to search, update, and manage Elasticsearch data. <a href="https://glama.ai/mcp/servers/@Octodet/elasticsearch-mcp"> <img width="380" height="
Public facts
7
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. 3 GitHub stars reported by the source. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Octodet
Artifacts
0
Benchmarks
0
Last release
1.0.7
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. 3 GitHub stars reported by the source. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/Octodet/elasticsearch-mcp.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Octodet
Protocol compatibility
MCP
Auth modes
mcp, api_key
Machine-readable schemas
OpenAPI or schema references published
Adoption signal
3 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
npm install -g @octodet/elasticsearch-mcp
bash
npx @octodet/elasticsearch-mcp
bash
npm install
bash
npm run build
json
"mcp.servers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y", "@octodet/elasticsearch-mcp"
],
"env": {
"ES_URL": "http://localhost:9200",
"ES_API_KEY": "your_api_key",
"ES_VERSION": "8"
}
}
}json
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": ["-y", "@octodet/elasticsearch-mcp"],
"env": {
"ES_URL": "http://localhost:9200",
"ES_API_KEY": "your_api_key",
"ES_VERSION": "8"
}
}
}
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
Octodet Elasticsearch Model Context Protocol server with advanced operations Octodet Elasticsearch MCP Server A Model Context Protocol (MCP) server for Elasticsearch operations, providing a comprehensive set of tools for interacting with Elasticsearch clusters through the standardized Model Context Protocol. This server enables LLM-powered applications to search, update, and manage Elasticsearch data. <a href="https://glama.ai/mcp/servers/@Octodet/elasticsearch-mcp"> <img width="380" height="
A Model Context Protocol (MCP) server for Elasticsearch operations, providing a comprehensive set of tools for interacting with Elasticsearch clusters through the standardized Model Context Protocol. This server enables LLM-powered applications to search, update, and manage Elasticsearch data.
<a href="https://glama.ai/mcp/servers/@Octodet/elasticsearch-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@Octodet/elasticsearch-mcp/badge" alt="octodet-elasticsearch-mcp MCP server" /> </a>Install the package globally:
npm install -g @octodet/elasticsearch-mcp
Or use it directly with npx:
npx @octodet/elasticsearch-mcp
npm install
npm run build
Add the following configuration to your VS Code settings.json to integrate with the VS Code MCP extension:
"mcp.servers": {
"elasticsearch": {
"command": "npx",
"args": [
"-y", "@octodet/elasticsearch-mcp"
],
"env": {
"ES_URL": "http://localhost:9200",
"ES_API_KEY": "your_api_key",
"ES_VERSION": "8"
}
}
}
Configure in your Claude Desktop configuration file:
{
"mcpServers": {
"elasticsearch": {
"command": "npx",
"args": ["-y", "@octodet/elasticsearch-mcp"],
"env": {
"ES_URL": "http://localhost:9200",
"ES_API_KEY": "your_api_key",
"ES_VERSION": "8"
}
}
}
}
If you're developing the MCP server locally, you can configure the clients to use your local build:
{
"mcpServers": {
"elasticsearch": {
"command": "node",
"args": ["path/to/build/index.js"],
"env": {
"ES_URL": "http://localhost:9200",
"ES_API_KEY": "your_api_key",
"ES_VERSION": "8"
}
}
}
}
The server uses the following environment variables for configuration:
| Variable | Description | Default | | ------------------ | ------------------------------ | --------------------- | | ES_URL | Elasticsearch server URL | http://localhost:9200 | | ES_API_KEY | API key for authentication | | | ES_USERNAME | Username for authentication | | | ES_PASSWORD | Password for authentication | | | ES_CA_CERT | Path to custom CA certificate | | | ES_VERSION | Elasticsearch version (8 or 9) | 8 | | ES_SSL_SKIP_VERIFY | Skip SSL verification | false | | ES_PATH_PREFIX | Path prefix for Elasticsearch | |
The server provides 16 MCP tools for Elasticsearch operations. Each tool is documented with its required and optional parameters:
List all available Elasticsearch indices with detailed information.
Parameters:
indexPattern (optional, string): Pattern to filter indices (e.g., "logs-", "my-index-")Example:
{
"indexPattern": "logs-*"
}
Get field mappings for a specific Elasticsearch index.
Parameters:
index (required, string): The name of the index to get mappings forExample:
{
"index": "my-index"
}
Perform an Elasticsearch search with the provided query DSL and highlighting.
Parameters:
index (required, string): The index or indices to search in (supports comma-separated values)queryBody (required, object): The Elasticsearch query DSL bodyhighlight (optional, boolean): Enable search result highlighting (default: true)Example:
{
"index": "my-index",
"queryBody": {
"query": {
"match": {
"content": "search term"
}
},
"size": 10,
"from": 0,
"sort": [{ "_score": { "order": "desc" } }]
},
"highlight": true
}
Get health information about the Elasticsearch cluster.
Parameters:
Example:
{}
Get shard information for all or specific indices.
Parameters:
index (optional, string): Specific index to get shard information for. If omitted, returns shards for all indicesExample:
{
"index": "my-index"
}
Add a new document to a specific Elasticsearch index.
Parameters:
index (required, string): The index to add the document todocument (required, object): The document content to addid (optional, string): Document ID. If omitted, Elasticsearch will generate one automaticallyExample:
{
"index": "my-index",
"id": "doc1",
"document": {
"title": "My Document",
"content": "Document content here",
"timestamp": "2025-06-23T10:30:00Z",
"tags": ["important", "draft"]
}
}
Update an existing document in a specific Elasticsearch index.
Parameters:
index (required, string): The index containing the documentid (required, string): The ID of the document to updatedocument (required, object): The partial document with fields to updateExample:
{
"index": "my-index",
"id": "doc1",
"document": {
"title": "Updated Document Title",
"last_modified": "2025-06-23T10:30:00Z"
}
}
Delete a document from a specific Elasticsearch index.
Parameters:
index (required, string): The index containing the documentid (required, string): The ID of the document to deleteExample:
{
"index": "my-index",
"id": "doc1"
}
Update documents in an Elasticsearch index based on a query.
Parameters:
index (required, string): The index to update documents inquery (required, object): Elasticsearch query to match documents for updatescript (required, object): Script to execute for updating matched documentsconflicts (optional, string): How to handle version conflicts ("abort" or "proceed", default: "abort")refresh (optional, boolean): Whether to refresh the index after the operation (default: false)Example:
{
"index": "my-index",
"query": {
"term": {
"status": "active"
}
},
"script": {
"source": "ctx._source.status = params.newStatus; ctx._source.updated_at = params.timestamp",
"params": {
"newStatus": "inactive",
"timestamp": "2025-06-23T10:30:00Z"
}
},
"conflicts": "proceed",
"refresh": true
}
Delete documents in an Elasticsearch index based on a query.
Parameters:
index (required, string): The index to delete documents fromquery (required, object): Elasticsearch query to match documents for deletionconflicts (optional, string): How to handle version conflicts ("abort" or "proceed", default: "abort")refresh (optional, boolean): Whether to refresh the index after the operation (default: false)Example:
{
"index": "my-index",
"query": {
"range": {
"created_date": {
"lt": "2025-01-01"
}
}
},
"conflicts": "proceed",
"refresh": true
}
Perform multiple document operations in a single API call for better performance.
Parameters:
operations (required, array): Array of operation objects, each containing:
action (required, string): The operation type ("index", "create", "update", or "delete")index (required, string): The index for this operationid (optional, string): Document ID (required for update/delete, optional for index/create)document (conditional, object): Document content (required for index/create/update operations)Example:
{
"operations": [
{
"action": "index",
"index": "my-index",
"id": "doc1",
"document": { "title": "Document 1", "content": "Content here" }
},
{
"action": "update",
"index": "my-index",
"id": "doc2",
"document": { "title": "Updated Title" }
},
{
"action": "delete",
"index": "my-index",
"id": "doc3"
}
]
}
Create a new Elasticsearch index with optional settings and mappings.
Parameters:
index (required, string): The name of the index to createsettings (optional, object): Index settings like number of shards, replicas, etc.mappings (optional, object): Field mappings defining how documents should be indexedExample:
{
"index": "new-index",
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1,
"analysis": {
"analyzer": {
"custom_analyzer": {
"type": "standard",
"stopwords": "_english_"
}
}
}
},
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "custom_analyzer"
},
"created": {
"type": "date",
"format": "yyyy-MM-dd'T'HH:mm:ss'Z'"
},
"tags": {
"type": "keyword"
}
}
}
}
Delete an Elasticsearch index permanently.
Parameters:
index (required, string): The name of the index to deleteExample:
{
"index": "my-index"
}
Count documents in an index, optionally filtered by a query.
Parameters:
index (required, string): The index to count documents inquery (optional, object): Elasticsearch query to filter documents for countingExample:
{
"index": "my-index",
"query": {
"bool": {
"must": [
{ "term": { "status": "active" } },
{ "range": { "created_date": { "gte": "2025-01-01" } } }
]
}
}
}
Get index templates from Elasticsearch.
Parameters:
name (optional, string): Specific template name to retrieve. If omitted, returns all templatesExample:
{
"name": "logs-template"
}
Get index aliases from Elasticsearch.
Parameters:
name (optional, string): Specific alias name to retrieve. If omitted, returns all aliasesExample:
{
"name": "logs-alias"
}
Run the server in watch mode during development:
npm run dev
This server implements the Model Context Protocol to enable standardized communication between LLM clients and Elasticsearch. It provides a set of tools that can be invoked by MCP clients to perform various Elasticsearch operations.
To add a new tool to the server:
src/index.ts using the MCP server's tool registration formatsrc/utils/elasticsearchService.tsThis server can be used with any MCP-compatible client, including:
You can also use the server programmatically in your Node.js applications:
import { createOctodetElasticsearchMcpServer } from "@octodet/elasticsearch-mcp";
import { CustomTransport } from "@modelcontextprotocol/sdk/server";
// Configure the Elasticsearch connection
const config = {
url: "http://localhost:9200",
apiKey: "your_api_key",
version: "8",
};
// Create and start the server
async function startServer() {
const server = await createOctodetElasticsearchMcpServer(config);
// Connect to your custom transport
const transport = new CustomTransport();
await server.connect(transport);
console.log("Elasticsearch MCP server started");
}
startServer().catch(console.error);
This project is licensed under the MIT License - see the LICENSE file for details.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key
Streaming
No
Data region
global
Protocol support
Requires: mcp, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/contract"
curl -s "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.
63 production tools for AI agents — one API key, pay per call in USDC (x402) or Stripe credits.
Search ReliefWeb humanitarian reports, disasters, jobs, training, and country profiles via MCP.
Primary-source commodities data for AI agents — EIA, FRED, CFTC, USDA, USGS via x402 on Base.
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key"
],
"requires": [
"mcp",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/Octodet/elasticsearch-mcp#input",
"outputSchemaRef": "https://github.com/Octodet/elasticsearch-mcp#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:46:41.589Z",
"sourceUpdatedAt": "2026-02-24T19:46:41.589Z",
"freshnessSeconds": 19604973
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/snapshot",
"contractUrl": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/contract",
"trustUrl": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/trust"
},
"curlExamples": [
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/snapshot\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/contract\"",
"curl -s \"https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-10-09T17:36:15.249Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "elasticsearch",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "search",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "octodet",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "data-operations",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:elasticsearch|supported|profile capability:search|supported|profile capability:mcp|supported|profile capability:model-context-protocol|supported|profile capability:octodet|supported|profile capability:data-operations|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:41.589Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key",
"href": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:41.589Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/Octodet/elasticsearch-mcp#input",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:41.589Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Octodet",
"href": "https://github.com/Octodet/elasticsearch-mcp#readme",
"sourceUrl": "https://github.com/Octodet/elasticsearch-mcp#readme",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "3 GitHub stars",
"href": "https://github.com/Octodet/elasticsearch-mcp",
"sourceUrl": "https://github.com/Octodet/elasticsearch-mcp",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/mcp-octodet-elasticsearch-mcp/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to @octodet/elasticsearch-mcp and adjacent AI workflows.