Novyx MCP
OfficialNovyx MCP — Extensión de escritorio
Extensión de escritorio (.mcpb) para Claude Desktop. Instalación con un solo clic para memoria persistente de agentes de IA con reversión, pistas de auditoría y búsqueda semántica.
Características
Memoria persistente — Almacena y recupera recuerdos con búsqueda semántica
Reversión en el tiempo (Time-Travel) — Deshaz errores retrocediendo a cualquier punto en el tiempo
Pistas de auditoría — Prueba criptográfica de cada operación de memoria
Grafo de conocimiento — Vincula recuerdos con triples sujeto-predicado-objeto
Espacios de contexto — Ámbitos de memoria aislados para diferentes proyectos
Local-First — Funciona al instante con SQLite, no requiere clave de API
Actualización a la nube — Sincronización en la nube opcional, uso compartido en equipo y funciones avanzadas
120 herramientas, 6 recursos, 3 prompts.
Related MCP server: aura-memory
Instalación
Desde el directorio de Anthropic (recomendado):
Instala directamente desde Claude Desktop → Settings → Extensions.
Instalación manual:
Descarga el archivo
.mcpbmás reciente desde ReleasesHaz doble clic en el archivo o arrástralo a Claude Desktop
Requisitos previos: Se debe tener instalado Python 3.10+. La extensión instala automáticamente novyx-mcp mediante uvx o utiliza una instalación existente de pip install novyx-mcp.
Configuración
No se requiere configuración para el modo local. La extensión funciona de inmediato con una base de datos SQLite local.
Opcional — Modo nube:
Cuando se te solicite durante la instalación, introduce tu clave de API de Novyx. Obtén una clave gratuita en novyxlabs.com (5,000 recuerdos, sin tarjeta de crédito).
El modo nube permite:
Sincronización de memoria entre dispositivos
Pistas de auditoría firmadas con RSA
Uso compartido en equipo y espacios de contexto
Funciones de reproducción y córtex
Ejemplos de uso
Ejemplo 1: Almacenar y recuperar recuerdos
Prompt del usuario:
Recuerda que la fecha límite del proyecto es el 15 de marzo y estamos usando React con TypeScript.
Qué sucede: Claude llama a la herramienta remember para almacenar dos recuerdos etiquetados. Más tarde:
¿Qué stack tecnológico estamos usando para este proyecto?
Qué sucede: Claude llama a recall con una búsqueda semántica, encuentra el recuerdo almacenado sobre React + TypeScript y responde con precisión.
Ejemplo 2: Revertir un error
Prompt del usuario:
Accidentalmente te dije que la fecha límite era el 15 de marzo; en realidad es el 1 de abril. Revierte el recuerdo incorrecto y corrígelo.
Qué sucede: Claude llama a rollback para deshacer el recuerdo incorrecto, luego a remember para almacenar la fecha corregida. La pista de audit muestra el historial completo: almacenamiento original → reversión → almacenamiento corregido.
Ejemplo 3: Construir un grafo de conocimiento
Prompt del usuario:
Rastrea estas relaciones: Alice gestiona el equipo de frontend, Bob gestiona el equipo de backend, y ambos equipos reportan a Carol.
Qué sucede: Claude llama a triple tres veces para crear entradas en el grafo de conocimiento:
Alice → manages → frontend teamBob → manages → backend teamfrontend team, backend team → reports_to → Carol
Más tarde, preguntar "¿A quién reporta el equipo de frontend?" activa una consulta triples que devuelve la respuesta.
Ejemplo 4: Contextos de proyecto aislados
Prompt del usuario:
Crea un espacio de memoria separado para mi proyecto paralelo para que no se mezcle con los recuerdos del trabajo.
Qué sucede: Claude llama a create_space para crear un contexto aislado. Los recuerdos almacenados en ese espacio están delimitados y no aparecen en las búsquedas generales.
Política de privacidad
Novyx MCP opera en dos modos:
Modo local (predeterminado): Todos los datos se almacenan localmente en una base de datos SQLite en ~/.novyx/local.db. No se envían datos a ningún servidor externo. Sin analíticas ni telemetría.
Modo nube (opcional): Cuando proporcionas una clave de API, los recuerdos se envían a la API de Novyx (novyx-ram-api.fly.dev) para su almacenamiento y sincronización. Los datos se cifran en tránsito (TLS) y en reposo. No compartimos tus datos con terceros. Consulta nuestra política de privacidad completa en novyxlabs.com/privacy.
Puedes cambiar entre modos en cualquier momento añadiendo o eliminando tu clave de API.
Retención de datos: Los datos locales persisten hasta que los elimines. Los datos en la nube se conservan hasta que los elimines o cierres tu cuenta. Las pistas de auditoría son inmutables por diseño.
Para preguntas sobre privacidad, contacta a blake@novyxlabs.com.
Soporte
Documentación: docs.novyxlabs.com
Correo electrónico: blake@novyxlabs.com
Cómo funciona
Esta extensión de escritorio es un envoltorio ligero de Node.js que genera el servidor de Python novyx-mcp como un proceso hijo. La capa de Node.js maneja el ciclo de vida del proceso; el servidor de Python maneja toda la lógica de MCP.
Orden de lanzamiento:
uvx novyx-mcp(más rápido — no requiere instalación)python3 -m novyx_mcp(si se instaló con pip)novyx-mcp(si se instaló con pipx)
Licencia
MIT
Available Tools
23 toolsadd_tripleA
Add a knowledge graph triple (subject -> predicate -> object).
Entities are auto-created by name if they don't exist.
Args:
subject: The subject entity name.
predicate: The relationship predicate.
object_name: The object entity name.
Returns:
JSON string with the created triple details.
| Name | Required | Description | Default |
|---|---|---|---|
| subject | Yes | ||
| predicate | Yes | ||
| object_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses auto-creation behavior: 'Entities are auto-created by name if they don't exist'. It also notes the return format as JSON string. Annotations provide destructiveHint: false, which aligns with a create operation. No contradictions.
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 very concise: a one-sentence summary followed by a simple argument list and return statement. Every sentence serves a purpose, no fluff.
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?
Given the low complexity (3 string parameters, no enums, output schema exists), the description covers the essential aspects: purpose, parameters, return format, and auto-creation. Could mention potential errors but adequate.
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 has 0% description coverage, but the description adds one-sentence definitions for each parameter: 'The subject entity name', 'The relationship predicate', 'The object entity name.' These add some meaning beyond the titles but are minimal.
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 action: 'Add a knowledge graph triple (subject -> predicate -> object)'. It distinguishes itself from siblings like 'query_triples' by focusing on creation rather than retrieval.
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 an implied usage context (adding triples) but does not explicitly state when to use this tool versus alternatives like query_triples for retrieval. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auditARead-only
Get the audit trail of memory operations.
Args:
limit: Maximum number of audit entries to return (default 20).
operation: Optional filter by operation type (CREATE, UPDATE, DELETE, ROLLBACK).
Returns:
JSON string with audit trail entries.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| operation | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description correctly indicates a read operation consistent with readOnlyHint annotation. It adds value by stating the return format (JSON string) and parameter constraints, but behavioral traits are adequately covered by annotations.
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 concise and well-structured with Args and Returns sections. Every sentence is informative and there is no extraneous content.
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?
Given the presence of an output schema, the description sufficiently explains the return value. The two parameters are fully described, providing complete guidance for an agent to use the tool correctly.
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?
Despite 0% schema description coverage, the description explains both 'limit' (max entries, default 20) and 'operation' (optional filter by type). This compensates for the missing schema descriptions effectively.
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 'Get the audit trail of memory operations', using a specific verb ('Get') and resource ('audit trail'). It effectively distinguishes from sibling tools like 'add_triple' and 'remember' which are mutation operations.
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 provides defaults and filter options but lacks explicit guidance on when to use this tool versus alternatives. No context about when not to use it or comparison with similar tools like 'replay_diff'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cortex_insightsARead-only
List auto-generated memory insights.
Cortex detects patterns across your memories and generates insights automatically.
Requires Enterprise tier or Novyx Cloud.
Args:
limit: Maximum insights to return (default 20).
Returns:
JSON string with generated insights.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the readOnlyHint annotation by stating it lists insights. It adds behavioral context beyond annotations, such as the enterprise requirement and the return format (JSON string). No contradictions.
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 concise with three sentences plus structured Args/Returns. It front-loads the purpose and contains no unnecessary words.
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?
Given the tool's simplicity (one parameter, read-only, output schema present), the description sufficiently covers the purpose, behavior, and parameter. It could elaborate on the nature of insights but is adequate for correct invocation.
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 no description for the 'limit' parameter (0% coverage). The description compensates by defining it as 'Maximum insights to return (default 20)', adding clear semantic meaning.
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 'List auto-generated memory insights' and explains that Cortex detects patterns and generates insights automatically. It provides a clear verb and resource, but does not explicitly differentiate from sibling tools like cortex_run or memory_stats.
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 includes a prerequisite ('Requires Enterprise tier or Novyx Cloud'), giving context on when to use the tool. However, it does not provide guidance on when not to use it or mention alternatives among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cortex_runA
Manually trigger a Cortex cycle.
Runs consolidation (merge duplicate memories) and reinforcement (boost frequently
recalled memories, decay forgotten ones). Normally runs automatically every 6 hours.
Requires Pro tier or Novyx Cloud.
Returns:
JSON string with cycle results (consolidated, reinforced counts).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals full behavioral details: what triggers (cycle), what it does (consolidation, reinforcement), and the return format (JSON with counts). Annotations indicate destructiveHint=false, which is consistent with the non-destructive nature described.
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 extremely concise with only three sentences, each earning its place: purpose, details, and returns. No filler or redundancy.
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?
All required information is present: purpose, actions, automatic schedule, tier requirement, and output format. No gaps given the simplicity of the tool (no parameters, output schema exists).
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?
There are zero parameters, and the schema coverage is 100%. The description adds no parameter details, which is acceptable as there are none to describe. Baseline 4 for no parameters.
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 'Manually trigger a Cortex cycle' and explains the actions (consolidation, reinforcement). It distinguishes from sibling tools like cortex_status which only shows status, and other memory operations.
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 provides explicit context on when to use (manual trigger) and notes it normally runs automatically. It also mentions the Pro tier requirement. However, it doesn't explicitly state when not to use or list alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cortex_statusARead-only
Get Cortex autonomous intelligence status.
Shows whether Cortex is enabled, last run time, and consolidation/reinforcement stats.
Requires Pro tier or Novyx Cloud.
Returns:
JSON string with Cortex status and last run info.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds behavioral context by stating what fields are returned and the requirement, which goes beyond the annotation. It does not describe edge cases or potential side effects, but for a read-only status tool this is sufficient.
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 concise with three sentences, each earning its place: the first states the primary function, the second lists specific data points, and the third notes the requirement. No wasted words.
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?
Given no parameters, an output schema exists to define the return format, and the description covers the tool's purpose, returned information, and access requirements. This is complete for the tool's simplicity.
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 no parameters and 100% schema description coverage. With no parameters, the description is the sole source of meaning. It clarifies that the tool returns a JSON string with status and last run info, which adds value over the empty schema.
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 uses the verb 'Get' to clearly state it retrieves Cortex status. It specifies the exact information shown (enabled, last run time, consolidation/reinforcement stats) and the required tier. This distinguishes it from sibling tools like cortex_run or cortex_insights, which have different purposes.
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 mentions a prerequisite (Pro tier or Novyx Cloud) but does not provide guidance on when to use this tool versus alternatives like cortex_insights or cortex_run. It does not specify scenarios where this status check is appropriate or when other tools should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_spaceA
Create a shared context space for multi-agent collaboration.
Spaces let multiple agents share memories with fine-grained permissions.
The creator is the owner and can grant read/write access to other agents or tenants.
Args:
name: Name for the space.
description: Optional description of the space's purpose.
allowed_agents: Optional list of agent IDs that can access this space.
tags: Optional tags for the space.
Returns:
JSON string with the created space details including space_id.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| tags | No | ||
| description | No | ||
| allowed_agents | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond the annotations: it notes that the creator becomes the owner and can grant read/write access, and that the return is a JSON string with space_id. The annotation (destructiveHint=false) is consistent with creation.
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 concise with a clear structure: a lead sentence with purpose, a brief explanation, and an Args section. No redundant or extraneous content.
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 description covers inputs, basic behavior, and return type (JSON with space_id). It is reasonably complete for a creation tool, but it could mention error conditions or prerequisites (e.g., authentication) for full completeness.
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?
With 0% schema description coverage, the description provides explanations for all four parameters (name, description, allowed_agents, tags). While brief, it adds meaning beyond type info, though it could include more detail on formats (e.g., agent ID format).
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 verb (create) and resource (space) and explains its purpose for multi-agent collaboration with fine-grained permissions. It distinguishes from sibling tools like delete_space, update_space, and list_spaces.
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 provides context on when to use the tool (to create a space for agent collaboration) and mentions ownership and permissions. However, it does not explicitly state when not to use it or suggest alternatives, though the usage is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_spaceBDestructive
Delete a context space (owner only).
Args:
space_id: The space ID to delete.
Returns:
JSON string indicating success.
| Name | Required | Description | Default |
|---|---|---|---|
| space_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds owner constraint beyond annotations (destructiveHint=true), but does not disclose irreversibility, cascading effects, or what happens to contained data. Missing behavioral details important for a destructive action.
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?
Short and front-loaded with action and constraint. Efficient two-sentence description plus args/returns. Slight lack of structured format but overall concise.
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?
Omits critical context such as irreversibility, data loss, and prerequisites for deletion. Given the destructive nature and simple schema, description should clarify that the operation permanently removes the space and all its contents.
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?
With 0% schema description coverage, description merely restates the parameter name as 'The space ID to delete', adding no format, constraints, or examples. Insufficient compensation for missing schema documentation.
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 verb 'Delete' and the resource 'context space', and adds an ownership constraint. It distinguishes from siblings like create_space, update_space, and share_space.
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?
Mentions 'owner only' implying who should use it, but lacks explicit guidance on when to use versus alternatives, prerequisites, or conditions like checking if space exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forgetADestructive
Delete a memory by its UUID.
Args:
memory_id: The UUID of the memory to delete.
Returns:
JSON string indicating success or failure.
| Name | Required | Description | Default |
|---|---|---|---|
| memory_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal destructiveness; description adds return format but doesn't disclose potential side effects or authorization needs. Acceptable but not enhanced.
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?
Concise and well-structured, though the Args/Returns formatting adds mild verbosity; still earns its place with no wasted 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?
Sufficient for a simple delete operation: one parameter, clear purpose, and return indication. No critical gaps given the presence of an output schema.
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 has 0% description coverage for parameters, but the description explicitly notes that memory_id is a UUID, adding meaning beyond the schema's 'Memory Id' title.
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?
Clearly states the verb 'Delete' and the resource 'memory by UUID', effectively distinguishing it from sibling tools like remember or list_memories.
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?
No guidance on when to use this tool vs alternatives, no mention of prerequisites or limitations beyond the basic operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
link_memoriesA
Create a directed link between two memories.
Args:
source_id: UUID of the source memory.
target_id: UUID of the target memory.
relation: Type of relationship (default 'related').
Returns:
JSON string with the created link details.
| Name | Required | Description | Default |
|---|---|---|---|
| relation | No | related | |
| source_id | Yes | ||
| target_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=false, so the agent knows this is non-destructive. The description adds that it returns a JSON string with details, but lacks information about idempotency, duplicate handling, or required permissions. For a simple creation tool, this is adequate but not exhaustive.
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 concise with a one-line purpose, a structured Args section, and a Returns section. Every sentence adds value. Front-loaded with the action, it avoids fluff.
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?
Given the tool's simplicity (3 params, 2 required), the description covers purpose, parameters, and return value. However, it could mention potential errors, the directed nature of the link, or how it interacts with existing links. Nonetheless, it is largely complete for a straightforward creation tool.
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 coverage is 0%, so the description must explain parameters. It does so clearly: source_id and target_id are UUIDs of memories, relation is a type with default 'related'. This adds meaning beyond the schema's type and title, fully compensating for the lack of schema descriptions.
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 action ('Create a directed link') and the resource ('between two memories'). This distinguishes it from siblings like 'add_triple' which likely adds triples to a knowledge graph, and 'remember' which stores a new memory. The purpose is specific and unambiguous.
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 provides no guidance on when to use this tool versus alternatives like 'add_triple' or 'recall'. It does not mention prerequisites, context, or when not to use it. The agent must infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_memoriesARead-only
List stored memories with optional tag filtering.
Args:
limit: Maximum number of memories to return (default 50).
tags: Optional tag filter to narrow results.
Returns:
JSON string with the list of memories.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only behavior; description adds return type (JSON string) but lacks details on ordering or pagination, providing minimal added value.
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?
Front-loaded purpose sentence followed by structured args and returns, every sentence adds value with no redundancy.
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?
Covers parameters and return type adequately; output schema exists so return details are not required. Lacks ordering info but otherwise complete for a simple listing tool.
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?
With 0% schema description coverage, the description compensates by clarifying limit as maximum and default, and tags as optional filter, adding needed meaning.
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 lists stored memories with optional tag filtering, using a specific verb and resource, and distinguishes it from tools like 'space_memories'.
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?
Implies use as a filtering and listing tool but provides no explicit guidance on when to use versus alternative tools like 'recall' or 'space_memories'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_spacesARead-only
List all context spaces you can access.
Returns spaces you own and spaces shared with you.
Returns:
JSON string with list of spaces and their memory counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses return format ('JSON string with list of spaces and their memory counts'), adding value beyond the readOnlyHint annotation. No contradictions.
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 very concise (three short sentences) and front-loaded with the primary action, with no unnecessary words.
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?
Given zero parameters and an output schema, the description provides sufficient detail about the return value. No gaps remain.
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?
No parameters exist; schema coverage is 100%. Description properly provides no parameter information, which is appropriate.
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 'List all context spaces you can access' with specific scope ('spaces you own and spaces shared with you'), clearly differentiating from sibling tools like list_memories.
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 when to use (listing accessible spaces), but does not explicitly exclude other cases or mention alternatives. However, given the tool's simplicity and uniqueness among siblings, this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_statsARead-only
Get memory statistics for the current account.
Returns:
JSON string with total memories, average importance, tag distribution, etc.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the readOnlyHint annotation by detailing the return format (JSON string with specific fields). It does not mention potential performance implications but is sufficient for a read-only operation.
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?
Two concise sentences: one for purpose, one for return value. No unnecessary words, well-structured.
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 no parameters, an output schema exists (even if not shown here), and the description covers purpose and return fields. It is fully complete for a simple read-only tool.
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?
There are no parameters (schema has 0 properties, 100% coverage). The description does not need to add parameter semantics, and the baseline score of 4 applies per guidelines.
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 verb 'Get', the resource 'memory statistics', and scope 'current account'. It also lists specific return fields (total memories, average importance, tag distribution), distinguishing it from siblings like list_memories or recall.
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 for aggregate statistics rather than individual memory operations. While it doesn't explicitly state when not to use or mention alternatives, the purpose is clear enough for an agent to infer appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_triplesARead-only
Query knowledge graph triples with optional filters.
At least one filter should be provided. Returns all matching triples.
Args:
subject: Filter by subject entity name.
predicate: Filter by relationship predicate.
object_name: Filter by object entity name.
Returns:
JSON string with matching triples.
| Name | Required | Description | Default |
|---|---|---|---|
| subject | No | ||
| predicate | No | ||
| object_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description adds that it returns all matching triples and specifies the return format as JSON string. This provides useful behavioral context without contradicting annotations.
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?
Extremely concise: two sentences plus a structured Args/Returns list. Every component serves a purpose, and the key information is front-loaded. No unnecessary words.
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?
Given the presence of an output schema, the description adequately covers purpose, usage guideline, parameter explanations, and return format. It is complete for a read-only query tool with three optional parameters.
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?
Despite 0% schema description coverage, the description includes an Args section that explains each parameter (subject, predicate, object_name) concisely. This adds meaning beyond the schema's type definitions and defaults.
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?
Clearly states the action (query) and resource (knowledge graph triples). The description explicitly mentions optional filters, setting it apart from sibling tools like add_triple or recall, which have different purposes.
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?
Provides a clear guideline: 'At least one filter should be provided.' While it does not explicitly exclude scenarios or compare with siblings, the context indicates its use for retrieval. The guideline is direct and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recallARead-only
Search memories semantically using natural language.
Args:
query: Natural language search query.
limit: Maximum number of results to return (default 5).
tags: Optional tag filter.
min_score: Minimum similarity score 0-1 (default 0).
Returns:
JSON string with matching memories and their scores.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| limit | No | ||
| query | Yes | ||
| min_score | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the description's mention of 'search' is consistent but adds no new behavioral depth. It does not describe side effects or restrictions beyond what annotations imply.
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 concise with clear Args/Returns sections. No unnecessary words. Every sentence 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?
For a search tool with 4 parameters (1 required) and an output schema, the description covers the return type and key parameter roles. It is complete enough for effective invocation.
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?
With 0% schema description coverage, the description adds value by explaining each parameter: query as natural language, limit as max results, tags optional, min_score range. However, it is still minimal and could provide more context like valid tag formats.
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 it searches memories semantically using natural language, which is a specific verb+resource. It implicitly distinguishes from siblings like list_memories (list all) and forget (delete) by focusing on semantic search.
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?
No explicit guidance on when to use vs alternatives. The agent must infer from context. For example, it doesn't mention that this is for semantic search while list_memories might be for listing all memories.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememberA
Store a memory observation in Novyx.
Args:
observation: The memory content to store.
tags: Optional list of tags for categorization.
importance: Importance score 1-10 (default 5).
context: Optional context string.
ttl_seconds: Optional time-to-live in seconds. Memory auto-expires after this duration.
Returns:
JSON string with the stored memory UUID and details.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| context | No | ||
| importance | No | ||
| observation | Yes | ||
| ttl_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the auto-expiry behavior via ttl_seconds and default importance score, which go beyond the minimal annotation (destructiveHint: false). However, it does not discuss idempotency, overwriting, or scope (e.g., global vs. per space).
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 concise: one sentence summary followed by a clear 'Args:' list. No redundant information; every sentence serves a purpose.
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?
Given the complexity (5 params, output schema exists), the description covers all parameters, return value, and auto-expiry. It lacks clarification on storage scope (global vs. per space) and limits, but overall is satisfactory.
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?
With 0% schema description coverage, the description provides crucial semantics: observation as content, tags for categorization, importance range 1-10, context string, and ttl_seconds for auto-expiry. It also specifies defaults and purpose, significantly adding value beyond the schema's titles.
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 'Store a memory observation in Novyx,' using a specific verb and resource. It distinguishes from sibling tools like 'forget' (delete) and 'recall' (retrieve).
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 implicitly indicates usage for storing memories, but does not explicitly guide when to use it versus alternatives like 'forget' or 'recall.' No exclusion criteria or contexts are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_diffARead-only
Diff memory state between two timestamps.
Shows what was added, removed, and modified in a time range.
Requires Pro tier or Novyx Cloud.
Args:
start: Start timestamp (ISO).
end: End timestamp (ISO).
Returns:
JSON string with added, removed, and modified memories.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ||
| start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, consistent with a read operation. The description details the output (JSON with added/removed/modified), adding meaningful behavioral context beyond annotations.
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?
Four sentences, front-loaded with purpose, then requirements, then arguments. No wasted words.
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?
Given two simple parameters and an output schema, the description covers purpose, usage constraint, input format, and output format. Fully adequate for the tool's complexity.
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 coverage is 0%, so description must compensate. It explicitly states each parameter's format (ISO timestamp), which adds crucial meaning beyond the schema's type string.
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 it diffs memory state between two timestamps and shows added/removed/modified. This is specific and distinguishes from siblings like replay_snapshot and replay_timeline.
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?
It mentions the requirement of Pro tier or Novyx Cloud, providing a usage constraint. It does not explicitly contrast with sibling tools, but the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_lifecycleARead-only
Full biography of a single memory.
Shows creation, every update, every recall, every link, and deletion.
Use this to understand why a memory exists and how it evolved.
Requires Pro tier or Novyx Cloud.
Args:
memory_id: UUID of the memory to inspect.
Returns:
JSON string with the memory's full lifecycle events.
| Name | Required | Description | Default |
|---|---|---|---|
| memory_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint: true, and the description adds that it shows the full lifecycle. With annotations present, the description doesn't need to cover safety, but it offers additional behavioral context about the scope of events displayed.
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 extremely efficient: a one-line summary, bullet list of included events, usage context, and structured Args/Returns. No redundant sentences.
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?
Given a single parameter, read-only annotation, and the existence of an output schema, the description fully covers behavior and return value. The output schema handles detailed structure, so the description is sufficient.
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 coverage is 0%, but the description compensates by stating 'memory_id: UUID of the memory to inspect.' This adds format (UUID) and purpose, which is beyond the schema's bare type/field name.
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's purpose: 'Full biography of a single memory' listing specific events (creation, updates, recalls, links, deletion). This uniquely identifies it among similar tools like replay_timeline or replay_diff.
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?
It explicitly says 'Use this to understand why a memory exists and how it evolved' and mentions required tier. While it doesn't provide negative usage guidance or list alternatives, it gives clear context for when to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_snapshotARead-only
Reconstruct memory state at a specific point in time.
Returns all memories and their link graph as they existed at timestamp T.
Requires Pro tier or Novyx Cloud.
Args:
at: ISO timestamp to reconstruct state at.
limit: Maximum memories to return (default 500).
Returns:
JSON string with memory snapshot and edges.
| Name | Required | Description | Default |
|---|---|---|---|
| at | Yes | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds the tier requirement and clarifies return of memories and link graph, which is moderately useful but does not go beyond what annotations provide significantly.
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 extremely concise with no filler. It front-loads the main purpose and follows with parameter and return details in a clear, scannable format. Every sentence adds value.
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?
Given the tool has only 2 parameters and an output schema, the description covers purpose, parameters, and a key requirement. It lacks details about 'memory snapshot' or 'edges', but the output schema likely handles return formatting, so this is acceptable.
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%, so the description bears full burden. It explains 'at' as an ISO timestamp and 'limit' as maximum memories with a default, adding meaning beyond schema types. However, it doesn't specify the exact ISO format or what happens if limit is exceeded.
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 reconstructs memory state at a specific time, using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like 'replay_diff' or 'replay_timeline', missing a chance to distinguish.
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 mentions a prerequisite (Pro tier or Novyx Cloud) but provides no guidance on when to use this tool versus alternatives like 'remember' or 'recall', nor any exclusion criteria. This is insufficient for an agent to make informed choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_timelineARead-only
Get the full timeline of memory operations. The tape you scrub through.
Shows every create, update, delete, and rollback event with timestamps.
Requires Pro tier or Novyx Cloud.
Args:
since: Start of time range (ISO timestamp).
until: End of time range (ISO timestamp).
operations: Comma-separated filter: create, update, delete, rollback.
limit: Maximum entries to return (default 100).
Returns:
JSON string with timeline entries.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| since | No | ||
| until | No | ||
| operations | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and description confirms read nature. Adds details on event types and return format (JSON string) beyond annotations, but omits rate limits or permission specifics.
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?
Description is four sentences plus well-structured Args and Returns sections. No filler, each sentence 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?
With all parameters optional and annotations present, description covers key aspects (event types, time range, filters, limit). Lacks explicit output schema details, but states return type (JSON string). Could include pagination hints if applicable.
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 provides only types and defaults (0% coverage), while description explains each parameter's purpose, format (ISO timestamp, comma-separated filter), and default limit, providing substantial added value.
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?
Description uses specific verb ('Get') and resource ('full timeline of memory operations'), and lists event types covered. It distinguishes itself from siblings like replay_diff, replay_lifecycle, and replay_snapshot by being the comprehensive timeline.
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?
States prerequisite ('Requires Pro tier or Novyx Cloud') which helps the agent decide when the tool is available. Does not explicitly contrast with alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rollbackADestructive
Rollback memory to a point in time.
Supports ISO timestamps (e.g. '2026-01-15T10:00:00Z') and relative time
expressions (e.g. '2 hours ago').
Args:
target: ISO timestamp or relative time expression.
dry_run: If true, preview changes without applying them.
Returns:
JSON string with rollback results or preview.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | ||
| dry_run | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true, and the description reinforces this by describing a destructive operation that changes memory state. It additionally discloses the dry_run parameter for previewing changes, which adds behavioral context beyond annotations.
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 concise (8 lines) with clear structure: a summary statement, format details, and an args list. Every sentence adds value without redundancy.
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?
Given the low complexity (2 parameters, 1 required) and the presence of an output schema mentioned, the description sufficiently covers purpose, parameters, return type, and behavioral implications. No gaps remain.
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% coverage, meaning no descriptions within the schema properties. The description fully compensates by explaining both parameters: target format (ISO/relative) and dry_run purpose (preview vs apply).
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 'Rollback memory to a point in time,' which is a specific verb+resource combination. Among siblings like 'forget' or 'recall,' 'rollback' is uniquely identifiable and distinct.
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?
It provides clear usage context by specifying acceptable timestamp formats (ISO and relative expressions). However, it does not explicitly state when to use this tool over alternatives like 'forget' or 'recall', leaving some ambiguity for edge cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
space_memoriesARead-only
List or search memories within a context space.
Args:
space_id: The space ID to query.
query: Optional search query to filter memories semantically.
limit: Maximum number of memories to return (default 50).
Returns:
JSON string with memories in the space.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| space_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral context beyond annotations: it explains the optional query parameter, default limit, and that it returns a JSON string. The annotations already indicate readOnlyHint=true, and the description aligns with that.
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 concise and well-structured with 'Args' and 'Returns' sections. Every sentence serves a purpose, and no fluff is present.
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 description covers parameters and return value adequately for a read-only tool. It explains the query and limit behavior, but does not detail the structure of the returned JSON string. Given the presence of an output schema and the tool's simplicity, this is sufficient.
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 coverage is 0%, so the description fully compensates by explaining each parameter: space_id as 'The space ID to query', query as 'Optional search query to filter memories semantically', and limit as 'Maximum number of memories to return (default 50)'. This adds significant meaning beyond the schema.
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 'List or search memories within a context space' which is a specific verb+resource combination. It distinguishes from siblings like 'list_memories' (which likely lists all memories) and 'recall' by specifying the scope.
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 when you need memories in a specific space but does not explicitly state when to use this tool versus alternatives like 'list_memories' or 'recall'. No when-not-to-use or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_spaceA
Update a context space (owner only).
Args:
space_id: The space ID to update.
name: New name for the space.
description: New description.
allowed_agents: Updated list of allowed agent IDs.
tags: Updated tags.
Returns:
JSON string with the updated space details.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| tags | No | ||
| space_id | Yes | ||
| description | No | ||
| allowed_agents | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-destructive. The description adds the ownership constraint, which is useful behavioral context. However, it does not disclose side effects, error cases, or permissions beyond ownership.
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 concise, with a one-line purpose followed by an Args section that clearly lists parameters. It is front-loaded and avoids redundancy, though the Args list could be more compact.
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 simple update tool with 5 parameters (1 required), the description covers all inputs, includes an ownership constraint, and mentions the output (JSON string). It is adequately complete given the presence of an output schema.
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 coverage is 0%, so the description compensates by listing each parameter with a brief explanation (e.g., 'New name for the space'). This adds meaning beyond the schema's type and title, clarifying that these are the new values to set.
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 'Update a context space (owner only).' It uses a specific verb ('update') and resource ('context space'), and distinguishes itself from sibling tools like create_space, delete_space, and share_space.
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 for updating spaces and mentions an ownership constraint, but does not provide explicit when-to-use or when-not-to-use guidance, nor does it compare with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools have distinct purposes, but there is some overlap between audit and replay_timeline (both show operations) and between list_memories and recall (list vs search). However, descriptions clarify differences.
Naming conventions are mixed: some use verb_noun (remember, create_space), some noun_noun (cortex_insights, memory_stats), and some single word (audit). Not fully consistent.
23 tools is well-scoped for a comprehensive memory system with knowledge graphs, spaces, replay, and Cortex features. Each tool serves a distinct purpose.
Covers most CRUD operations for memories and spaces, but lacks update_memory and update/delete for triples. Replay and Cortex features are thorough.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Persistent memory for AI agents. Semantic search, memory graph, W3C DID identity.
Persistent memory for AI agents. Search, store, and recall across sessions.
Universal memory for AI agents and tools. Save, organize and search context anywhere.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with persistent, searchable memory using a knowledge graph stored in SQLite. Features semantic search, temporal awareness, and workflow-aware prompts for development projects.16MIT
- AlicenseNot gradedqualityAmaintenancePersistent cognitive memory for AI agents. Sub-millisecond recall, fully offline, encrypted. 8 tools: recall, recall_structured, store, store_code, store_decision, search, insights, consolidate.73MIT
- AlicenseAqualityCmaintenancePersistent semantic memory for AI agents. SQLite-backed, local-first, zero config. Semantic search via Ollama embeddings with keyword fallback. Tools: remember, recall, history, forget, stats.17371MIT
- AlicenseAqualityBmaintenanceAgent-agnostic persistent memory backend. 13 MCP tools, Supabase + Jina embeddings, multi-profile isolation, semantic recall across sessions.167Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/novyxlabs/novyx-mcp-desktop'
If you have feedback or need assistance with the MCP directory API, please join our Discord server