CortexPlus

Personal memory layer: files, notes, messages, tasks and email, semantically indexed.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
88%
Calidad de los nombres
87%
Riesgo de envenenamiento
100%
Coincidencia de permisos
90%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'fetch' suggests web access but openWorldHint=falseen fetch

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,205Tokens (definiciones de herramientas)
~1.6 KBTamaño de respuesta típico
Impacto moderado en la atención (1.72% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "cortexplus": {
      "url": "https://mcp.cortexplus.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://mcp.cortexplus.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (11)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search(query, limit)

Search the user's CortexPlus memory and return ranked matches. Use this to find what the user has stored before answering from memory.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "What to look for, in natural language."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "url"
        ]
      }
    }
  },
  "required": [
    "results"
  ]
}
🟢fetch(id)

Retrieve the full content of one CortexPlus memory item by id, as returned by search.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Item id from a search result."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url"
  ]
}
🟢recall(query, limit, depth, maxChars)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 10
    },
    "depth": {
      "type": "integer",
      "minimum": 0,
      "maximum": 3,
      "default": 1
    },
    "maxChars": {
      "type": "integer",
      "minimum": 500,
      "maximum": 20000,
      "default": 6000
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string"
    },
    "matches": {
      "type": "integer"
    }
  },
  "required": [
    "text",
    "matches"
  ]
}
⚪remember(title, content, tags, type, parentId)

Store a note in the user's CortexPlus memory so future conversations can recall it.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "content": {
      "type": "string"
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "type": {
      "type": "string",
      "default": "note",
      "description": "Node type, e.g. note or meeting-note."
    },
    "parentId": {
      "type": "string",
      "description": "Optional id of an existing memory to nest this one under."
    }
  },
  "required": [
    "content"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟡memory(text, tags)

Save a memory in CortexPlus. CortexPlus decides whether it is a note, task, or reminder and extracts the client.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "description": "Text to classify and save."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "client": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "type": [
        "string",
        "null"
      ]
    },
    "memory": {
      "type": [
        "string",
        "null"
      ]
    },
    "review": {
      "type": [
        "string",
        "null"
      ]
    },
    "resolved": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "url": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "type",
    "title",
    "client",
    "status",
    "memory",
    "review",
    "resolved",
    "url"
  ]
}
🟢tasks(status, client, limit)

List open CortexPlus tasks and reminders, optionally filtered by client.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "default": "open"
    },
    "client": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 20
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "tasks": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "client",
          "status",
          "dueAt",
          "url"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "client": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "dueAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          }
        }
      }
    }
  },
  "required": [
    "tasks"
  ]
}
🟡save_context(content, platform, key, title, model, ...)

Save a handoff summary of this conversation to the user's CortexPlus memory so it can be resumed later in another AI platform. Write the summary yourself, in Markdown, covering: objective, decisions taken, current state, artifacts, next steps and constraints. Do not paste the raw transcript. Never include passwords, API keys or tokens.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Handoff summary in Markdown."
    },
    "platform": {
      "type": "string",
      "description": "The AI platform you are running on, e.g. ChatGPT, Claude, Gemini, Cursor."
    },
    "key": {
      "type": "string",
      "description": "Short stable slug for the topic, e.g. context-pack-design. Sending the same key again updates the pack instead of creating another."
    },
    "title": {
      "type": "string"
    },
    "model": {
      "type": "string"
    },
    "messageCount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "content",
    "platform",
    "key"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "created": {
      "type": "boolean"
    },
    "redactions": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "kind",
          "placeholder",
          "count"
        ],
        "properties": {
          "kind": {
            "type": "string"
          },
          "placeholder": {
            "type": "string"
          },
          "count": {
            "type": "integer"
          }
        }
      }
    }
  },
  "required": [
    "id",
    "title",
    "url",
    "created",
    "redactions"
  ]
}
🟢resume(query, id, maxChars)

Load a previously saved CortexPlus context pack to resume work started in another AI conversation.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Topic to find the pack by, in natural language."
    },
    "id": {
      "type": "string",
      "description": "Pack id, as returned by context_packs."
    },
    "maxChars": {
      "type": "integer",
      "minimum": 500,
      "maximum": 20000,
      "default": 6000
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string"
    },
    "pack": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "url": {
          "type": "string"
        }
      }
    },
    "matches": {
      "type": "integer"
    }
  },
  "required": [
    "text",
    "pack",
    "matches"
  ]
}
🟢context_packs(platform, limit)

List saved CortexPlus context packs, optionally filtered by AI platform.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "platform": {
      "type": "string",
      "description": "Platform filter, e.g. chatgpt or claude."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "default": 20
    }
  },
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "packs": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "title",
          "platform",
          "url",
          "savedAt"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "platform": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "savedAt": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    }
  },
  "required": [
    "packs"
  ]
}
🟡signup(email, name, client)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "The user's email address. Ask the user; never guess or invent it."
    },
    "name": {
      "type": "string",
      "description": "The user's name, if it is not already known."
    },
    "client": {
      "type": "string",
      "description": "The name of the AI platform you are running on, e.g. ChatGPT, Claude, Cursor."
    }
  },
  "required": [
    "email"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "sent": {
      "type": "boolean"
    }
  },
  "required": [
    "sent"
  ]
}
🟡connect(key, client)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "description": "The authentication key pasted by the user from their CortexPlus email."
    },
    "client": {
      "type": "string",
      "description": "The name of the AI platform you are running on, e.g. ChatGPT, Claude, Cursor."
    }
  },
  "required": [
    "key"
  ],
  "additionalProperties": false
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "apiKey": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "apiKey",
    "email",
    "name"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada11 herramientas
verificadoversión no registrada8 herramientas