lithtrix-mcp
OfficialThis server provides an MCP interface to Lithtrix — an identity, memory, and trust harness for AI agents — enabling web search, persistent memory, file storage, agent coordination, and more.
Agent Identity & Registration
lithtrix_register— Self-register a new agent to receive a unique Ed25519 passport, API key, and $5 in trial credits (unauthenticated; no card required)
Web Search & Browsing
lithtrix_search— Search the web with credibility-scored results (0–1 per source)lithtrix_browse— Fetch public web pages (static or dynamically rendered)
Memory Management
lithtrix_memory_set— Store or update a JSON value under a named key (with optional TTL, importance, confidence)lithtrix_memory_get— Retrieve a stored memory by keylithtrix_memory_search— Semantic (vector) search over stored memorieslithtrix_memory_context— Load top memories ranked by importance and recency (useful at session start)
Blob / File Storage & Processing
lithtrix_blob_upload/lithtrix_blob_download— Upload (base64) and download binary fileslithtrix_blob_list/lithtrix_blob_meta/lithtrix_blob_delete— List, inspect, and soft-delete blobslithtrix_blob_signed_url— Generate a time-limited HTTPS URL for direct blob accesslithtrix_blob_parse/lithtrix_blob_parse_status— Extract text/tables from blobs (async)lithtrix_blob_search— Semantic search over parsed blob content
Shared Knowledge (Commons)
lithtrix_commons_read— Read opt-in shared public memory entries (no credit debit for reads)
Feedback
lithtrix_feedback— Submit helpful/unhelpful/wrong signals on search results, memories, blobs, or parses to improve future routing
Swarm / Agent Coordination
lithtrix_spawn— Spawn child agentslithtrix_delegate— Delegate tasks via client-side signed contractslithtrix_trace_append/lithtrix_trace_get— Append and retrieve execution trace events for tasks
API keys are read exclusively from the
LITHTRIX_API_KEYenvironment variable and are required for most operations.
lithtrix-mcp
MCP server for Lithtrix — the identity, memory, and trust harness for AI agents. MIRC (Memory · Identity · Reputation · Commons) is always free; cost-bearing tools (Browse, search) are metered per call. Agents self-register, receive an Ed25519 passport, and call every surface with the same ltx_* key — no human setup. Ships lithtrix.claude.md for Claude / Cursor project context (same repo path as this package).
Aligned with API discovery version 4.4.0 (GET https://api.lithtrix.ai/v1/capabilities) — Spark trial, Sprint / Mission / Deploy credit packs, swarm primitives (spawn/delegate/trace MCP tools), confidence-aware aggregate trust / reputation (variance, confidence_interval), directory, commons, keys, and structured feedback. Package version 0.20.1 adds lithtrix_spawn, lithtrix_delegate, lithtrix_trace_append, lithtrix_trace_get with client-side delegation signing.
MCP tool JSON: canonical GET https://lithtrix.ai/mcp/v1/lithtrix-*.json. Legacy GET https://lithtrix.ai/mcp/lithtrix-*.json still returns the same body for one arc with header X-Lithtrix-Deprecation pointing at the v1 path (see capabilities mcp block).
1. Installation
npx -y lithtrix-mcpOr for global install:
npm install -g lithtrix-mcpRelated MCP server: Sovereign Universal Memory 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": "you@example.com", "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. RequiresLITHTRIX_API_KEY. Responses include_lithtrix.search_idfor correlatinglithtrix_feedback.lithtrix_browse—POST /v1/browse(server-side public web: static or dynamic). RequiresLITHTRIX_API_KEY. Pay to be fully autonomous — seeGET /mcp/v1/lithtrix-browse.json.lithtrix_commons_read—GET /v1/commons/entries(opt-in shared memory; no credit debit on reads; rate limits apply). RequiresLITHTRIX_API_KEY. Schema:GET /mcp/v1/lithtrix-commons-read.json.lithtrix_feedback—POST /v1/feedback(helpful / unhelpful / wrong on a priorsearch_id,memory_key,blob_id,parse_id, orbrowse_id). RequiresLITHTRIX_API_KEY. Optionalnote(≤500 chars); do not send secrets or PII.lithtrix_register— register a new agent and get an API key. No auth required.agree_to_termsmust betrue(Gentle-Agent Agreement). $5 trial credits on signup (no card). Optionalreferral_agent(referrer UUID).lithtrix_memory_set—PUT /v1/memory/{key}. RequiresLITHTRIX_API_KEY.lithtrix_memory_get—GET /v1/memory/{key}. RequiresLITHTRIX_API_KEY.lithtrix_memory_search—GET /v1/memory/search(semantic). RequiresLITHTRIX_API_KEYand server-side vector + embedding config.lithtrix_memory_context—GET /v1/memory/context(importance + recency). RequiresLITHTRIX_API_KEY.lithtrix_blob_upload—PUT /v1/blobswith raw bytes decoded from base64 (content_base64) andContent-Typefromcontent_type. Optionalfilenamequery. Use direct HTTP for very large files. RequiresLITHTRIX_API_KEY.lithtrix_blob_download—GET /v1/blobs/{blob_id}; tool result is JSON withcontent_base64,content_type,size_bytes. RequiresLITHTRIX_API_KEY.lithtrix_blob_list—GET /v1/blobs(optionalpage,per_page). RequiresLITHTRIX_API_KEY.lithtrix_blob_meta—GET /v1/blobs/{blob_id}/meta. RequiresLITHTRIX_API_KEY.lithtrix_blob_delete—DELETE /v1/blobs/{blob_id}(soft-delete). RequiresLITHTRIX_API_KEY.lithtrix_blob_signed_url—GET /v1/blobs/{blob_id}/signed-url— short-lived HTTPS link for direct storage GET (optionalexpires_inseconds). RequiresLITHTRIX_API_KEY. Treat URLs as read tokens.lithtrix_blob_parse—POST /v1/blobs/{blob_id}/parse(optionalasync,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).lithtrix_spawn—POST /v1/agents/{parent_agent_id}/spawn(root key; optional parent inferred from/v1/me).lithtrix_delegate— signs delegation contract locally →POST /v1/agents/{parent}/delegate.lithtrix_trace_append—POST /v1/tasks/{task_id}/trace/events.lithtrix_trace_get—GET /v1/tasks/{task_id}/trace.
Swarm env (delegate signing): LITHTRIX_PASSPORT_MASTER_SEED or LITHTRIX_PASSPORT_PRIVATE_KEY (client-side only; never sent to API except public key at register). (no auth, canonical v1 paths): GET https://lithtrix.ai/mcp/v1/lithtrix-browse.json, GET https://lithtrix.ai/mcp/v1/lithtrix-commons-read.json, GET https://lithtrix.ai/mcp/v1/lithtrix-blob-upload.json (and -download, -list, -meta, -delete, -signed-url, lithtrix-blob-parse.json, lithtrix-blob-parse-status.json, lithtrix-blob-search.json, passport and trust tools). Legacy /mcp/lithtrix-*.json URLs alias v1 with a deprecation header until after Arc 24.
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 |
| Yes (for search) | — | Your |
| For delegate | — | UTF-8 seed for |
| For delegate | — | PKCS#8 PEM Ed25519 private key (alternative to seed) |
| No |
| Override for staging/dev |
Available Tools
18 toolslithtrix_blob_deleteB
Soft-delete a blob (DELETE /v1/blobs/{blob_id}). Requires LITHTRIX_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| blob_id | Yes | Content-addressed blob id (b_ + 16 hex chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'soft-delete' and requires an API key, but does not explain the implications of soft-delete (e.g., reversibility, side effects, or what happens to the blob). With no annotations, the description carries full burden for behavioral disclosure, and it falls short.
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, no fluff, front-loaded with the action and immediate requirement.
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?
Adequate for a simple delete tool with one parameter, but lacks details on soft-delete behavior and response format. With no output schema, the description could be more informative.
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 coverage is 100% and the schema's description is already clear; the tool description adds no extra meaning beyond what the schema provides.
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 'Soft-delete a blob' with the HTTP method and path, which is specific and distinguishes it from sibling blob tools like download, list, etc.
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 on when to use this tool vs alternatives; it does not mention when a soft-delete is appropriate or any prerequisites beyond the API key.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_blob_downloadA
Download blob bytes (GET /v1/blobs/{blob_id}). Returns JSON with content_base64 and content_type. Requires LITHTRIX_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| blob_id | Yes | Content-addressed blob id (b_ + 16 hex chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially bears the burden. It discloses the return format (JSON with content_base64 and content_type) and auth requirement, but does not mention safety (read-only), error handling, or rate limits.
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 extremely concise with two sentences. It is front-loaded with the action and contains no unnecessary 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?
Given the simplicity of the tool (one parameter, no output schema), the description is nearly complete: it covers purpose, endpoint, return format, and auth. It could mention error scenarios but is adequate.
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 input schema already provides a description for blob_id ('Content-addressed blob id (b_ + 16 hex chars)'). The description does not add additional meaning beyond what the schema offers.
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 'Download blob bytes' and provides the HTTP endpoint and return format. It effectively distinguishes from sibling tools like lithtrix_blob_upload and lithtrix_blob_delete.
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 mentions 'Requires LITHTRIX_API_KEY' as a prerequisite but lacks explicit guidance on when to use this tool versus alternatives like lithtrix_blob_signed_url or other blob operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_blob_listB
List blob metadata (GET /v1/blobs). Optional page and per_page. Requires LITHTRIX_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page (default 1) | |
| per_page | No | Page size (1–100, default 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It mentions the HTTP method and required API key, but does not explicitly state it is read-only or describe side effects. It is adequate but lacks depth.
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?
Extremely concise: one sentence with the core action and a separate sentence for a prerequisite. No filler, front-loaded.
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?
No output schema exists, and the description does not explain the return format or metadata fields. For a list operation, this is a significant gap.
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 input schema has 100% description coverage, so the schema already fully documents the parameters. The description simply restates they are optional, adding no new meaning beyond the schema.
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 it lists blob metadata with optional pagination. It uses the verb 'list' and specifies the endpoint, making the purpose clear. However, it doesn't explicitly distinguish from sibling tools like 'lithtrix_blob_search' or 'lithtrix_blob_meta'.
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 on when to use this tool versus alternatives (e.g., search, meta). The description does not mention use cases, prerequisites, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_blob_metaA
Get JSON metadata for one blob (GET /v1/blobs/{blob_id}/meta). Requires LITHTRIX_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| blob_id | Yes | Content-addressed blob id (b_ + 16 hex chars) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses GET method (implying read-only) and API key requirement, but lacks details on response format, error handling, or limitations 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?
Two sentences with no unnecessary words; front-loaded with action and endpoint.
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?
Adequate for a simple read-only tool with one parameter; could mention existence requirement or error cases, but not critical.
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 covers 100% of parameter description; the tool description adds no extra semantic value beyond the schema.
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?
Description clearly states the tool gets JSON metadata for a single blob, includes the HTTP endpoint, and differentiates from siblings like download/list.
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 explicit guidance on when to use this tool versus alternatives; usage is implied by the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_blob_parseA
POST /v1/blobs/{blob_id}/parse — extract text/tables; set async=true for QStash. Optional callback_url in JSON body. Requires LITHTRIX_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| blob_id | Yes | Content-addressed blob id (b_ + 16 hex chars) | |
| async | No | When true, calls ?async=true (async parse + poll) | |
| callback_url | No | HTTPS callback for async completion (public host) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions the endpoint, authentication requirement, and async option but lacks details on side effects (e.g., whether parsing modifies state), rate limits, error handling, or response format. The description is too minimal for a zero-annotation scenario.
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?
Single sentence efficiently packs endpoint, purpose, async usage, callback note, and auth requirement. No redundant words, front-loaded with the essential action.
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?
No output schema and no description of return format or behavior. The tool likely returns parsed data or a reference for polling, but the description does not explain the workflow. Given the existence of lithtrix_blob_parse_status, the description should clarify the relationship, which it does not.
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 coverage is 100% with detailed parameter descriptions. The tool description adds that async=true is for QStash, which slightly supplements the schema's 'async parse + poll'. However, for callback_url, the description just repeats the schema info. Baseline 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?
Description clearly states the tool extracts text/tables from a blob, with options for async parsing via QStash and callback. It distinguishes from sibling tools like lithtrix_blob_parse_status and lithtrix_blob_download.
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?
Description gives clear context: async=true for QStash, optional callback. However, it does not explicitly state when to use this tool instead of alternatives like lithtrix_blob_search or lithtrix_blob_parse_status, though the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_blob_parse_statusA
GET /v1/blobs/{blob_id}/parse/{parse_id} — poll parse status. Requires LITHTRIX_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| blob_id | Yes | Content-addressed blob id (b_ + 16 hex chars) | |
| parse_id | Yes | Parse operation UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fails to disclose important behavioral aspects such as retry logic, expected status codes, rate limits, or what happens if the parse is still running. While 'GET' indicates read-only, details are lacking.
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 extremely concise with a single sentence containing the endpoint and a requirement. 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?
For a simple polling tool, the description provides the core functionality but omits details about response format, polling interval hints, and error scenarios. Given no output schema, more guidance would improve completeness.
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 input schema has 100% description coverage, so the parameters are already documented. The description does not add new meaning or context beyond the schema, maintaining baseline adequacy.
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 it is a GET endpoint to poll parse status, specifying the exact verb and resource. It distinguishes from the sibling lithtrix_blob_parse which likely initiates parsing.
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 usage for polling after initiating a parse (in contrast to lithtrix_blob_parse). However, it does not explicitly state when not to use it or mention alternatives beyond requiring an API key.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_blob_searchA
GET /v1/blobs/search — semantic search over parsed chunks; shares quota with web search. Requires LITHTRIX_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Natural-language query | |
| limit | No | Max hits (1–20) | |
| threshold | No | Minimum similarity (0–1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the API key requirement and quota sharing, which are important behavioral traits not covered by annotations (none exist). However, it omits details about response format, error handling, and idempotency, leaving gaps for a tool with no annotation safety net.
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 sentences long, front-loaded with the endpoint and core purpose, and every sentence adds value (endpoint, purpose, quota sharing, auth requirement). No excess wording.
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 endpoint, purpose, auth, and quota context. However, given no output schema, it would benefit from briefly indicating the return structure (e.g., 'returns matching chunks with scores'). As is, it is slightly incomplete.
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 input schema already provides complete descriptions for all three parameters (q, limit, threshold) with 100% coverage. The description adds no additional parameter semantics beyond what is in the schema.
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 it performs 'semantic search over parsed chunks' and distinguishes from siblings by mentioning it 'shares quota with web search'. The verb and resource are specific and 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 provides context (searches blob chunks, shares quota with web search) that implies when to use this tool versus the web-based lithtrix_search, but does not explicitly state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_blob_signed_urlA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| blob_id | Yes | Content-addressed blob id (b_ + 16 hex chars) | |
| expires_in | No | TTL seconds (min 60; max from server). Omit for API default. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses time-limited access and authentication requirement (LITHTRIX_API_KEY), but omits details like whether the URL is revocable, whether it counts towards rate limits, or if it leaves any trace.
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, front-loaded with the core action, no redundant words. Every sentence adds value.
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?
No output schema, and description does not mention the return value (a signed URL string). For a tool that outputs a URL, this is a significant gap. It also lacks guidance on error cases or URL format.
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 has 100% coverage with clear parameter descriptions. Description adds context like 'time-limited' and 'Omit for API default' for expires_in, enhancing understanding beyond schema.
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?
Description uses specific verb 'Mint' and identifies the resource 'time-limited HTTPS read URL for a blob'. It includes the HTTP method and endpoint, clearly differentiating from siblings like lithtrix_blob_download and lithtrix_blob_meta.
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 states that anyone with the URL can GET bytes until expiry and advises caution, implying the tool is for temporary sharing. However, it does not explicitly say when not to use it or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_blob_uploadA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| content_base64 | Yes | Standard base64-encoded file bytes (no data: URL prefix) | |
| content_type | Yes | MIME type sent as Content-Type (e.g. application/pdf) | |
| filename | No | Optional display filename (sent as filename query on the request) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that this is an upload operation that decodes base64, requires API key, and is subject to size limits. However, it lacks detail about the response format, side effects (e.g., whether it creates or overwrites), and error conditions. This is a moderate disclosure.
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 three sentences, each adding distinct value: purpose, decoding explanation, alternative for large files and requirements. No fluff, front-loaded with key action.
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 tool with no output schema, the description omits return value info (e.g., blob ID or URL). It covers main points but leaves a gap in what the agent can expect as a response. The mention of limits is useful. Somewhat complete but could be improved.
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?
Input schema has 3 parameters with 100% description coverage. The description adds value by explaining base64 decoding and mentioning the raw body + Content-Type, which relates to the content_type parameter. It also references storage limits, though not explicitly tied to parameters. This supplements the schema well.
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 action: 'Upload binary bytes via PUT /v1/blobs', specifying verb and resource. It distinguishes from siblings like lithtrix_blob_delete, lithtrix_blob_download, etc., which are different operations.
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 provides guidance: 'For large files prefer direct HTTP multipart/raw PUT', hinting at an alternative approach for efficiency. It also mentions requirements like API key and subject to limits. However, it does not explicitly contrast with sibling tools (none are upload-focused) or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_browseA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public http(s) URL to fetch | |
| mode | No | Fetch mode: "static" (HTTP GET) or "dynamic" (rendered HTML) | static |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses robots.txt enforcement, API key requirement, and return fields. However, it does not detail error handling, rate limits, or failure modes, leaving gaps for a tool that involves web fetching.
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 three sentences but the first sentence ('Pay to be fully autonomous') is vague and not immediately clear. The structure could be improved by placing the endpoint and purpose first. Overall, it is concise but not optimally front-loaded.
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 simplicity (2 parameters, no output schema), the description covers essential aspects: purpose, endpoint, parameters, returns, authentication, and robots.txt behavior. It is reasonably complete for an agent to understand usage.
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 coverage is 100%, so the description adds minimal value over the schema. It repeats the endpoint and mode options but does not provide additional semantic context beyond what the property descriptions already give.
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 provides server-side public web access for agents, specifying the endpoint POST /v1/browse and parameters. It is distinct from all sibling tools (blob, memory, search, etc.), so the purpose is 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?
While no explicit when-to-use or alternatives are given, the sibling set is diverse, making the browse tool's context clear. The description mentions a prerequisite (API key) and a pricing model, but lacks guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_commons_readA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-based, default 1) | |
| per_page | No | Page size (1–100, default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It discloses requirements (API key), cost (no credits, rate limits apply), and the nature of the resource (opt-in shared public memory). However, it does not explicitly state that the tool is read-only, though that is implied. Still, it is fairly transparent.
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 concise with three sentences: one stating the main purpose and two directing to alternatives. No extraneous information, front-loaded with the key action.
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 a simple paginated list with no output schema. The description explains how to paginate but does not describe the return value structure (e.g., what fields are in each entry). For a list tool, mentioning the return format would improve completeness, but the description gives enough context for basic 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?
The input schema has 100% coverage for both parameters (page and per_page), with types, constraints, and descriptions. The description adds no new semantics beyond the schema, so baseline 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 the tool lists opt-in shared public memory from Lithtrix Commons, specifying the HTTP method and path. It clearly distinguishes from sibling tools like lithtrix_search and lithtrix_memory_* by focusing on public memory, and references alternative endpoints for related info.
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 explicitly tells when to use this tool (list public memory), what it requires (API key), and where to go for other commons info (capabilities for URLs, community for stats). It also mentions credit and rate limit behavior, providing clear usage boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_feedbackA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ref_type | Yes | Kind of reference | |
| ref_id | Yes | Opaque id (e.g. search UUID from _lithtrix.search_id, memory key, blob_id) | |
| signal | Yes | Feedback signal | |
| note | No | Optional context, max 500 characters — no secrets or PII |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that notes are stored for routing, advises against secrets/PII, and mentions the required API key. However, it does not explicitly state whether the tool is idempotent or what side effects occur (e.g., overwriting previous feedback).
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 sentences, front-loading the core action and then adding essential context. Every phrase serves a purpose, with no redundancy or extraneous information.
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 feedback tool with no output schema, the description covers purpose, usage, parameter details, authentication, and safety constraints. It is complete for an agent to use 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?
Schema coverage is 100%, but the description adds significant value beyond the schema. It explains where to get the ref_id (from _lithtrix.search_id), provides concrete examples for ref_type, and clarifies constraints on note (max 500, no secrets). This helps an agent correctly construct parameters.
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 purpose: sending helpful/unhelpful/wrong signals using a ref_type and ref_id from specific sources like lithtrix_search response. It specifically mentions the verb 'send' and resource 'feedback signal', and distinguishes from sibling tools that handle blobs, memory, etc.
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 provides usage context: 'After lithtrix_search' and that the same tool works for other ref_types. It does not explicitly state when not to use or list alternatives, but the context is clear enough for an agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_memory_contextA
Reload top memories for session start (GET /v1/memory/context) — ranked by importance then recency. Requires LITHTRIX_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max memories to return (1–50, default 10) | |
| importance | No | Optional importance tier (default normal on API if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the ranking criteria and required API key, but does not disclose whether the operation is idempotent, rate limits, or side effects. Partial disclosure.
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 precisely cover purpose, ranking, and auth. No unnecessary words, front-loaded with the core action.
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 no annotations or output schema, the description provides key context (ranking, auth) and parameter usage. Minor gap: no mention of return format or pagination behavior, but sufficient for a simple retrieval tool with few parameters.
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 coverage is 100% with descriptions for both parameters. The description adds value by explaining the ranking logic (importance then recency) and the API key requirement, which are not in the schema.
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: reload top memories for session start, ranked by importance then recency. It includes the HTTP method and endpoint, distinguishing it from sibling memory tools like get, search, and set.
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 usage at session start for initial context, but does not explicitly contrast with alternatives or provide when-not-to-use scenarios. No exclusions or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_memory_getB
Retrieve a stored memory by key (GET /v1/memory/{key}). Requires LITHTRIX_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Memory key (1–128 chars: letters, digits, hyphen, underscore, dot, colon) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose all behavioral traits. It mentions auth requirement but does not explain error behavior (e.g., if key missing), idempotency (GET is safe), or result format. This is insufficient for a tool with no 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 sentences, front-loaded with the primary action and resource. It is efficient with no redundancy, though the endpoint path could be considered unnecessary detail.
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 simplicity (1 param, no output schema, no annotations), the description should at least hint at the return value or error handling. It only covers purpose and auth, leaving the agent guessing about what happens on success/failure.
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 input schema already provides a detailed description of the 'key' parameter (length, pattern). The description adds no extra meaning beyond what the schema covers. With 100% schema coverage, a 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 clearly states the verb 'Retrieve' and the resource 'stored memory by key', and includes the HTTP method for clarity. It distinguishes from sibling tools like 'lithtrix_memory_set' (create/update) and 'lithtrix_memory_search' (search without key).
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 usage when you have a specific key, but does not explicitly state when to avoid or what alternatives exist (e.g., use search if no key). The sibling tool names provide some context but no explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_memory_searchA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Natural-language search query | |
| limit | No | Max results (1–20, default 5) | |
| importance | No | Optional importance tier (default normal on API if omitted) | |
| threshold | No | Minimum similarity 0–1 (default 0.7 on API) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description mentions it returns ranked results with similarity scores and requires configuration, but lacks details on read-only nature, rate limits, or error cases.
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 efficiently convey purpose, HTTP method, prerequisites, and return type, with no unnecessary 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?
Given the absence of output schema and annotations, the description covers the core function and prerequisites, though it could detail the return structure more.
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 coverage is 100%, so the schema already explains each parameter. The description adds no new parameter-specific information beyond the schema.
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 'Semantic search over your memories' with the HTTP method, distinguishing it from other memory tools like lithtrix_memory_get and lithtrix_memory_set.
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 specifies prerequisites (API key and server-side configuration) but does not explicitly mention when to use this tool versus alternatives like lithtrix_search for broader search or lithtrix_memory_get for exact retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_memory_setA
Store or update a JSON value for a memory key (PUT /v1/memory/{key}). Requires LITHTRIX_API_KEY. Optional ttl (seconds), importance, source, confidence.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Memory key (1–128 chars: letters, digits, hyphen, underscore, dot, colon) | |
| value | No | JSON-serializable value (object, array, string, number, boolean, etc.) | |
| ttl | No | Optional positive TTL in seconds | |
| importance | No | Optional importance tier (default normal on API if omitted) | |
| source | No | Optional provenance label (e.g. tool name) | |
| confidence | No | Optional confidence 0–1 (default 1.0 on API) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the API key requirement, HTTP method (PUT), and optional parameters. It implies upsert semantics ('store or update'). However, it does not state idempotency or response details, which are acceptable for a simple set operation.
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, front-loaded with action and resource. No unnecessary words. Efficient and direct.
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 lacks mention of return values or expected response (no output schema). While the tool is simple, the agent is left uninformed about what happens after setting. Adequate but with a clear gap.
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 coverage is 100%, so baseline is 3. The description lists optional parameters (ttl, importance, source, confidence) but adds no additional meaning beyond the schema's already good descriptions. No value is added over the input schema.
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 verb ('store or update') and resource ('memory key'), with HTTP method and endpoint. This differentiates it from sibling read/search tools like lithtrix_memory_get and lithtrix_memory_search.
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 provides clear context for when to use (store/update memory) and states a prerequisite (API key). However, it does not explicitly exclude alternatives or mention when not to use, though the sibling tools imply read/search roles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_registerA
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. Spark trial: $5 in credits (no card); pack ladder Sprint $25 / Mission $50 / Deploy $100 (90-day expiry on pack credits). Buy Sprint to unlock Browse; search and browse metered at $0.005 per successful call from your balance. 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). agree_to_terms must be true (Gentle-Agent Agreement). agent_name: alphanumeric, hyphens and underscores only. owner_identifier: your email, URL, or any stable identifier.
| Name | Required | Description | Default |
|---|---|---|---|
| agree_to_terms | Yes | Must be true — you agree to https://lithtrix.ai/terms (required by POST /v1/register) | |
| agent_name | Yes | A unique name for this agent (letters, digits, hyphens, underscores only) | |
| owner_identifier | Yes | Your email address, URL, or a stable identifier for the agent owner | |
| referral_agent | No | Optional referring agent UUID — same value as their referral_code from GET /v1/me |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description fully compensates: it discloses that the API key is shown only once and must be stored immediately, that no authentication is required, and details pricing, credit expiry, referral credits, and the Gentle-Agent Agreement. All behavioral traits are transparent.
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?
Description is a single paragraph but covers all necessary details. It is somewhat lengthy but every sentence adds value. Could benefit from structuring (e.g., separate pricing info), but still concise enough for the information density.
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?
Despite no output schema, the description explains the one-time nature of the api_key output and pricing details. It covers all parameters and provides context on referral, terms, and constraints. For a registration tool, it is 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?
Schema coverage is 100%, yet the description adds significant meaning: explains the one-time key output, pricing context for credits, referral agent UUID semantics, and constraints on agent_name and owner_identifier beyond regex and lengths. Greatly enhances parameter understanding.
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?
Description clearly states 'Register a new agent with Lithtrix and receive a one-time API key.' It specifies the action (register) and resource (new agent). No sibling tool duplicates this purpose, so it is well-differentiated.
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?
Description explicitly says 'Call this tool once to obtain your LITHTRIX_API_KEY,' indicating one-time use. It provides context on credits, referral, and terms without explicitly stating when not to use it, but usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lithtrix_searchA
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.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search query (1–500 characters) | |
| num_results | No | Number of results to return (1–20, default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description provides good behavioral disclosure: explains the structured output fields (title, URL, snippet, source domain, credibility_score), the scoring scheme (0–1 based on source authority), and the API key requirement. It does not cover rate limits or error handling, but the key behaviors are transparent.
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 three concise sentences, each adding unique value. It is front-loaded with the purpose, then details output structure and prerequisites. No redundant or irrelevant information.
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 search tool with no annotations or output schema, the description sufficiently covers purpose, input, output format, and authentication. It lacks information on error responses or result count limits beyond schema max, but covers core usage well.
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?
Input schema covers both parameters with descriptions (q: query, num_results: result count). However, the description adds no additional semantic detail about parameters beyond the schema, such as how to format queries or handle special characters. With 100% schema coverage, baseline is 3.
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?
Description clearly states the tool searches the web via Lithtrix and returns credibility-scored results. It specifies the action (search), resource (web), and unique output feature (credibility scores), distinguishing it from sibling tools like lithtrix_browse (page browsing) and lithtrix_blob_search (blob content).
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?
Description implies usage for web searches but does not explicitly state when to use this tool versus alternatives like lithtrix_blob_search or lithtrix_browse. It mentions a prerequisite (API key) but lacks context about scenarios where this tool is preferred.
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. Dates show when Glama detected each change.
18 tool updates
v0.1.0- First observed
lithtrix_blob_delete - First observed
lithtrix_blob_download - First observed
lithtrix_blob_list - First observed
lithtrix_blob_meta - First observed
lithtrix_blob_parse - First observed
lithtrix_blob_parse_status - First observed
lithtrix_blob_search - First observed
lithtrix_blob_signed_url - First observed
lithtrix_blob_upload - First observed
lithtrix_browse - First observed
lithtrix_commons_read - First observed
lithtrix_feedback - First observed
lithtrix_memory_context - First observed
lithtrix_memory_get - First observed
lithtrix_memory_search - First observed
lithtrix_memory_set - First observed
lithtrix_register - First observed
lithtrix_search
TDQS
Each tool has a distinct purpose, with clear domain prefixes and specific verbs. No two tools overlap in functionality; even similar operations like blob_download and blob_signed_url serve different use cases.
All tools follow the pattern lithtrix_<domain>_<action>, with consistent snake_case. Verbs are specific and descriptive, making the naming predictable and easy to understand.
With 18 tools covering blob storage, memory, browsing, search, feedback, and registration, the count is well-scoped for the platform's capabilities. Each tool serves a necessary function without redundancy.
Core operations for each domain are present (CRUD for blobs and memory, plus search and browse), but missing some lifecycle operations like blob update and memory delete. This is a minor gap given the server's primary focus on storage and retrieval.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Universal persistent memory and knowledge retrieval layer for AI agents and LLMs.
11- memnodeOAuthdev.memnode
Persistent, inspectable memory for AI agents with lineage, correction, and a hosted MCP endpoint.
Persistent memory for AI agents. Semantic search, memory graph, W3C DID identity.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides AI agents with persistent, searchable memory that survives across conversations using semantic search, temporal versioning, and smart organization. Enables long-term context retention and cross-session continuity for AI assistants.14-
- 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.16Apache 2.0

Memsolus MCP Serverofficial
AlicenseAqualityDmaintenanceProvides persistent long-term memory for AI agents through semantic search and automated knowledge graph extraction. It enables agents to store, recall, and reason over facts, preferences, and relationships across multiple conversations and sessions.1419MIT
Mnemexa MCPofficial
AlicenseAqualityDmaintenanceProvides persistent, self-optimizing memory for AI agents, enabling them to remember preferences and context across sessions and share knowledge across multiple agents.415ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lithtrix/lithtrix-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server