@conxt/mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a clearly distinct role in the memory lifecycle: remember proposes, recall retrieves approved, list_pending shows pending, approve/reject take opposite actions on pending, and forget deletes. No two tools appear to do the same thing, and the descriptions reinforce their unique purposes.
Naming Consistency4/5All tool names are lowercase verbs, but list_pending uses an underscore while the others are single words (remember, recall, approve, reject, forget). This is a minor deviation but the pattern is still predictable—most are simple imperatives. The inconsistency is small enough to not cause confusion.
Tool Count5/5With 6 tools, the server is well-scoped for a memory management system. It covers the essential operations without redundancy, and the count feels appropriate—not overly thin nor bloated.
Completeness3/5The server covers create (remember), read (recall), and delete (forget) for approved memories, plus approval workflow tools (list_pending, approve, reject). However, there is no update/modify operation for existing memories, and no way to list all approved memories (recall only returns relevant ones). These gaps, particularly the missing update capability, mean the lifecycle is not fully complete.
Average 3.6/5 across 6 of 6 tools scored. Lowest: 2.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 is passing
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It conveys that the tool deletes a memory, but fails to mention whether the deletion is permanent, irreversible, or whether it affects related data. For a destructive operation, 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single, direct sentence with no filler. The core verb and object are front-loaded, and every word contributes to the meaning.
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 no annotations, no output schema, and 0% parameter description coverage, this short description may not fully help an agent understand expected behavior, return values, error cases, or side effects like irrevocable memory removal. More context is needed for a deletion tool.
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 coverage is 0%, so the description must clarify the parameters. 'Delete a memory by id' does explain that 'id' is the memory's identifier, but it does not specify where the id comes from or any validation/format constraints beyond the schema's 'string' 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 'Delete a memory by id' clearly identifies the action (delete) and the target resource (a memory) along with the key lookup method (by id). It does not explicitly name or distinguish sibling tools, but the verb-resource pair is specific enough to avoid confusion with remember, recall, or list_pending.
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 siblings such as 'reject' or 'approve'. The description only states what it does, not which scenarios call for deleting a memory or what precedes this action (e.g., getting a valid id via list_pending/recall).
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 adds a meaningful behavioral fact—a rejected memory is never to govern—which is more than a simple operation. However, it does not reveal what happens to the pending record itself (deleted, suppressed, reversed) or other side effects. Since no annotations are provided, the description carries the burden but only partially fulfills it.
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?
A single concise sentence delivers both the core action and its inted effect with no redundant wording. The content is front-loaded and focused.
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 one-parameter action, the high-level outcome is communicated, and an agent can guess the input id relates to the pending memory. But missing details such as the final status of the memory, possible id constraint, reversibility, and output make the definition only minimally complete.
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 defines only a required 'id' with no description, and the schema description coverage is 0%. The description does not mention 'id' at all, so an agent cannot infer what identifier is expected or whether it refers to a pending memory reference.
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 uses a specific verb, 'reject', on a specific resource, 'a pending memory', and explains the intended consequence ('never governs'). This makes the operation identifiable and distinguishable from the sibling tools such as approve and list_pending, though it does not explicitly differentiate itself from 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?
There is no guidance about when to use this tool versus its siblings. The description merely states what the tool does, leaving an agent to infer that it is for pending memories the user wants to reject, but it never mentions approve, forget, or any decision criteria.
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 that approval makes the memory govern and syncs to Conxt if configured, which is useful. However, it does not mention reversibility, permissions, or whether the pending state is removed, leaving significant behavioral gaps.
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, well-structured sentence. It front-loads the action and immediately adds relevant behavioral details without waste. Every clause earns its place.
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 approve operation with two parameters, the description covers the core purpose and outcome. It implies the target is a pending memory, which is sufficient. Though it omits prerequisites like the memory being in a pending state, that is obvious from the context and does not hinder correct 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?
The schema description coverage is 50%—only 'approver' has a description, while the required 'id' has none. The tool description adds no parameter information, so the meaning of 'id' (the pending memory's identifier) is only inferred from context. It does not compensate for the schema gap.
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 verb and resource: 'Approve a pending memory.' It adds that it is a human action, distinguishing it from other memory tools like reject, forget, or recall. The explicit outcome (governs and syncs) further clarifies the purpose.
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 gives context that this is for approving pending memories, but it does not explicitly mention when to use this versus alternatives like reject or list_pending. It implies the workflow but lacks explicit exclusions or direct comparisons.
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?
No annotations are provided, so the description is the only behavioral signal. 'List' conveys a read-only operation, and 'awaiting human approval' describes the state of returned items. It does not disclose output fields, ordering, or any side effects, but for a simple list operation this is acceptable.
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 concise sentence with no filler. The core action is front-loaded, and the subordinate clause explains why the tool exists in the workflow.
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 tool with one optional parameter and no output schema, the description is mostly sufficient: it states what is listed and why. However, it omits the effect of the limit parameter and does not explicitly describe the return contents, leaving a few details to inference.
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 mention the optional 'limit' parameter at all. The parameter name is somewhat self-explanatory, but the description provides no additional meaning beyond the schema constraints.
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 uses a specific verb ('List') and a specific resource ('memories awaiting human approval'), and explains the purpose: review, approve, or reject. This clearly distinguishes it from sibling tools like recall or approve.
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 implies when to use the tool: whenever pending memories need human review. It does not explicitly name alternatives or exclusions, but 'awaiting human approval' is a strong contextual signal that separates this from general memory listing.
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?
With no annotations provided, the description bears the full burden of behavioral disclosure. It adds a valuable, non-obvious guarantee: only human-approved memories are returned, and pending/rejected ones are never surfaced. It does not describe empty-result behavior, read-only guarantees, or ordering, but the core filtering trait is clearly disclosed.
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 compact sentences with no filler. The purpose is front-loaded in the first sentence, and the second sentence delivers the key scoping constraint. Every word earns its place.
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?
The tool has 4 optional parameters, two enums, no output schema, and no annotations. The description is adequate for basic use (retrieving approved memories by query) but omits critical context: what the type/scope enums represent, how the limit behaves, whether all approved memories are returned when no query is given, and what the return structure looks like. It is a minimal viable description with clear gaps.
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 only 25% (only the query parameter has a description), so the description must compensate for type, limit, and scope. It does not: the description only echoes 'query' generically and adds no meaning for the enum values (type, scope) or the limit constraint. An agent would remain uncertain about how to properly set type, scope, or limit.
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 ('Recall') and a specific resource ('approved memories relevant to a query'), making the tool's purpose immediately clear. The additional sentence ('Only human-approved memories are returned — pending or rejected ones never surface') explicitly distinguishes this tool from memory mutation/list-pending siblings by scoping the retrieval to approved items, even though no sibling is named.
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 clearly implies the tool is for retrieving approved memories relevant to a query, and the 'pending or rejected ones never surface' warning hints that it is not for accessing unapproved items. However, it never explicitly mentions sibling tools (e.g., list_pending, remember) or states when to choose this tool over them, leaving the usage guidance implied rather than explicit.
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?
With no annotations, the description alone communicates the critical behavioral trait: the memory is PENDING and does not take effect until human approval. This is a key side effect that agents must know. The CONXT_AUTO_APPROVE hint adds practical detail. No contradiction with annotations (there are none).
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?
Two sentences, front-loaded with the core action and approval flow, then a configuration tip. Every sentence earns its place with no fluff or 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?
For a tool with 4 parameters, no output schema, and no annotations, the description covers the essential behavioral context (PENDING) and usage context (approval flow). It lacks 'when to use vs. alternatives' and potential error cases, but these are minor for a simple 'propose' tool with well-named siblings.
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 coverage is 100%, so each parameter has a description. The tool description adds no extra parameter-level meaning beyond the schema, such as formatting constraints, examples, or required-value rationale. Baseline 3 is appropriate since the schema fully documents parameters.
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 verb 'propose' with the resource 'a new memory', and explicitly mentions the PENDING state, which distinguishes it from siblings like approve and reject. An agent can immediately grasp the tool's function without ambiguity.
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 clear context by explaining the PENDING/approval workflow and suggests a configuration for solo use. However, it does not explicitly contrast with siblings (e.g., 'use approve to confirm pending memories') or state when not to use it, though the purpose and sibling names make it inferable.
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/pgavali0318/conxt-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server