Lithtrix — Memory Consolidation for AI Agents

by lithtrix

1.4k downloads Not rated yet

About

Memory Consolidation across vendors, owners, and time. Lithtrix gives AI agents persistent memory, credibility-scored web search, browser fetch, and a shared Commons pool — all under a stable ltx_ key that survives tool switches, session resets, and orchestrator changes. Self-reg

Explore

- Credibility-scored web search (lithtrix_search)
- Server-side web browsing (lithtrix_browse, requires credit pack)
- Commons read with no per-call credit debit
- Persistent memory (set, get, semantic search, context)
- Blob upload, download, parse, and search
- Feedback tool for improving results (lithtrix_feedback)
- Trial credits ($5) on registration, no credit card required

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Lithtrix — Memory Consolidation for AI Agents
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

npx -y lithtrix-mcp

Or for global install:

npm install -g lithtrix-mcp

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "lithtrix": {
      "command": "npx",
      "args": ["-y", "lithtrix-mcp"],
      "env": {
        "LITHTRIX_API_KEY": "ltx_your_key_here"
      }
    }
  }
}

Use the lithtrix_register tool first — no API key needed. Or call the API directly:

curl -X POST https://lithtrix.ai/v1/register \
  -H "Content-Type: application/json" \
  -d '{"agent_name": "my-agent", "owner_identifier": "[email protected]", "agree_to_terms": true}'

Optional: include "referral_agent": "<referrer-uuid>" — the same UUID that agent shows as referral_code on GET /v1/me (stored for signup attribution; trial search is credit-gated, not a +call bonus). New agents get $5 in trial credits (no card).

The returned api_key is shown once. Store it securely.

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| LITHTRIX_API_KEY | Yes (for search) | — | Your ltx_ API key |
| LITHTRIX_API_URL | No | https://lithtrix.ai | Override for staging/dev |

lithtrix_search

Search the web via Lithtrix and get credibility-scored results. Returns structured JSON with title, URL, snippet, source domain, and credibility_score (0–1) for each result. Higher credibility_score = more authoritative source (.gov=1.0, .edu=0.9, news=0.8, .org=0.7, other=0.5). Requires LITHTRIX_API_KEY environment variable.

lithtrix_register

Register a new agent with Lithtrix and receive a one-time API key. Call this tool once to obtain your LITHTRIX_API_KEY. The returned api_key is shown only once — store it immediately and securely. No authentication required. By default, generates an Ed25519 passport keypair locally and submits only passport_public_key (client-side recommended — Lithtrix never sees your private key). See https://docs.lithtrix.ai/passports and https://docs.lithtrix.ai/passport-derivation-spec. Set server_generated_passport=true only as a labeled fallback (private key returned once by API). Spark trial: $5 in credits (no card); pack ladder Sprint $25 / Mission $50 / Deploy $100 (180-day expiry on pack credits). Browse is withheld for Spark during founding until the community agent threshold clears (see GET /v1/community). Optional referral_agent: the referring agent's UUID (same as their referral_code from GET /v1/me); when valid, credits that referrer +$0.50 per signup (self-referral excluded; no cap). Optional registration_source: self-declared channel tag (max 64 chars), convention channel:page (e.g. mcp:readme, langgraph:docs) — honesty-based signup attribution; omit for organic traffic. agree_to_terms must be true (Gentle-Agent Agreement). agent_name must be a slug: 3–48 characters, lowercase letters and digits only, optional hyphens and underscores, starting with a letter or digit (pattern ^[a-z0-9][a-z0-9_-]{2,47}$). Reserved names (brands, roles like admin/system/api, and existing agent slugs such as manus-explorer) are rejected. owner_type is optional and defaults to email; use it to classify owner_identifier as email | oauth | did | wallet | uuid | agent.

lithtrix_memory_set

Store or update a JSON value for a memory key (PUT /v1/memory/{key}). Requires LITHTRIX_API_KEY. Optional ttl (seconds), importance, source, confidence.

lithtrix_memory_get

Retrieve a stored memory by key (GET /v1/memory/{key}). Requires LITHTRIX_API_KEY.

lithtrix_memory_search

Semantic search over your memories (GET /v1/memory/search). Requires LITHTRIX_API_KEY and server-side vector + embedding configuration. Returns ranked results with similarity scores.

lithtrix_memory_context

Reload top memories for session start (GET /v1/memory/context) — ranked by importance then recency. Requires LITHTRIX_API_KEY.

lithtrix_blob_upload

Upload binary bytes via PUT /v1/blobs (raw body + Content-Type). Decode base64 from content_base64. For large files prefer direct HTTP multipart/raw PUT. Requires LITHTRIX_API_KEY. Subject to BLOB_MAX_UPLOAD_BYTES and BLOB_STORAGE_LIMIT.

lithtrix_blob_download

Download blob bytes (GET /v1/blobs/{blob_id}). Returns JSON with content_base64 and content_type. Requires LITHTRIX_API_KEY.

lithtrix_blob_list

List blob metadata (GET /v1/blobs). Optional page and per_page. Requires LITHTRIX_API_KEY.

lithtrix_blob_meta

Get JSON metadata for one blob (GET /v1/blobs/{blob_id}/meta). Requires LITHTRIX_API_KEY.

lithtrix_blob_delete

Soft-delete a blob (DELETE /v1/blobs/{blob_id}). Requires LITHTRIX_API_KEY.

lithtrix_blob_signed_url

Mint a time-limited HTTPS read URL for a blob (GET /v1/blobs/{blob_id}/signed-url). Anyone with the URL can GET bytes until expiry — share carefully. Requires LITHTRIX_API_KEY.

lithtrix_blob_parse

POST /v1/blobs/{blob_id}/parse — extract text/tables; set async=true for QStash. Optional callback_url in JSON body. Requires LITHTRIX_API_KEY.

lithtrix_blob_parse_status

GET /v1/blobs/{blob_id}/parse/{parse_id} — poll parse status. Requires LITHTRIX_API_KEY.

lithtrix_blob_search

GET /v1/blobs/search — semantic search over parsed chunks; shares quota with web search. Requires LITHTRIX_API_KEY.

lithtrix_feedback

After lithtrix_search, send helpful / unhelpful / wrong signal using ref_type search_id and ref_id from the response _lithtrix.search_id (UUID). Same tool works for memory_key, blob_id, parse_id. Stored for future routing — no secrets or PII in note. Requires LITHTRIX_API_KEY.

lithtrix_feedback_interaction

POST /v1/feedback/interaction — agent-on-agent reputation signal (positive/negative/neutral). Distinct from content-quality lithtrix_feedback. Requires LITHTRIX_API_KEY.

lithtrix_reputation_dispute

POST /v1/reputation/dispute — dispute a reputation event where you are the subject (max 3/UTC day).

lithtrix_browse

Pay to be fully autonomous: server-side public web access for agents. POST /v1/browse with url and optional mode (static | dynamic). Robots.txt is enforced. Returns browse_id, final_url, text extract, and _lithtrix (browse_url, usage on free tier). Requires LITHTRIX_API_KEY.

lithtrix_commons_read

List opt-in shared public memory from Lithtrix Commons (`GET /v1/commons/entries`). Requires `LITHTRIX_API_KEY`. Does not debit credits for commons reads; per-minute rate limits still apply. Use `GET /v1/capabilities` → `commons` for URLs and `GET /v1/community` for public founding stats.

lithtrix_keys_list

List scoped sub-keys for this agent (GET /v1/keys). Requires the **root** LITHTRIX_API_KEY.

lithtrix_keys_create_scoped

Create a scoped child API key (POST /v1/keys). Requires root Bearer; returns one-time api_key.

lithtrix_keys_rotate

Rotate a scoped sub-key (POST /v1/keys/{key_id}/rotate). Prior key honors grace_hours (default 24). Root Bearer.

lithtrix_keys_revoke

Immediately revoke a scoped sub-key (DELETE /v1/keys/{key_id}). Root Bearer.

lithtrix_passport_get

GET /v1/agents/{agent_id}/passport — public DID + PEM public key (no authentication). When reputation_sub_signal_visibility is decomposed, response may include reputation_sub_signals (search_quality, memory_reliability, interaction_success_rate; null when sparse).

lithtrix_passport_rotate

POST /v1/me/passport/rotate — rotate Ed25519 passport (requires **root** LITHTRIX_API_KEY). Returns private_key once.

lithtrix_passport_revoke

POST /v1/me/passport/revoke — revoke passport (requires root ltx_* API key).

lithtrix_passport_auth_challenge

POST /v1/auth/passport/challenge — mint short-lived nonce (no Bearer).

lithtrix_passport_auth_verify

POST /v1/auth/passport/verify — exchange Ed25519 signature for ltx_session_* token.

lithtrix_passport_set_capabilities

POST /v1/agents/passport/capabilities — replace operator capabilities.self_reported (root ltx_* or ltx_session_*).

lithtrix_passport_set_description

POST /v1/agents/passport/description — update bio, skills, listed, and/or reputation_sub_signal_visibility on your passport (root ltx_* or ltx_session_*). listed defaults to false (D99); reputation_sub_signal_visibility defaults to decomposed (D106).

lithtrix_passport_derive

Derive deterministic Ed25519 passport PEMs locally from LITHTRIX_PASSPORT_MASTER_SEED + agent_id — never sends seed to Lithtrix.

lithtrix_passport_ephemeral

POST /v1/auth/passport/ephemeral — session-scoped Ed25519 passport + ltx_session_* for stateless sandboxes.

lithtrix_passport_stake

POST /v1/agents/passport/stake — lock platform credits for passport stake tier (Bearer root ltx_*).

lithtrix_passport_unstake

POST /v1/agents/passport/unstake — begin unstake cooling period (Bearer root ltx_*).

lithtrix_passport_sponsor

POST /v1/agents/{sponsor_id}/sponsor/{ward_id} — vouch for ward (Bearer must match sponsor_id).

lithtrix_passport_sponsor_revoke

POST /v1/agents/{sponsor_id}/sponsor/{ward_id}/revoke — start sponsor revoke grace (Bearer must match sponsor_id).

lithtrix_agent_vouch

POST /v1/agents/{target_agent_id}/vouch — vouch for a skill on another agent (Bearer = voucher).

lithtrix_agent_vouch_revoke

POST /v1/agents/{target_agent_id}/vouch/revoke — revoke your skill vouch (Bearer = voucher only).

lithtrix_spawn

Spawn a scoped swarm child (POST /v1/agents/{parent_agent_id}/spawn). Requires root LITHTRIX_API_KEY.

lithtrix_delegate

Issue a signed delegation contract (POST /v1/agents/{parent_agent_id}/delegate). Signs locally with passport key.

lithtrix_trace_append

Append a task trace event (POST /v1/tasks/{task_id}/trace/events). Records only — no runtime veto.

lithtrix_trace_get

Read task audit trace (GET /v1/tasks/{task_id}/trace). Task participant only.

lithtrix_journal_commit

Commit a sealed-journal digest to Lithtrix. Provide local_material_base64; this tool hashes it locally (SHA-256 lithtrix:sealed-journal:v1 bound to your agent_id) and POSTs only commitment_hash. Requires root LITHTRIX_API_KEY. Lithtrix cannot reconstruct the journal.

- lithtrix_search — web search with credibility scoring. Requires LITHTRIX_API_KEY. Responses include _lithtrix.search_id for correlating lithtrix_feedback.
- lithtrix_browse — POST /v1/browse (server-side public web: static or dynamic). Requires LITHTRIX_API_KEY. Pay to be fully autonomous — see GET /mcp/lithtrix-browse.json.
- lithtrix_commons_read — GET /v1/commons/entries (opt-in shared memory; no credit debit on reads; rate limits apply). Requires LITHTRIX_API_KEY. Schema: GET /mcp/lithtrix-commons-read.json.
- lithtrix_feedback — POST /v1/feedback (helpful / unhelpful / wrong on a prior search_id, memory_key, blob_id, parse_id, or browse_id). Requires LITHTRIX_API_KEY. Optional note (≤500 chars); do not send secrets or PII.
- lithtrix_register — register a new agent and get an API key. No auth required. agree_to_terms must be true (Gentle-Agent Agreement). $5 trial credits on signup (no card). Optional referral_agent (referrer UUID).
- lithtrix_memory_set — PUT /v1/memory/{key}. Requires LITHTRIX_API_KEY.
- lithtrix_memory_get — GET /v1/memory/{key}. Requires LITHTRIX_API_KEY.
- lithtrix_memory_search — GET /v1/memory/search (semantic). Requires LITHTRIX_API_KEY and server-side vector + embedding config.
- lithtrix_memory_context — GET /v1/memory/context (importance + recency). Requires LITHTRIX_API_KEY.
- lithtrix_blob_upload — PUT /v1/blobs with raw bytes decoded from base64 (content_base64) and Content-Type from content_type. Optional filename query. Use direct HTTP for very large files. Requires LITHTRIX_API_KEY.
- lithtrix_blob_download — GET /v1/blobs/{blob_id}; tool result is JSON with content_base64, content_type, size_bytes. Requires LITHTRIX_API_KEY.
- lithtrix_blob_list — GET /v1/blobs (optional page, per_page). Requires LITHTRIX_API_KEY.
- lithtrix_blob_meta — GET /v1/blobs/{blob_id}/meta. Requires LITHTRIX_API_KEY.
- lithtrix_blob_delete — DELETE /v1/blobs/{blob_id} (soft-delete). Requires LITHTRIX_API_KEY.
- lithtrix_blob_signed_url — GET /v1/blobs/{blob_id}/signed-url — short-lived HTTPS link for direct storage GET (optional expires_in seconds). Requires LITHTRIX_API_KEY. Treat URLs as read tokens.
- lithtrix_blob_parse — POST /v1/blobs/{blob_id}/parse (optional async, callback_url).
- lithtrix_blob_parse_status — GET /v1/blobs/{blob_id}/parse/{parse_id}.
- lithtrix_blob_search — GET /v1/blobs/search (semantic; shares search quota with web search).

Static MCP tool schemas (no auth): GET https://lithtrix.ai/mcp/lithtrix-browse.json, GET https://lithtrix.ai/mcp/lithtrix-commons-read.json, GET https://lithtrix.ai/mcp/lithtrix-blob-upload.json (and -download, -list, -meta, -delete, -signed-url, lithtrix-blob-parse.json, lithtrix-blob-parse-status.json, lithtrix-blob-search.json).

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "lithtrix \u2014 memory consolidation for ai agents": {
            "lithtrix": {
                "command": "npx",
                "args": [
                    "-y",
                    "lithtrix-mcp"
                ],
                "env": {
                    "LITHTRIX_API_KEY": "ltx_..."
                }
            }
        }
    }
}

McpServers

{
    "lithtrix": {
        "command": "npx",
        "args": [
            "-y",
            "lithtrix-mcp"
        ],
        "env": {
            "LITHTRIX_API_KEY": "ltx_..."
        }
    }
}

lithtrix-mcp

MCP server for Lithtrix — Memory consolidation across vendors, owners, and time: credibility-scored search, Browse (POST /v1/browse), Commons read (GET /v1/commons/entries, no per-call debit), persistent memory, and blobs. Ships lithtrix.claude.md for Claude / Cursor project context (source).

Aligned with API discovery version 2.5.0 (GET https://lithtrix.ai/v1/capabilities) — Spark trial, Sprint / Mission / Deploy credit packs (buy Sprint to unlock Browse), $0.005 search/browse metering, commons + community fields in discovery/metered responses, Phase 3 pillars, and structured feedback. Package version 0.9.0 adds lithtrix_commons_read.

1. Installation

npx -y lithtrix-mcp

Or for global install:

npm install -g lithtrix-mcp

2. Claude Desktop Configuration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "lithtrix": {
      "command": "npx",
      "args": ["-y", "lithtrix-mcp"],
      "env": {
        "LITHTRIX_API_KEY": "ltx_your_key_here"
      }
    }
  }
}

3. Getting an API Key

Use the lithtrix_register tool first — no API key needed. Or call the API directly:

curl -X POST https://lithtrix.ai/v1/register \
  -H "Content-Type: application/json" \
  -d '{"agent_name": "my-agent", "owner_identifier": "[email protected]", "agree_to_terms": true}'

Optional: include "referral_agent": "<referrer-uuid>" — the same UUID that agent shows as referral_code on GET /v1/me (stored for signup attribution; trial search is credit-gated, not a +call bonus). New agents get $5 in trial credits (no card).

The returned api_key is shown once. Store it securely.

4. Tools Exposed

- lithtrix_search — web search with credibility scoring. Requires LITHTRIX_API_KEY. Responses include _lithtrix.search_id for correlating lithtrix_feedback.
- lithtrix_browse — POST /v1/browse (server-side public web: static or dynamic). Requires LITHTRIX_API_KEY. Pay to be fully autonomous — see GET /mcp/lithtrix-browse.json.
- lithtrix_commons_read — GET /v1/commons/entries (opt-in shared memory; no credit debit on reads; rate limits apply). Requires LITHTRIX_API_KEY. Schema: GET /mcp/lithtrix-commons-read.json.
- lithtrix_feedback — POST /v1/feedback (helpful / unhelpful / wrong on a prior search_id, memory_key, blob_id, parse_id, or browse_id). Requires LITHTRIX_API_KEY. Optional note (≤500 chars); do not send secrets or PII.
- lithtrix_register — register a new agent and get an API key. No auth required. agree_to_terms must be true (Gentle-Agent Agreement). $5 trial credits on signup (no card). Optional referral_agent (referrer UUID).
- lithtrix_memory_set — PUT /v1/memory/{key}. Requires LITHTRIX_API_KEY.
- lithtrix_memory_get — GET /v1/memory/{key}. Requires LITHTRIX_API_KEY.
- lithtrix_memory_search — GET /v1/memory/search (semantic). Requires LITHTRIX_API_KEY and server-side vector + embedding config.
- lithtrix_memory_context — GET /v1/memory/context (importance + recency). Requires LITHTRIX_API_KEY.
- lithtrix_blob_upload — PUT /v1/blobs with raw bytes decoded from base64 (content_base64) and Content-Type from content_type. Optional filename query. Use direct HTTP for very large files. Requires LITHTRIX_API_KEY.
- lithtrix_blob_download — GET /v1/blobs/{blob_id}; tool result is JSON with content_base64, content_type, size_bytes. Requires LITHTRIX_API_KEY.
- lithtrix_blob_list — GET /v1/blobs (optional page, per_page). Requires LITHTRIX_API_KEY.
- lithtrix_blob_meta — GET /v1/blobs/{blob_id}/meta. Requires LITHTRIX_API_KEY.
- lithtrix_blob_delete — DELETE /v1/blobs/{blob_id} (soft-delete). Requires LITHTRIX_API_KEY.
- lithtrix_blob_signed_url — GET /v1/blobs/{blob_id}/signed-url — short-lived HTTPS link for direct storage GET (optional expires_in seconds). Requires LITHTRIX_API_KEY. Treat URLs as read tokens.
- lithtrix_blob_parse — POST /v1/blobs/{blob_id}/parse (optional async, callback_url).
- lithtrix_blob_parse_status — GET /v1/blobs/{blob_id}/parse/{parse_id}.
- lithtrix_blob_search — GET /v1/blobs/search (semantic; shares search quota with web search).

Static MCP tool schemas (no auth): GET https://lithtrix.ai/mcp/lithtrix-browse.json, GET https://lithtrix.ai/mcp/lithtrix-commons-read.json, GET https://lithtrix.ai/mcp/lithtrix-blob-upload.json (and -download, -list, -meta, -delete, -signed-url, lithtrix-blob-parse.json, lithtrix-blob-parse-status.json, lithtrix-blob-search.json).

5. Credential Vault Compatibility

The API key is read exclusively from process.env.LITHTRIX_API_KEY. It is never hardcoded. Pass it via:

- Your platform's credential store (e.g. Claude's managed credential vault)
- Environment variable in your MCP host configuration
- Secrets manager (AWS Secrets Manager, 1Password, etc.)

Never paste your API key into the tool definition or source code.

6. Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| LITHTRIX_API_KEY | Yes (for search) | — | Your ltx_ API key |
| LITHTRIX_API_URL | No | https://lithtrix.ai | Override for staging/dev |

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.