Skip to main content
Glama
j3k0

Elasticsearch Knowledge Graph for MCP

by j3k0

search_nodes

Query entities in structured data using Elasticsearch syntax. Filter by entity types, sort by relevance or recency, and specify zones for isolation. Enhances search precision with advanced operators like boolean, proximity, and wildcards for Knowledge Graph insights.

Instructions

Search entities using ElasticSearch query syntax. Supports boolean operators (AND, OR, NOT), fuzzy matching (~), phrases ("term"), proximity ("terms"~N), wildcards (*, ?), and boosting (^N). Examples: 'meeting AND notes', 'Jon~', '"project plan"~2'. All searches respect zone isolation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entityTypesNoFilter to specific entity types (OR condition if multiple).
includeObservationsNoInclude full entity observations (default: false).
informationNeededYesImportant. Describe what information you are looking for, to give a precise context to the search engine AI agent. What questions are you trying to answer? Helps get more useful results.
limitNoMax results (default: 20, or 5 with observations).
memory_zoneYesLimit search to specific zone. Omit for default zone.
queryYesElasticSearch query string.
reasonYesExplain why this information is needed to help the AI agent give better results. The more context you provide, the better the results will be.
sortByNoSort by match quality, access time, or importance.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the search syntax and zone isolation, but misses key behavioral traits: it doesn't mention whether this is a read-only operation (implied but not stated), potential rate limits, error handling, or the format of results (especially since there's no output schema). The syntax examples are helpful but not comprehensive for behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded with the core purpose and syntax details. Every sentence adds value: the first states the action and syntax, the second lists supported operators, the third gives examples, and the fourth mentions zone isolation. There's no wasted text, though it could be slightly more structured (e.g., bullet points for operators).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, 4 required, no annotations, no output schema), the description is incomplete. It covers the search syntax and zone isolation well, but lacks details on result format, pagination, error cases, or performance considerations. Without an output schema, the description should ideally hint at what to expect (e.g., 'returns a list of matching entities'), but it doesn't, leaving gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description adds no parameter-specific information beyond what's in the schema (e.g., it doesn't clarify 'query' beyond stating it uses ElasticSearch syntax, which the schema already notes). Thus, it meets the baseline of 3 without adding extra semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Search entities using ElasticSearch query syntax') and resource ('entities'), distinguishing it from sibling tools like 'get_recent' (which likely retrieves recent items without search) or 'open_nodes' (which might open specific nodes). The mention of 'zone isolation' further differentiates it from tools like 'list_zones' or 'zone_stats'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (searching entities with ElasticSearch syntax) and implies when not to use it (e.g., for non-search operations like creating or deleting entities, covered by sibling tools). However, it lacks explicit alternatives (e.g., 'get_recent' for recent items without querying) or exclusions (e.g., when to use 'inspect_knowledge_graph' instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Related Tools

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/j3k0/mcp-brain-tools'

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