Kairos Relationship Memory
Server Details
Free MCP: relationship_memory validate, store (local), retrieve — portable interlocutor cards v1.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- comallagency/kairos-x402-service
- GitHub Stars
- 0
TDQS
Scored across 3 tools
retrieve is clearly distinct as the schema/entrypoint/sample lookup. store and validate overlap somewhat because store includes validation, but store adds normalization while validate is purely a schema check, so the descriptions are sufficient to separate them.
All tools use the consistent relationship_memory.<verb> pattern with clear English verbs: retrieve, store, validate. There is no mixing of styles or vague naming within the set.
Three tools is well-scoped for this server's stated purpose: retrieving schema/samples, validating cards, and producing normalized cards. Each tool has a distinct role and none feel redundant or unnecessary.
The surface covers the core workflow of obtaining, validating, and normalizing relationship memory cards. Actual persistence is intentionally omitted by design, so the only minor gap is that 'store' does not actually store anything server-side, but this is clearly explained in the description.
Available Tools
3 toolsrelationship_memory.retrieveRelationship Memory.RetrieveBInspect
Return schema, sample, HTTP and MCP entrypoints. Optional who= pre-fills a starter card for a new interlocutor.
| Name | Required | Description | Default |
|---|---|---|---|
| who | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It does reveal what the tool returns and how the optional 'who' parameter affects the output, which is useful. However, it does not clarify whether this is read-only, whether it accesses existing relationship data, or what happens if 'who' refers to an existing interlocutor rather than a new one.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence with no filler. The main output behavior is front-loaded, and the optional parameter behavior is appended concisely. Every word contributes information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter and an output schema, the description covers the core behavior. But given the presence of siblings and the potentially misleading name 'retrieve,' the description omits critical context about when to use the tool and what it does not do, such as whether it returns stored relationship memories or simply API metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate. It adds meaning by explaining that 'who' pre-fills a starter card for a new interlocutor, which goes beyond the bare string/null schema. However, it does not specify the expected format of 'who' or how it behaves for existing interlocutors, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and output: 'Return schema, sample, HTTP and MCP entrypoints.' This clearly distinguishes it from the write-oriented sibling 'store' and the validation-oriented 'validate'. It could be slightly clearer about whether it retrieves stored relationship memories versus API metadata, but the stated purpose is concrete and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus relationship_memory.store or relationship_memory.validate. The only contextual hint is that 'who= pre-fills a starter card for a new interlocutor,' which implies when to pass the optional parameter, but there is no explicit when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
relationship_memory.storeRelationship Memory.StoreBInspect
Validate then return a normalized card ready to persist on the caller side — free, stateless (no server-side database).
| Name | Required | Description | Default |
|---|---|---|---|
| card | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that the tool is stateless, does not persist server-side, and returns a normalized card. It also says it validates first. However, it does not disclose what 'normalized' means, what validation errors look like, whether the input card is mutated, or any side effects. The description adds some behavioral context but leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loads the main action ('Validate then return a normalized card'). It includes useful qualifiers ('free, stateless', 'no server-side database') without excess. It could be slightly more structured, but it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one parameter, no annotations, and an output schema exists. The description explains the core behavior and the stateless nature, which is important context. However, it does not explain what the output schema contains, what 'normalized' means, or how this relates to sibling tools. For a tool with a nested object parameter and no schema descriptions, this is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the schema only says 'card' is an object with additionalProperties true. The description says the tool validates and normalizes a card, which adds meaning, but it does not explain the expected structure of the card, what fields are required, or what normalization entails. With a single nested object parameter and no schema descriptions, the description should compensate more but only gives a high-level hint.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Validate then return a normalized card ready to persist on the caller side') and distinguishes it from a server-side store by noting it is 'stateless (no server-side database)'. It clearly identifies the resource ('card') and the outcome. However, it does not explicitly contrast with sibling tools like relationship_memory.retrieve or relationship_memory.validate, so differentiation is implied rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: call this when you need a validated, normalized card to persist on the caller side, and it explicitly says it is not a server-side database. However, it does not state when to use relationship_memory.validate instead, nor does it mention any prerequisites or alternatives. The 'free, stateless' phrasing hints at when not to expect persistence, but there is no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
relationship_memory.validateRelationship Memory.ValidateBInspect
Validate a relationship memory card against the v1 JSON Schema — free. Pass the full card object.
| Name | Required | Description | Default |
|---|---|---|---|
| card | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool is 'free' and validates against a schema, but it doesn't disclose what happens on validation failure, whether it returns detailed errors, or any side effects. For a validation tool, the behavior on invalid input is critical and not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no waste. The key action and input requirement are front-loaded, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are likely covered there. However, with no annotations and no details on validation failure behavior, the description is not fully complete for an agent deciding whether to call this tool and how to interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description says 'Pass the full card object,' which adds meaning beyond the schema's generic 'card' object property. However, it doesn't explain the structure of the card or what 'full' means, so the agent must infer the card shape from context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates a relationship memory card against the v1 JSON Schema, which is a specific verb and resource. It doesn't explicitly differentiate from siblings, but the validation action is distinct enough from retrieve/store that an agent can infer the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by saying 'Pass the full card object,' which tells the agent what input to provide. However, it doesn't explicitly state when to use this tool versus retrieve/store, nor does it mention any prerequisites or context for validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
relationship_memory.retrieve - First observed
relationship_memory.store - First observed
relationship_memory.validate
Related MCP Connectors
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Persistent memory for AI agents — log and recall conversation context over MCP.
Personal knowledge graph as an AI memory layer over MCP - read, save, and link your memories.
Related MCP Servers
- AlicenseBqualityAmaintenanceLocal-first memory for AI agents about the people in your life. MCP server + CLI on SQLite. Never phones home.39251 PyPI41MIT
- FlicenseNot gradedqualityAmaintenanceA self-hosted MCP memory and state system for long-running AI relationships, storing source text locally with explicit memory tools and a web manager for humans.19-
- AlicenseBqualityCmaintenanceAn MCP server that gives AI agents a private, durable memory of people, providing a personal people graph in PostgreSQL with tools to search, remember, and connect people, plus imports from LinkedIn, Google Contacts, and WhatsApp, and a browser UI.111MIT
- AlicenseNot gradedqualityCmaintenanceProvides a selective persistent memory layer for AI companions, enabling structured recall, reinforcement, and time-decayed retrieval through an MCP interface.8 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.