memory-engine
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
每个工具都有明确且独特的用途:记录观察、捕获信号、获取待办、获取反思提示、保存反思、批量获取提示、搜索技能、统计、创建技能、获取技能提示、列出技能、获取技能、检查整合、获取上下文、搜索记忆。即使有相似工具(如get_pending_observations与get_reflection_prompt),它们分别针对观察记录和提示生成,边界清晰。
Naming Consistency5/5所有工具名称均采用小写蛇形命名,且遵循动词_名词模式(如record_observation, search_skill, create_skill)。命名风格统一,没有混合约定,动词选择也符合操作语义。
Tool Count5/515个工具覆盖了记忆引擎的核心功能:记录、分析、反思、技能管理、上下文检索等,每个工具都有明确的存在价值,没有冗余或重叠。数量在合理范围内(接近上限但仍紧凑)。
Completeness4/5工具表面覆盖了记忆引擎的主要生命周期:观察记录->反思->技能创建->检索。缺少明确的删除/更新操作(如删除记忆或技能),但对于该领域并非核心需求,且其他关键步骤齐全。
Average 2.9/5 across 15 of 15 tools scored. Lowest: 1.9/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
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
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It merely restates the tool name ('List learned skills') without revealing any behavioral traits such as ordering, pagination, read-only guarantees, or error conditions. This adds no value beyond the tool name itself.
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 a single short sentence with no filler, but it is under-specified to the point of being unhelpful. Conciseness should accompany substance; here it sacrifices necessary context, so it earns a low score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three optional parameters, no output schema, and no annotations, the description is grossly inadequate. It fails to explain parameter semantics, filtering options, return structure, or when to use this tool over siblings, making it nearly unusable for an agent.
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?
The schema has 0% description coverage for its three parameters (limit, status, category), and the description does not mention any of them. There is no explanation of what each parameter does, how they interact, or what formats are expected, leaving the agent completely in the dark.
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 states a clear action ('列出' - list) and resource ('已学习的技能' - learned skills), which conveys the basic purpose. However, it does not distinguish this tool from siblings like search_skill or get_skill, which might also return skill lists, so it falls short of a top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention triggering conditions, prerequisites, or how it differs from search_skill or get_skill, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'search' and gives no information about whether the operation is read-only, what side effects occur (if any), what the response format is, or any limits (e.g., maximum top_k). This is insufficient for an agent to understand the tool's safety or behavior.
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 one-sentence description is extremely brief, but it is under-specification rather than effective conciseness. It provides no details or structure that help the agent, and it does not 'earn its place'—it merely restates the tool's name. Being short is not a virtue when it omits essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with three parameters and no output schema, the description is drastically incomplete. It does not explain what results are returned, how to interpret them, or how parameters influence the search. The complexity warrants a more detailed description, and this one leaves the agent without enough context to use the tool effectively.
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 coverage is 0%, meaning the description must explain the parameters (query, top_k, category) but does not mention any of them. The description adds zero value beyond the schema's raw type definitions, leaving the agent with no idea of what values are valid or how they affect the search.
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 a verb ('search') and a resource ('historical memory'), distinguishing it from tools like record_observation or get_stats. However, 'memory' is somewhat ambiguous—it could refer to observations, conversation signals, or other stored data—and it doesn't explicitly differentiate from the similar search_skill tool. Still, the core purpose is understandable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/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 alternatives. It does not mention search_skill, which likely also queries stored knowledge, nor does it specify any conditions or exclusions. An agent has no information about which tool is appropriate for a given scenario.
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 full responsibility for behavioral disclosure. It states the tool 'gets' the skill content, implying a read-only operation, but does not explicitly confirm this or disclose any side effects, authorization needs, or output specifics. The absence of safety context is a significant 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 concise sentence, which is efficient in terms of length. However, it is under-specified: it omits critical information about parameters, behavior, and usage. Conciseness is fine, but the description is not appropriately sized for the complexity of the tool (one param, no annotations, no output schema).
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 the absence of annotations, output schema, and parameter explanations, the description is severely incomplete. It does not tell an agent what constitutes a valid skill_id, what the returned content looks like, or when this tool should be preferred over related tools. The definition fails to provide enough context for reliable invocation.
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?
The only parameter, skill_id, is entirely unexplained in the description. With 0% schema coverage, the description fails to clarify what format skill_id should take, how to obtain it, or whether it references an ID from another tool like list_skills. This leaves the agent with no guidance beyond the parameter's name and type.
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 that the tool retrieves the complete content of a skill, including Markdown. This is a specific verb-resource pair that distinguishes it from siblings like search_skill (search) and get_skill_prompt (prompt retrieval), though it does not explicitly name these alternatives. The purpose is clear and unambiguous.
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 offers no guidance on when to use this tool versus alternatives such as search_skill, list_skills, or get_skill_prompt. There are no prerequisites, conditions, or exclusions mentioned. An agent must infer usage from the name and brief description, which is insufficient.
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 behavioral disclosure. It does not explain what 'enough' means, what threshold triggers consolidation, what side effects occur (if any), or what output the check returns. This is substantial missing context for a decision-gating tool.
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 definition is a single front-loaded sentence with no wasted words. However, it is under-specified rather than economically concise, omitting essential details that a slightly longer definition would carry.
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 state-checking tool with one undocumented parameter and no output schema, the description is incomplete. It neither explains the category parameter nor describes what the agent should expect as a result, leaving key invocation details unclear.
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 by explaining the 'category' parameter, but it never mentions it. The agent receives no guidance on what values category accepts or how it filters the memory check. This is a clear gap.
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 states a specific verb and resource: checking whether sufficient memory exists to distill into a new skill. This distinguishes it from siblings like search_skill or get_stats, which serve different purposes. The meaning is clear even in translation, though the non-English description could hamper some agents.
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 guidance is given on when to invoke this tool versus related siblings such as reflect_and_save, get_pending_observations, or get_reflection_prompt. There are no conditions, prerequisites, or exclusions mentioned, leaving the agent to infer the appropriate context.
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?
No annotations are provided, so the description must fully disclose behavior. It only says 'search' without specifying whether it is read-only, what it returns, how results are ranked, or any side effects. This is insufficient for a search operation.
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 extremely concise (one short sentence), which is structural simplicity, but it lacks essential detail. It is under-specified rather than efficiently informative, so it does not fully earn its place.
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 simple search tool with two parameters and no output schema, the description should at least indicate the return format or result count. It does not, making the tool incomplete for an agent to call correctly without guessing.
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 does not elaborate on 'query' or 'top_k' beyond their names. The agent gets no guidance on expected input format, semantics, or the meaning of top_k (e.g., maximum number of results).
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 states a clear action – search learned skills – with a specific resource (skills). It distinguishes from search_memory by specifying 'skills' rather than generic memory, but it does not explicitly contrast with siblings like get_skill or list_skills, so differentiation is partial.
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 guidance on when to use this tool versus the sibling tools (e.g., search_memory, get_skill). There is no mention of alternatives or conditions for use, leaving the agent to infer the appropriate context.
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 behavioral disclosure. It only states 'save,' implying a write operation, but does not mention whether it overwrites existing reflections, what happens if the observation does not exist, or any side effects. No return format is described. This is inadequate for a mutation tool.
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 single, concise sentence with no unnecessary words. It front-loads the core intent. However, it could benefit from a brief structure (e.g., separating the purpose from parameter hints), but it remains appropriately sized.
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 the tool has 7 parameters, no output schema, and no annotations, the description is insufficient. It does not explain the relationship to the observation lifecycle, required inputs beyond the listed fields, or success/failure behavior. An agent would struggle to correctly invoke this tool without additional context.
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 57%, meaning some parameters (tags, generalizable, obs_id) lack schema descriptions. The tool description only mentions root cause, lesson, and solution, and does not elaborate on the others or explain their role in the overall reflection process. It adds minimal value beyond the schema and fails to compensate for the coverage gap.
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 saves reflection analysis (root cause, lesson, solution) for an observation record. It uses a specific verb ('save') and resource, and implicitly distinguishes itself from siblings like record_observation (which captures the observation itself) and get_reflection_prompt (which fetches prompts). However, it does not explicitly differentiate from other save-type tools, so a 4 is appropriate.
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 guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., an existing observation) or exclusions, leaving the agent to infer the appropriate context from the name and schema. This is a clear gap.
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?
No annotations are provided, so the description carries the full burden of disclosing behavior. It does not state whether the operation is read-only, what 'pending reflection observations' means, how many results return, or any side effects. This is a significant gap for a tool with no annotation support.
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 concise sentence, which is efficient in length. However, it is under-specified rather than thoughtfully concise—it omits crucial details that would justify its brevity. The structure is fine, but the content is too sparse to earn a higher score.
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?
With no output schema, no annotations, and a minimal description, the tool is incompletely specified. Key terms like 'pending reflection observations' are undefined, and the return format is unknown. For an agent to invoke this correctly, it needs more context about the input constraints and output structure. The single parameter mitigates complexity slightly, but the lack of essential detail makes this insufficient.
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?
The schema has 0% description coverage and the description does not mention the 'limit' parameter at all. While its meaning (number of results) is likely inferable, the description fails to add any explicit semantics, leaving the agent to guess the parameter's purpose and constraints beyond the default value.
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 states a specific verb ('batch get') and resource ('analysis prompts for pending reflection observations'), making the core purpose clear. However, it does not explicitly contrast with the sibling tool get_reflection_prompt (singular), relying on the 'batch' prefix to imply the distinction. This is strong but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving multiple prompts at once, but it does not provide explicit context on when to prefer this over the singular get_reflection_prompt or other sibling tools. No exclusions or alternative routing are mentioned, leaving the agent to infer the boundary from the tool name alone.
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?
No annotations are provided, so the description carries the full burden of disclosing behavior. It only states 'create', which implies mutation, but does not disclose whether the operation persists immediately, whether it can overwrite existing skills with the same name, any permission/auth requirements, or what a successful creation returns. For a mutation-oriented tool with zero annotation coverage, this is a significant 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 one short, efficient sentence with no filler, which is commendable. However, it is so thin that conciseness borders on under-specification — it carries almost no information beyond the tool's name itself. It is not bloated, but earns only a middle score because brevity comes at the cost of useful content.
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?
This is an 8-parameter create operation with 4 required fields, no output schema, and no annotations. The description must carry substantial context, yet it offers only a one-line summary. It omits return values, duplicate-handling behavior, relationships to related_memory_ids, and when creating a skill is appropriate. Given the tool's complexity, the description is materially incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the input schema already documents the parameters well (e.g., name uses kebab-case, steps as one per line). The description adds little beyond the 'standardized' qualifier. The schema handles the parameter semantics, and the description does not meaningfully compensate for the ~12% uncovered or add value beyond what the schema provides, so the baseline of 3 is appropriate.
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 'Create a standardized skill from experience' clearly states a specific verb (create), resource (skill), and source context (from experience), which differentiates it from the sibling read/list/search tools (list_skills, get_skill, search_skill, get_skill_prompt). It conveys the purpose adequately, though it lacks any explicit differentiation detail about what makes a skill 'standardized'.
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 about when to use this tool versus the many sibling tools such as search_skill, list_skills, or get_skill. No context is given about prerequisites (e.g., must have prior observations or memories) or situations where creating a skill is appropriate versus fetching an existing one. The 'from experience' phrasing hints at a trigger but does not state it explicitly.
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?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states that the tool retrieves observations but does not explicitly state it is read-only, describe the return format, pagination, or any side effects. The description's sole behavioral hint is 'periodic call', implying safety, but this is insufficient without annotation backing.
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 concise—two short sentences that state the purpose and usage frequency. It avoids unnecessary fluff and gets to the point quickly. While it lacks structured sections, the brevity is appropriate for a simple retrieval tool.
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 incomplete given the absence of annotations, output schema, and parameter descriptions. It does not specify what the returned data looks like, how to handle multiple pages of observations, or any limits beyond the schema default. An agent would struggle to correctly process results or know how to use the 'limit' parameter effectively.
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 completely ignores the only parameter 'limit' (with default 20). It does not explain what 'limit' controls (e.g., maximum number of returned items) or how to use it. The description adds no value beyond the schema's bare parameter definition.
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 retrieves observation records pending reflection ('获取所有待反思的观察记录'). It is specific about the resource and its state ('pending reflection'), and the verb 'get' is clear. While it doesn't explicitly contrast with sibling tools like record_observation or reflect_and_save, the purpose is evident and distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises calling periodically ('定期调用') to check for unprocessed errors needing reflection, giving a clear usage scenario. However, it provides no guidance on when not to use it or mentions alternatives, such as other observation-related tools. The usage context is implied but lacks exclusions or comparative 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. It only states that it generates a prompt; it doesn't disclose whether this is a read-only operation, whether it has side effects, or what the output format is. For a tool that likely triggers further agent actions, this is a significant gap.
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 single, clear sentence with no unnecessary words. It is appropriately front-loaded, stating the action and key input immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description provides the essential purpose but omits details like what the generated prompt is used for or how the output is structured. Given the low complexity, this is minimally adequate but could be improved with a sentence on its role in the skill-refinement workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the parameter already explains it takes a comma-separated list. The description restates this (memory ID list) without adding new meaning, so it meets the baseline of 3 but doesn't exceed it.
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 action (generate) and the resource (skill refinement prompt) plus the input basis (memory ID list). It distinguishes the tool's purpose from generic prompt tools, though it doesn't explicitly name alternatives or contrast with siblings like get_reflection_prompt.
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 guidance is provided about when to use this tool versus alternatives. With siblings like get_reflection_prompt and batch_get_reflection_prompts, the description gives no context for selection, leaving the agent to infer from the name alone.
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 behavioral disclosure. It only says 'get statistics' and does not explicitly state that it is a read-only operation, nor does it describe any side effects, persistence, or the structure of the returned data. While '获取' implies reading, it is not explicit, and nothing is disclosed about what the agent will receive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with no unnecessary words. It is maximally concise and front-loaded, stating the action and resource immediately. No filler or repetition exists.
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 no output schema and no annotations, the description should explain what statistics are returned or at least hint at the format. It does not, leaving the agent to guess what the response will contain. The description is too sparse to be considered complete for a tool that has any meaningful output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4 per the rubric. The schema is fully covered (empty), and the description adds nothing about parameters because none exist. This matches the baseline that requires no additional parameter documentation.
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 it retrieves statistics from the memory engine, using a specific verb ('获取' = get) and a distinct resource. It is distinguishable from sibling tools like search_memory or get_context because it focuses on statistics. However, it does not specify what kind of statistics, making it slightly vague but still clear on its core purpose.
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 guidance is provided on when to use this tool versus alternatives. The description only states the action without any context on typical use cases, prerequisites, or when it should not be used. Given the many sibling tools, an agent would have no direction on selecting this over others.
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?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It states the purpose and timing but does not disclose whether the operation is read-only, what the return format is, or any side effects. For a retrieval tool, the read-only nature is implied but not explicit, and the lack of output specification leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two short sentences that state purpose and usage timing. It is front-loaded with the core action. No wasted words, though it could be slightly more structured if it mentioned parameters.
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 tool has no output schema, so the description should explain what the tool returns and how parameters affect results. It only says it retrieves relevant experience and skills, but not the format or how top_k limits the response. This is insufficient for an agent to confidently call the tool and interpret the output.
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 coverage is only 50% (only task_description has a description; top_k has none but a default). The description does not mention any parameters, not even task_description or top_k. It fails to explain how top_k controls the number of results, so the description adds no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'retrieve relevant historical experience and skills' based on task description, and adds a usage timing ('call before starting a new task'). It clearly distinguishes itself from sibling tools like search_skill (which searches only skills) by covering both experiences and skills.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use it ('before starting a new task'), providing clear context. However, it does not mention exclusions or alternatives, so it does not fully guide an agent on when not to use it versus siblings like search_skill.
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 provided, the description must disclose behavioral traits. It states the action (record) and triggers, implying a write operation, but omits details about side effects, persistence, idempotency, or any return value. This is a moderate gap, not as severe as missing triggers but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: first states the purpose, second lists the trigger conditions. Every sentence is necessary and directly useful; there is no filler or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple logging tool with six parameters fully documented in the schema and no output schema, the description provides the essential 'when to use' context. However, it does not mention that recorded observations can be retrieved later (via get_pending_observations), nor any potential side effects or limitations, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters with descriptions. The tool description does not add any extra meaning beyond the schema, which is acceptable but not enhancing. Baseline of 3 applies.
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 verb '记录' (record) and resource '错误观察或用户纠正事件' (error observation or user correction event), specifying the tool's purpose. It differentiates from siblings like capture_conversation_signals by focusing on errors/corrections, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists three trigger scenarios (tool execution failure, test failure, user correction), providing clear context for when to use the tool. However, it does not mention when NOT to use it or alternative tools, missing the full guidance for selection.
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 provided, the description carries the full burden of behavioral disclosure. It implies a read-only operation (fetching a prompt) and does not mention side effects or state changes. It does not explicitly state that no data is modified, nor does it address prerequisites or rate limits. The description is adequate for a simple read operation but lacks depth beyond the immediate action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences. The first sentence front-loads the primary action, and the second provides the follow-up workflow. Every word earns its place; there is no redundancy or filler. The structure is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and no annotations, the description covers the essential usage: what it does (get a prompt) and what to do next (use reflect_and_save). It does not describe the return format, but the noun '提示词' (prompt) implies the output. It also implicitly signals that no side effects occur. Given the low complexity, the description is nearly complete, though a mention of the return nature could push it to 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% because the only parameter, obs_id, has a description in the schema ('观察记录 ID'). The tool description adds no additional meaning to the parameter, so the baseline of 3 applies. There is no additional context about the parameter format or constraints that would elevate the score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: '获取某条观察记录的反思分析提示词' (get the reflection analysis prompt for a specific observation record). It specifies the resource (observation record) and the operation (get prompt), and distinguishes from siblings by focusing on a single record with a follow-up action (reflect_and_save). The verb and resource are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a usage flow: '分析完成后用 reflect_and_save 保存结果' (after analysis, use reflect_and_save to save the result). This gives clear context on when to use this tool (to fetch a prompt for a single observation) and what to do after. While it doesn't explicitly mention alternatives like batch_get_reflection_prompts, the single-record focus is implied by '某条', and the workflow guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
无注解,描述承担了行为披露责任:明确说明会分析文本、捕获信号并'记录为待反思观察',且列出四类信号的具体识别规则。行为本质清晰,但未提及返回值、重复调用副作用等细节。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
描述结构紧凑:先说明核心功能,再逐项列举信号类型并附示例,最后给出调用条件,信息密度高且无冗余内容。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
工具复杂度较低且无输出schema;描述已覆盖用途、信号定义、触发时机和输入格式。虽未说明返回内容,但对正确选择与调用该工具而言已足够完整。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
输入schema覆盖率为100%,conversation_text和auto_record的参数含义已由schema描述清楚;描述本身没有额外补充参数语义,因此给予基线3分。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
描述明确使用'捕获'作为动词、'对话信号'作为对象,并具体列出四类信号(complaint、emphasis、preference、frustration)及示例,功能边界清晰,能与record_observation等泛化记录工具区分。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
给出了明确的调用触发条件:'用户话语包含明显纠正/强调语气时应调用',提供了使用场景指引;但未显式说明何时不应调用或与record_observation等替代工具的对比。
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/top777/memory-engine'
If you have feedback or need assistance with the MCP directory API, please join our Discord server