CortexPlus
Server Details
Personal memory layer: files, notes, messages, tasks and email, semantically indexed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 8 tools
Most tools have distinct purposes: connect/signup handle auth, fetch/search/recall handle retrieval at different levels, tasks lists tasks. However, 'memory' and 'remember' overlap (generic save vs. note-specific save), and 'search' vs. 'recall' could be confused without careful description reading.
Names are all lowercase single words but mix verbs (connect, fetch, recall, remember, search, signup) with nouns (memory, tasks). A consistent verb_noun pattern (e.g., create_memory, list_tasks) would be more predictable; the current style is readable but not uniform.
8 tools is well within the ideal 3-15 range and each tool covers a distinct part of the authentication and memory lifecycle. The set feels appropriately scoped for a personal long-term memory server.
The server covers signup/auth, creating memories (both generic and notes), retrieving via search/fetch/recall, and listing tasks. However, there are no update or delete operations for memories, and no way to list all notes or non-task items, leaving notable gaps in lifecycle coverage.
Available Tools
8 toolsconnectAInspect
Complete the CortexPlus connection with the short authentication key the user received by email after signup. Ask the user to paste the key, then call this tool; never guess or invent the key. The response includes an API key that the AI platform should save in its CortexPlus connector configuration.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The authentication key pasted by the user from their CortexPlus email. | |
| client | No | The name of the AI platform you are running on, e.g. ChatGPT, Claude, Cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| Yes | ||
| apiKey | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool completes the connection and returns an API key the platform must save, which is useful behavior beyond readOnlyHint=false and openWorldHint=true. It doesn't detail side effects or failure behavior, but for a simple connect step the stated workflow is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core purpose and then the interaction requirement. Every sentence earns its place; there is no filler or unnecessary repetition of schema fields.
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 required parameter, and the schema plus output schema cover the technical details. The description fills in the human-process context and the follow-up action (saving the returned API key), making it complete for an agent to invoke 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 already documents both parameters at 100% coverage, so the baseline applies. The description adds meaning to the key parameter—it is a short authentication key received by email after signup—and reinforces that it must come from the user, not be guessed.
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 action and object: 'Complete the CortexPlus connection' with the authentication key. It is immediately distinguishable from sibling tools like signup, fetch, or remember, and the 'after signup' context locates its place in the flow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent exactly when to call it—after signup when the user has the emailed key—and prescribes the interaction: ask the user to paste the key, then call. It also adds a firm exclusion ('never guess or invent the key'), though it doesn't name alternative tools for other cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchARead-onlyInspect
Retrieve the full content of one CortexPlus memory item by id, as returned by search.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Item id from a search result. |
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?
The readOnlyHint annotation already declares this a safe read, and the description does not contradict it. The description adds that the tool returns the 'full content' of the item, which is behavioral context beyond the annotation (it clarifies that search returns something less than full). It does not mention auth or rate limits, but the annotation covers the safety profile, so this is adequate.
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 entire description is a single front-loaded sentence with no redundant words. It states the action and the key contextual clue ('as returned by search') immediately, so every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter fetch tool with a readOnlyHint annotation and an output schema present (per context signals), the description covers the essential usage: what it retrieves, by which identifier, and where that identifier comes from. There is no missing information an agent needs to make the call 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 already documents the id parameter with 100% coverage, describing it as 'Item id from a search result.' The description's 'by id, as returned by search' restates the same information without adding new detail about format or constraints, so it barely adds value beyond the schema. The baseline of 3 applies.
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 ('Retrieve'), a specific resource ('CortexPlus memory item'), and the scope ('full content ... by id'). It also distinguishes from the sibling search tool by noting the id comes from search, so an agent can tell fetch from search at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent that the id is 'as returned by search', which implies the correct sequence of using search first to obtain an id and then fetch to get full content. It does not explicitly name alternative tools or state when not to use them, so some ambiguity remains with recall/remember, but the search linkage is a clear usage signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memoryAInspect
Save a memory in CortexPlus. CortexPlus decides whether it is a note, task, or reminder and extracts the client.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| text | Yes | Text to classify and save. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| type | Yes | |
| title | Yes | |
| client | Yes | |
| memory | Yes | |
| review | Yes | |
| status | Yes | |
| resolved | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal readOnlyHint=false and destructiveHint=false. The description adds useful behavior beyond that: the system decides whether the input becomes a note, task, or reminder and extracts the client. There is no contradiction between 'save' and the 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 two short sentences with the core action front-loaded. Every phrase adds meaning, and there is no repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and safety annotations present, the description does not need to cover return values. It covers the core save-and-classify behavior, but the undocumented tags parameter and lack of sibling differentiation keep it from being fully 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 schema already explains 'text' as text to classify and save, and the description reinforces the classification behavior. However, the optional 'tags' parameter is never mentioned, and schema coverage is only 50%, leaving the meaning of tags unclear.
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?
Verb 'save' plus resource 'memory' states the operation clearly, and the second sentence adds the auto-classification behavior. It does not explicitly differentiate from related siblings such as 'remember' or 'tasks', so it stops short of a 5.
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 about when to use this tool instead of a sibling. Among the sibling tools are 'remember' and 'tasks', which could plausibly compete, but the description gives no selection rule or exclusion condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recallARead-onlyInspect
Build a context block from the user's CortexPlus memory: the passages that answer a question plus their graph neighbours, already formatted as text. Prefer this over search when you intend to answer from the user's memory.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | ||
| limit | No | ||
| query | Yes | ||
| maxChars | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| text | Yes | |
| matches | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true and openWorldHint=false. The description adds that it queries the user's memory, includes graph neighbours, and returns pre-formatted text, enriching the behavioral context without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The core action is front-loaded, followed by a direct usage guideline. No redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and usage, but for a 4-parameter tool with 0% schema coverage, it omits parameter explanations. Given an output schema exists, return details are not required, but the parameter gap makes it incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain the parameters. It only hints at query and depth via 'passages that answer a question' and 'graph neighbours,' but leaves limit and maxChars unexplained, including their defaults and constraints.
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?
States a specific verb and resource: builds a context block from the user's CortexPlus memory. It also differentiates from the sibling 'search' by specifying its preferred use case, leaving no ambiguity about what the tool does.
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?
Explicitly says 'Prefer this over search when you intend to answer from the user's memory,' giving a clear condition for using this tool instead of its key alternative. It does not mention other siblings, but the primary alternative is addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rememberBInspect
Store a note in the user's CortexPlus memory so future conversations can recall it.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| type | No | Node type, e.g. note or meeting-note. | note |
| title | No | ||
| content | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| title | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool is non-read-only and non-destructive, and no contradiction exists. The description adds the persistence/recall context, but it does not disclose behavior like duplicate creation, overwrites, or side effects on existing memory nodes. Given the annotation coverage, a middle score 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?
One short, front-loaded sentence that states the resource, action, and intended effect without filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and annotations present, return-value and safety details are not needed. Still, the description is thin on optional parameter meanings and tool-selection boundaries against memory/recall/search, leaving the agent partially under-specified for non-trivial use.
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 only 25% (only 'type' is described). The description adds minimal meaning for 'content' (a note to store) but gives no semantics for 'tags', 'title', or how 'type' related values differ. At this low coverage, the description needed to compensate and did not.
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 gives a specific action ('Store') and resource ('a note in the user's CortexPlus memory') with a clear purpose ('future conversations can recall it'). It is not a tautology and is distinguishable from retrieval siblings like recall, though it does not explicitly differentiate itself from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied: use this when the user wants information persisted in memory for later recall. However, the description names no alternatives, excludes no cases, and gives no guidance for choosing between remember, memory, recall, and search, so the agent must infer boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchARead-onlyInspect
Search the user's CortexPlus memory and return ranked matches. Use this to find what the user has stored before answering from memory.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | What to look for, in natural language. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds that results are 'ranked matches' and scoped to the user's CortexPlus memory, but does not disclose more about result behavior, pagination, or limits. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, with the primary purpose up front and usage guidance immediately after. No wasted words or redundant restatement.
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 two-parameter search tool with an output schema and annotations, the description covers the core purpose, scope, and when to use it. It only falls short in parameter semantics, which is a minor gap given the simplicity of the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents query with 'What to look for', but limit has no description. The tool description adds no parameter-level guidance, leaving limit's semantics to be inferred from its name. With only 50% schema coverageached, the description should have compensated but does not.
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?
States a specific verb ('Search'), resource ('the user's CortexPlus memory'), and outcome ('return ranked matches'). It clearly describes the tool's core functionchers purpose, though it does not explicitly differentiate itself from sibling tools like recall or remember.
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 guidance: use it before answering from memory when you need to find what the user has stored. It does not mention exclusions or alternatives, but the context is clear enough for an agent to know when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signupAInspect
Create a CortexPlus account, or begin signing in to an existing one, so this conversation can use CortexPlus as the user's long-term memory and knowledge base. Ask the user for their email address, and for their name if you do not already have it, then call this tool. CortexPlus sends them a short authentication key by email; ask the user for that key and call connect with it. Never guess or invent the email address.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The user's name, if it is not already known. | |
| Yes | The user's email address. Ask the user; never guess or invent it. | ||
| client | No | The name of the AI platform you are running on, e.g. ChatGPT, Claude, Cursor. |
Output Schema
| Name | Required | Description |
|---|---|---|
| sent | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and openWorldHint=true, so the description doesn't need to restate that this is a mutating, world-changing action. The description adds valuable behavioral context: it explains that CortexPlus sends an authentication key by email, that the tool can either create or begin sign-in, and that the agent must collect the key and call connect. This goes beyond the annotations and helps the agent understand the side effects and next step.
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: it states the purpose first, then the required user interaction, then the follow-up step. Every sentence earns its place, and the critical instruction not to guess the email is included without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a multi-step signup flow with a follow-up connect call), the description is complete. It covers what the tool does, what the agent must ask the user, what happens next, and the constraint against inventing data. The output schema exists, so return values don't need to be described. The only minor gap is not explaining what happens if the user already has an account, but the description already covers 'begin signing in to an existing one'.
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%, so the schema already documents all three parameters. The description adds meaning by explaining the workflow around the email parameter (ask the user, never guess) and the name parameter (use if not already known). It doesn't add detail about the client parameter, but the schema already covers that, so the description's added value is sufficient.
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 ('Create a CortexPlus account, or begin signing in to an existing one') and resource ('CortexPlus account'), and clearly distinguishes its purpose from siblings like connect by explaining the signup flow. It also ties the tool to the conversation's use of CortexPlus as long-term memory, which makes its role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: ask the user for email and name, call this tool, then ask for the authentication key and call connect. It also tells the agent what not to do ('Never guess or invent the email address'). This is strong usage guidance that routes the agent through the correct sequence and to the sibling tool connect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tasksBRead-onlyInspect
List open CortexPlus tasks and reminders, optionally filtered by client.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| client | No | ||
| status | No | open |
Output Schema
| Name | Required | Description |
|---|---|---|
| tasks | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this as a safe read operation, and the description does not contradict it. However, the description adds little beyond that – it doesn't disclose pagination, rate limits, authentication needs, or what happens with the limit parameter. Since annotations cover the safety profile, a 3 is appropriate for adding only modest context.
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, efficient sentence that front-loads the core action and filter. There is no wasted wording, and the structure is immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description doesn't need to explain return values. However, it omits any mention of the limit parameter and leaves the status parameter's flexibility ambiguous. For a tool with only three parameters, these gaps are noticeable but not fatal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the burden of explaining parameters. It explains 'client' as a filter, and 'open' implies the status default, but it doesn't explain the 'limit' parameter at all. Worse, stating 'List open tasks' might mislead an agent into thinking status cannot be changed, despite the schema allowing any string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a verb ('List'), a resource ('CortexPlus tasks and reminders'), and a scope ('open'). It is specific enough to distinguish from generic siblings like search or memory, though it doesn't explicitly contrast with them. Minor issue: it says 'open' while the status parameter allows any value, so the description is slightly narrower than the actual behavior.
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?
There is no guidance on when to use this tool versus alternatives. The sibling list includes search, recall, and memory, but the description doesn't mention any conditions that would favor this tool over them. An agent is left to infer usage from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
- First observed
connect - First observed
fetch - First observed
memory - First observed
recall - First observed
remember - First observed
search - First observed
signup - First observed
tasks
Related MCP Connectors
A self-improving memory layer. Your memory, notes, tasks and goals, remembered everywhere.
Personal wiki and memory layer for AI assistants. Persistent, structured memory across sessions.
Personal knowledge base MCP server with semantic search, auto-categorization, metadata extraction
Persistent memory for AI agents. Semantic search, memory graph, W3C DID identity.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides a persistent, vendor-neutral memory layer that allows AI tools and agents to share context and knowledge across different platforms while maintaining local data ownership. It enables users to store, recall, and manage structured memories through hybrid semantic search and automated context assembly.3 npmApache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to capture bookmarks, sticky notes, todos, notes, and web archives, and to search and organize personal knowledge and memory across cloud-synced clients.-
- AlicenseBqualityAmaintenanceYour portable AI memory layer. Classify, store, and recall what matters across models, tools, and devices.315MIT
- AlicenseNot gradedqualityCmaintenanceA local-first file intelligence engine that indexes documents, code, and email on your machine using on-device models, and exposes that memory to any AI assistant over MCP for semantic search and structured fact retrieval.9Business Source 1.1
Glama MCP Gateway
Add one secure layer between your agents and this server.