Skip to main content
Glama

knowmind_entity

Idempotent

Create or retrieve a graph node for a person, organization, application, host, or technology so memories mentioning the same name can link; deprecated, use knowmind_upsert_entity.

Instructions

DEPRECATED, removed on 2027-03-31: use knowmind_upsert_entity. This name keeps answering unchanged until then. Create the node for a thing the corpus talks about - a person, an organisation, an application, a host, a technology - or return the existing one. THE GRAPH NEEDS THESE: memories are texts, and two texts mentioning the same server stay unconnected until that server exists as its own node. Create an entity when a name recurs across memories or when you are about to link something that has no node yet, then connect it with knowmind_link. Same name, same class and same tenant always return the same id, so calling twice creates no duplicate. Give the entity its plain proper name ("PostgreSQL", not "the database we use"), and pick the class from the catalogue in knowmind_schema. Requires write scope.

Input Schema

NameRequiredDescriptionDefault
nameYesProper name of the thing, as it would be written in a document. No role, no status, no description.
aliasesNoOther spellings the same thing appears under. Optional.
descriptionNoOne sentence saying what this is. Optional, helps later retrieval.
entity_classYesClass from the catalogue (knowmind_schema -> entityClasses), e.g. Person, Organization, Application, Host, Technology.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.7

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, but the description adds material context beyond them: the deprecation window (removed 2027-03-31, answers unchanged until then), the write-scope requirement, and the dedup rule ("same name, same class and same tenant always return the same id, so calling twice creates no duplicate"). It also disambiguates upsert-vs-create semantics by noting it returns the existing node.

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 deprecation notice and replacement pointer are correctly front-loaded, and the operational guidance that follows is dense rather than padded. It runs slightly long for a deprecated alias, but nearly every sentence carries actionable instruction, so no serious trimming is warranted.

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

Completeness5/5

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

For a create-style tool with no output schema, the description covers purpose, idempotency, naming contract, class sourcing, dependency on knowmind_schema/knowmind_link, and the migration path. Nothing an agent needs in order to call it correctly is missing.

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

Parameters4/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 four parameters and baseline is 3. The description adds real meaning on top: name must be the plain proper name ("PostgreSQL", not "the database we use") and entity_class must come from knowmind_schema -> entityClasses.

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?

States a specific verb and resource ("Create the node for a thing the corpus talks about") and enumerates concrete entity types (person, organisation, application, host, technology). It also names its replacement, knowmind_upsert_entity, so an agent can distinguish it from every sibling without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit routing (use knowmind_upsert_entity instead), the condition for using the tool at all ("when a name recurs across memories or when you are about to link something that has no node yet"), and the follow-up action ("then connect it with knowmind_link"). When-to-use and when-not-to-use are both covered.

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