Cortex
Server Details
Patented semantic memory for AI agents: quality-gated writes, conflict tracking. Free trial.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- FilippoPilo/cortex-connector
- GitHub Stars
- 0
Available Tools
7 toolscortex_conflictsShow conflictsARead-onlyInspect
Mostra le contraddizioni rilevate tra le memorie.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with the read-only annotation by stating it 'shows' contradictions, implying no mutation. However, it adds no extra context beyond the annotation (e.g., whether it's safe to call frequently or if it triggers side effects). The annotation already covers read-only, so this is adequate but not enhanced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no superfluous words. It is appropriately brief for a simple tool and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with no output schema, so the description suffices for basic understanding. However, it could clarify what constitutes a 'contradiction' (e.g., conflicting facts, temporal inconsistencies), but given the context of a memory system, this is likely implicit. The description is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema coverage is complete. The description doesn't need to explain parameters. The baseline for 0 parameters is 4, and the description provides no irrelevant parameter info, so it meets the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: displaying contradictions detected between memories. This is distinct from sibling tools like cortex_recall (retrieving memories) or cortex_forget (deleting memories), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus others. For example, it doesn't explain that it might be used after write operations to check for consistency, or how it differs from recall/search for examining memory content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cortex_forgetForget memoryADestructiveInspect
Dimentica (elimina) una memoria dato il suo id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | id della memoria da eliminare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a destructive operation. The description adds the detail that it deletes by id, but does not disclose any side effects or additional behavioral traits beyond that. Since annotations cover the safety profile, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that fully conveys the purpose. It is front-loaded with the verb 'Dimentica' and specifies the operation and target. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one parameter and no output schema. The description, combined with the schema and annotations, is sufficient for an agent to know when and how to use it. It could add a bit more about impact (e.g., irreversibility), but the destructiveHint already covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, as the single parameter 'id' is described as 'id della memoria da eliminare'. The description adds the same information in a concise form, but does not add extra context like id format or examples. With full schema coverage, baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes a memory by its id, matching the tool name 'Forget memory' and the sibling set. It is specific about the operation (delete) and the resource (memory), though it does not explicitly distinguish from siblings like cortex_write, but the verb and resource are clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the tool to use when you need to delete a memory by id, as opposed to recalling or writing memories. However, it doesn't explicitly state when not to use it or mention alternatives for similar operations, but given the sibling names, the usage context is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cortex_recallRecall & synthesizeARead-onlyInspect
Narrative synthesis of what the user's memory knows about a topic, with the current state and what was superseded. Use it for questions like 'what do you know about X' or 'what is the current state of X'.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds value by clarifying the behavioral output: a narrative synthesis that distinguishes current state from superseded state, which goes beyond the annotations and helps set agent expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core behavior, and uses one practical example sentence. Every clause earns its place without redundant restating of the tool name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read-only tool, the description fully explains what the tool does, what input it expects, and what kind of output it produces. Although there is no output schema, the description states that it returns a narrative synthesis with current and superseded state, which is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name 'query' with type string and no description. The tool description compensates by explaining that the query should be a topic or question about what the memory knows, with concrete example phrasings. This adds meaningful semantic guidance despite the schema's 0% description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Recall & synthesize') and a clear resource ('the user's memory'), and explains the output format as a narrative synthesis including current state and superseded state. The examples ('what do you know about X') make the purpose immediately recognizable and distinguish it from sibling tools like cortex_write or cortex_forget.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage examples for when to invoke this tool, such as 'what do you know about X' or 'what is the current state of X'. It does not explicitly state when not to use it or name alternatives, but the context is clear enough for an agent to route queries about memory recall to this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cortex_writeSave memoryAInspect
Save to the user's persistent memory (Cortex), ON YOUR OWN INITIATIVE while the conversation goes on, without waiting to be asked: decisions and the reason behind them, stable facts about the person and their work, preferences and constraints they state, conclusions reached after effort, mistakes made and what they cost. A good memory is one still useful in a month. Say in a few words what you saved, so the user can answer 'do not keep that'. Proposing costs nothing: the server rejects duplicates by itself, and a refused write is not an error. If unsure whether something matters, ask the user one single question. Never save passwords, tokens, keys or card numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| basis | No | Origine dell'informazione: 'observed' se letta direttamente da una fonte (documento, output di uno strumento, dato reale), 'inferred' se e' una deduzione o una stima. Registrata al salvataggio e restituita al richiamo. | |
| title | Yes | Short title | |
| claims | No | Opzionale. Fatti atomici gia strutturati, uno per decisione o affermazione: se li passi, il rilevamento dei conflitti li usa direttamente invece di estrarli dal testo. Esempio: {subject: 'Project Vega', predicate: 'adotta', object: 'Redis'}. | |
| content | Yes | Text to remember, in the user's language |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false and openWorldHint=true available, the description adds valuable behavioral context: duplicate writes are rejected server-side, a refused write is not an error, and sensitive data like passwords must never be saved. It also surfaces the 'proposing costs nothing' behavior, which helps an agent calibrate risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than a minimal API summary, but it encodes important agent policy rather than repeating schema details. It is front-loaded with the core imperative and each sentence contributes meaningful guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a memory-write tool with no output schema, the description covers the essential operating context: what to save, how to handle uncertainty, duplicate behavior, and security exclusions. It is complete enough for an agent to call the tool correctly in real conversations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (80%), and the schema already documents title, content, basis, and claims. The description adds no parameter-level meaning beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Save to the user's persistent memory (Cortex)') and makes the proactive policy explicit. It is clearly distinct from siblings like cortex_recall, cortex_forget, and cortex_conflicts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong context for when to save: on the agent's own initiative, while the conversation goes on, without waiting to be asked, and it enumerates what is worth saving. It does not explicitly name the alternative tools, but the intended use case is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cortex_write_statusWrite statusARead-onlyInspect
Esito di un salvataggio che cortex_write aveva restituito come queued: verdetto del gate ed eventuali conflitti aperti.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | job_id restituito da cortex_write |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety with readOnlyHint=true and destructiveHint=false. The description adds that this is a status lookup for a queued write and that it returns a gate verdict and open conflicts, but it does not disclose error behavior, whether the call blocks, or what happens for unknown job_ids. This is moderate added context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler; the core concept is front-loaded and every phrase contributes. It is appropriately compact for a one-parameter lookup tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one documented required parameter and read-only annotations, and the description gives a high-level view of the return content. Gaps remain: the exact output structure is unspecified, there is no timing/polling guidance, and the relationship to cortex_conflicts is not clarified. These are meaningful but not blocking for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, job_id, already has a schema description ('job_id restituito da cortex_write'), so schema coverage is 100% and the baseline is 3. The description reinforces that the job_id must come from a cortex_write call that was returned as queued, adding a small amount of context but no format or lifecycle details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific resource and state: the outcome of a save that cortex_write returned as queued, and names the return focus ('verdetto del gate ed eventuali conflitti aperti'). This clearly separates it from cortex_write, but it does not explicitly distinguish it from the sibling cortex_conflicts, which is also about conflicts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through the phrase 'che cortex_write aveva restituito come queued', telling the agent this is for checking the result of a previously submitted queued write. However, there is no explicit when-to-use/when-not-to-use guidance or comparison to alternatives like cortex_conflicts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchFetch memoryARead-onlyInspect
Fetch the full text of a memory by its id (from search). Cite its url when you use it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | id della memoria |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds useful context about what is fetched (full text) and the citation expectation, but does not disclose additional behavioral details such as errors, missing ids, or output shape beyond what annotations and schema already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and resource, with no wasted words. The citation instruction is compact and actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a single required parameter, full schema coverage, an output schema, and annotations covering read-only safety, the description provides everything needed to invoke the tool correctly. The citation instruction also sets a clear expectation about how the result should be used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents 'id' at 100% coverage, providing the baseline of 3. The description adds meaningful semantic context by specifying that the id comes 'from search', which helps the agent understand where to obtain the value. This extra guidance justifies a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch'), resource ('memory'), and scope ('full text ... by id'), and clarifies that ids come from search. This makes it easy to distinguish from the sibling 'search' tool, which is used to find memories in the first place.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: after a search, when you have a memory id and need the full text. It also adds the citation behavior. It does not explicitly name alternative tools or state when not to use it, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch memoriesARead-onlyInspect
Search this user's persistent memory (Cortex). Call it at the START of every conversation and before any answer that depends on who the user is or on what you did together before: the user must not have to repeat themselves. Returns results with id, title and url to cite. If it returns nothing, the memory is new or empty: tell the user once that you are connected to Cortex and offer to save what you are working on with cortex_write.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Query in linguaggio naturale |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and non-destructive annotations, the description discloses the empty-result behavior, instructs the agent to communicate Cortex connection to the user only once, and defines the expected follow-up action. This gives meaningful behavioral guidance an agent would not otherwise know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, then proceeds to usage timing, return values, and empty-result handling. Every sentence contributes essential information without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only search tool with an output schema, the description covers purpose, when to invoke it, what results look like, and how to behave on empty results. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter and 100% schema description coverage, the schema already explains that query is a natural-language query. The tool description does not add deeper meaning about query syntax, formatting, or examples, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: 'Search this user's persistent memory (Cortex).' It clearly differentiates itself from write-oriented siblings by framing the tool as the read/search entry point, and it states exactly what results contain (id, title, url).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit, actionable timing: 'Call it at the START of every conversation and before any answer that depends on who the user is or on what you did together before.' It also explains what to do when nothing is returned and names cortex_write as the follow-up. It does not explicitly discuss when not to use this tool versus alternative sibling tools, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Persistent memory for AI agents. EU-hosted, privacy-first, hybrid recall, contradiction detection.
Persistent AI memory with semantic search, conflict detection, and ticketing.
Hosted persistent memory with semantic search, importance and TTL for AI agents.
Persistent memory for AI agents. Semantic search, memory graph, W3C DID identity.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides versioned, structured memory for AI agents, allowing them to store facts, detect conflicts, and track knowledge history via a hosted SaaS platform. It enables efficient hierarchical information retrieval and semantic search while keeping token usage constant as memory scales.7248Apache 2.0
- AlicenseNot gradedqualityDmaintenancePersistent memory for AI agents. Store and semantically search memories via REST API or MCP. Free tier available.MIT
- AlicenseAqualityDmaintenanceEnables AI agents with persistent semantic memory, including semantic recall, knowledge graphs, and instant domain expertise via pre-built Intelligence Packs.1067MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to store, search, and recall semantic memories with three memory types (semantic, episodic, procedural) and auto-consolidation, compounding intelligence over time.10MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Search and recall both retrieve from memory and could be confused, but the descriptions distinguish search as returning results and recall as producing a narrative synthesis. cortex_write_status and cortex_conflicts also both touch conflicts, but one is tied to a specific queued write, so agents can mostly choose correctly.
Most tools share a cortex_ prefix and verb-like names such as write, forget, and recall, but cortex_conflicts is a noun, cortex_write_status is a verb+noun compound, and fetch/search lack the prefix. The convention is readable but not consistently applied.
Seven tools cover the memory domain without bloat. Each tool maps to a distinct operation, and the count feels well-scoped for a persistent memory server.
The surface covers the core memory lifecycle: write, search/recall, fetch by id, delete, and conflict/status inspection. No obvious dead ends or missing operations for the stated purpose.