Persistent cloud memory for AI agents. Store and search key-value memories across sessions.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer token (e.g. Bearer sk_yourkeyhere). A trial account is auto-created on first use — no prior signup needed.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a new live API key. Only available for active accounts. The key is shown once — store it immediately.
Human-readable label (e.g. 'claude-desktop')
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Create a new live API key. Only available for active accounts. The key is shown once — store it immediately.
| Argument | Type | Description |
|---|---|---|
| label | string | Human-readable label (e.g. 'claude-desktop') |
{
"type": "object",
"properties": {
"label": {
"type": "string",
"description": "Human-readable label (e.g. 'claude-desktop')"
}
}
}Delete a stored value.
| Argument | Type | Description |
|---|---|---|
| key* | string | ≤ 255 characters, no '/' |
| namespace* | string | ≤ 255 characters, no '/' |
{
"type": "object",
"required": [
"namespace",
"key"
],
"properties": {
"key": {
"type": "string",
"maxLength": 255,
"description": "≤ 255 characters, no '/'"
},
"namespace": {
"type": "string",
"maxLength": 255,
"description": "≤ 255 characters, no '/'"
}
}
}Get account status, credit balance, and available credits.
No arguments.
{
"type": "object",
"properties": {}
}Retrieve a stored value by namespace and key.
| Argument | Type | Description |
|---|---|---|
| key* | string | ≤ 255 characters, no '/' |
| namespace* | string | ≤ 255 characters, no '/' |
{
"type": "object",
"required": [
"namespace",
"key"
],
"properties": {
"key": {
"type": "string",
"maxLength": 255,
"description": "≤ 255 characters, no '/'"
},
"namespace": {
"type": "string",
"maxLength": 255,
"description": "≤ 255 characters, no '/'"
}
}
}List all API keys on this account.
No arguments.
{
"type": "object",
"properties": {}
}List keys in a namespace with metadata (created_at, updated_at, updated_count, ttl, priority, last_modified_key_id). Returns up to 1000 keys sorted by recency. Expired keys are automatically excluded.
| Argument | Type | Description |
|---|---|---|
| namespace* | string | ≤ 255 characters, no '/' |
{
"type": "object",
"required": [
"namespace"
],
"properties": {
"namespace": {
"type": "string",
"maxLength": 255,
"description": "≤ 255 characters, no '/'"
}
}
}List all namespaces for this account.
No arguments.
{
"type": "object",
"properties": {}
}List payment history for this account.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max results (default 50, max 100) |
| offset | integer | Pagination offset (default 0) |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "Max results (default 50, max 100)"
},
"offset": {
"type": "integer",
"description": "Pagination offset (default 0)"
}
}
}Store a value with optional tags, priority, and storage duration in months (default 1). value_json must be ≤ 1 MB. On overwrite, the existing expiry is scaled by the KB size ratio of old to new value.
| Argument | Type | Description |
|---|---|---|
| key* | string | ≤ 255 characters, no '/' |
| tags | array | Labels for searching and grouping. Duplicates are deduplicated automatically. |
| months | integer | How long to store this entry in months (default 1, minimum 1). Ignored on overwrite — existing expiry is scaled by the KB size ratio of old to new value. |
| priority | integer | Importance 1–10; higher = more important. Default 5. Used by top_memories to surface the most relevant context. |
| namespace* | string | ≤ 255 characters, no '/' |
| value_json* | string | JSON-encoded value |
{
"type": "object",
"required": [
"namespace",
"key",
"value_json"
],
"properties": {
"key": {
"type": "string",
"maxLength": 255,
"description": "≤ 255 characters, no '/'"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "Labels for searching and grouping. Duplicates are deduplicated automatically."
},
"months": {
"type": "integer",
"description": "How long to store this entry in months (default 1, minimum 1). Ignored on overwrite — existing expiry is scaled by the KB size ratio of old to new value."
},
"priority": {
"type": "integer",
"description": "Importance 1–10; higher = more important. Default 5. Used by top_memories to surface the most relevant context."
},
"namespace": {
"type": "string",
"maxLength": 255,
"description": "≤ 255 characters, no '/'"
},
"value_json": {
"type": "string",
"description": "JSON-encoded value"
}
}
}Revoke an API key by ID. The key stops working immediately.
| Argument | Type | Description |
|---|---|---|
| key_id* | string | The key ID to revoke, as returned by list_api_keys. |
{
"type": "object",
"required": [
"key_id"
],
"properties": {
"key_id": {
"type": "string",
"description": "The key ID to revoke, as returned by list_api_keys."
}
}
}Find (namespace, key) pairs with a given tag. Returns up to 1000 results.
| Argument | Type | Description |
|---|---|---|
| tag* | string | Tag to search for. Returns up to 1000 (namespace, key) pairs. |
{
"type": "object",
"required": [
"tag"
],
"properties": {
"tag": {
"type": "string",
"description": "Tag to search for. Returns up to 1000 (namespace, key) pairs."
}
}
}Charges the saved payment method to settle your outstanding balance. Requires explicit user approval before running. For trial accounts, returns the activation URL instead. Minimum charge: $5.
No arguments.
{
"type": "object",
"properties": {}
}Submit feedback when a trial ends without activation. Free to call — no credits charged. Only the first submission per account is recorded; duplicates are silently ignored. Call this when the user declines to activate or the trial is exhausted.
| Argument | Type | Description |
|---|---|---|
| detail | string | Optional free-text context (truncated at 2000 chars) |
| reason* | string | Primary reason for not activating |
{
"type": "object",
"required": [
"reason"
],
"properties": {
"detail": {
"type": "string",
"description": "Optional free-text context (truncated at 2000 chars)"
},
"reason": {
"enum": [
"too_expensive",
"not_useful",
"technical_issue",
"user_declined",
"other"
],
"type": "string",
"description": "Primary reason for not activating"
}
}
}Submit a feature request or product feedback. Charged at storage rate: ceil_kb(description_length) × 100 credits per KB. Available to trial and active accounts alike.
| Argument | Type | Description |
|---|---|---|
| description* | string | Description of the requested feature (truncated at 10,000 chars) |
{
"type": "object",
"required": [
"description"
],
"properties": {
"description": {
"type": "string",
"description": "Description of the requested feature (truncated at 10,000 chars)"
}
}
}Return the top N highest-priority non-expired keys in a namespace, ordered by priority descending. Useful for loading the most important context when space is limited. Maximum n is 1000.
| Argument | Type | Description |
|---|---|---|
| n | integer | Number of keys to return (default 10, max 1000) |
| namespace* | string | ≤ 255 characters, no '/' |
{
"type": "object",
"required": [
"namespace"
],
"properties": {
"n": {
"type": "integer",
"description": "Number of keys to return (default 10, max 1000)"
},
"namespace": {
"type": "string",
"maxLength": 255,
"description": "≤ 255 characters, no '/'"
}
}
}