mcp-ariel-memory
Server Quality Checklist
Latest release: v1.9.0
- Disambiguation5/5
Each tool has a distinct purpose: think routes incoming thoughts to memory layers, dream performs hybrid search, forget handles deletion with shadow bin, evolve updates personality, and project manages project-specific context. No two tools overlap in function, making misselection unlikely.
Naming Consistency5/5All tool names are single lowercase verbs (think, dream, forget, evolve, project), following a simple and consistent pattern. This makes the API predictable and easy to reason about.
Tool Count5/5With 5 tools, the server is well-scoped for a memory system. Each tool covers a core operation (store, retrieve, forget, evolve, project management) without redundancy or bloat.
Completeness4/5The tool set covers the primary lifecycle of a memory system: ingest (think), retrieval (dream), deletion (forget), and personality/context management (evolve, project). A minor gap is the lack of an explicit tool for listing or updating individual memory entries directly, though dream's hybrid search abstracts much of that need.
Average 2.5/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 558 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only hints at 'context-aware forgetting' and 'Shadow Bin support.' It does not describe what gets deleted, whether Shadow Bin makes deletion recoverable, how scope affects behavior, or what side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but it is under-specified rather than efficiently concise. The phrase 'Universal Primitive' wastes space without adding useful guidance, and no structured detail about behavior or parameters is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters, two enums, defaults, no annotations, and no parameter descriptions, a single-tagline description is far from complete. While an output schema exists, the agent still lacks enough context to understand scopes, layers, the Shadow Bin mechanism, or what 'recent' forgetting with minutes means.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only loosely maps to shadow_bin and context-awareness. It adds no concrete meaning to key, layer, scope, minutes, or user_id beyond what the parameter names and enum values already imply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the operation as context-aware forgetting with Shadow Bin support, which points to a memory-removal primitive rather than just restating the tool name. However, 'Universal Primitive' is vague branding and does not specify what resource is being forgotten or how this differs from the sibling tools beyond the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 think, dream, evolve, or project. There is no indication of use cases, preconditions, or scenarios where the tool should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing side effects. 'Update agent personality and triggering evolution' names the effect at a high level but never states whether the change is permanent, whether it overwrites existing personality, or what 'evolution' entails. For a mutation-style tool, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is appropriately brief, but the 'Universal Primitive:' prefix carries no information and 'and triggering evolution' is grammatically awkward and vague. The word budget could be far better spent clarifying the instruction parameter or the meaning of evolution; this reads as under-specified rather than efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the tool mutates agent state and the description fails to clarify the meaning of 'evolution', the expected content of the required instruction parameter, or how this relates to sibling tools like forget. Even for a small two-parameter tool, an agent cannot reliably decide the correct input or predict the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so neither user_id nor instruction has any schema-level explanation. The description does not mention either parameter — especially the required 'instruction' — leaving the agent to guess what content, format, or length an instruction should take. It adds essentially no meaning beyond the parameter names themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb and resource ('update agent personality'), giving a baseline sense of the operation. However, the 'Universal Primitive' prefix is vague framing and 'triggering evolution' is undefined jargon — an agent cannot tell what an evolution is, how it manifests, or how this differs from sibling tools like forget or project. The core action is discernible but the overall purpose is muddled.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No sentence or clause addresses when to call evolve versus its siblings (think, dream, forget, project). There are no conditions, exclusions, or alternative routing. An agent must guess whether evolve is for permanent trait changes, one-off mental operations, or something else entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does disclose non-obvious behavioral traits: projects are globally keyed by name, structured data persists in projects.db, and large documents go to the Wiki as project_spec pages. However, with no annotations present, the description carries the full burden and still does not explain action-specific consequences such as whether init overwrites, archive mutates, or recall reads.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the storage model with minimal filler, but the opening label 'Universal Primitive' is not informative. The brevity is achieved by omitting essential operational semantics rather than by condensing them.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 10 parameters, two enums, no annotations, and no schema-level descriptions, the description only covers the persistence model. It does not tell an agent how to invoke init, update, archive, mapping, audit, decision, or recall, so the definition is materially incomplete for correct tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it only hints at 'name' via global keying and at 'decision' via the mention of decisions in projects.db. The seven action enum values, layer enum, and most optional fields like role, status, outcome, and details are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Universal Primitive: managing project-specific context and file mapping' identifies a clear resource and a general activity, but 'managing' is vague and does not convey the specific operation the tool performs. The action enum spans seven distinct behaviors like init, archive, and recall, yet the description does not summarize what the tool actually does at a callable level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 the sibling tools think, dream, forget, or evolve, nor does it explain when to choose one action over another. The statement that projects are global is a scoping fact, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior, but it only offers the abstract notion of 'routing'. It does not say whether this persists data, how layers are chosen, what side effects occur, or what the agent should expect when calling it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and compact, but the prefix 'Universal Primitive' adds little value and the rest is abstract rather than information-dense. It is not bloated, yet it does not use its brevity to deliver clarifying detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A single conceptual sentence is insufficient for a tool with 5 parameters, no parameter descriptions, and no annotations. The agent lacks enough information to correctly populate fields like `user_id`, `wiki_type`, and `wiki_title`, or to know the exact behavior of the `auto` layer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds only a loose connection between 'thoughts' and `text` and between 'memory layers' and `layer`. It does not explain `user_id`, `wiki_type`, `wiki_title`, or how importance/content maps to the `layer` enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific action ('routing thoughts') and a resource ('memory layers'), adding selection criteria ('based on importance and content'). It is clear enough as a high-level purpose, though it does not explicitly distinguish itself from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus dream, forget, evolve, or project. Calling it a 'Universal Primitive' only weakly implies general applicability, but no conditions, exclusions, or alternative selection rules are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. It does disclose the core behavior: hybrid search across multiple layers and context construction. However, it does not reveal side effects, permissions, rate limits, or what 'context construction' concretely entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact single sentence that front-loads the main behavior. The phrase 'Universal Primitive' is somewhat vague and adds little, but overall there is no unnecessary verbiage or buried structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too sparse for a tool with five parameters, no annotations, and no parameter documentation. It does not explain how to choose intent, layer, limit, or user_id, nor does it offer enough context to differentiate dream from its siblings. The presence of an output schema reduces some burden, but invocation guidance remains inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the five parameters (query, layer, limit, intent, user_id). The mention of layers refers to L3/L4/Wiki/Graph, not the 'user'/'agent' values of the layer parameter, so it provides no practical parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a hybrid search across all layers (L3, L4, Wiki, Graph) and that it constructs context. This is a specific action with a defined scope, though it does not explicitly contrast itself with sibling tools like think or forget.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The tagline 'Universal Primitive' gestures at broad applicability, but there is no explicit guidance on when to use dream versus think, forget, evolve, or project. No exclusions, prerequisites, or alternative selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/Cipher208/a-memory'
If you have feedback or need assistance with the MCP directory API, please join our Discord server