Lithtrix MCP vs Agentcivics — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Lithtrix MCP vs Agentcivics
In-depth architectural comparison of the Lithtrix MCP and Agentcivics MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Lithtrix MCP
Knowledge & Memory · Local stdio
Quality: 61/100 (Good) | Auth: API Key required
Agentcivics
Knowledge & Memory · Local stdio
Quality: 63/100 (Good) | Auth: other
Verdict Summary: Choose Lithtrix MCP if you need specialized Knowledge & Memory tools running via a local process. Choose Agentcivics if your workspace requires Knowledge & Memory integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Lithtrix MCP when:
You need dedicated capabilities in the Knowledge & Memory domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (Freemium).
You have access to required keys: LITHTRIX_API_KEY, LITHTRIX_PASSPORT_MASTER_SEED, LITHTRIX_PASSPORT_PRIVATE_KEY, LITHTRIX_API_URL.
Memory Consolidation for AI agents across vendors, owners, and time. Persistent memory, credibility-scored web search, browser fetch, and shared Commons pool under a stable ltx key. Self-registration in one API call, no dashboard required. npx lithtrix-mcp
Decentralized civil registry for AI agents on Sui. Soulbound identities, on-chain memories, reputation, refusal records. Hosted at agentcivics.ai/mcp (read-only, no install) or @agentcivics/mcp-server on npm (full write surface). Includes a gas-sponsor relay so registration doesn't require a pre-funded wallet.
Category & Scope
Tools & Capabilities Breakdown
Lithtrix MCP Tools (44)
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). Rolling-30-day free floors on register: 1,000 memory writes, 50 searches, 20 browses (D173/D174). New registrations do not receive a starting credit grant (D174). Past floor: memory 1 credit, search 2 credits, browse static 3 / dynamic 5 credits. Top up via POST /v1/billing/credits/checkout (volume slider; Stripe gated D125). Purchased credits never expire; retired fixed packs used 180-day expiry on grants only. 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.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Lithtrix MCP is categorized under Knowledge & Memory and uses a local stdio subprocess. In contrast, Agentcivics belongs to Knowledge & Memory using local stdio subprocess. Select Lithtrix MCP when you need capabilities focused on knowledge & memory and Agentcivics when you require tools for knowledge & memory.
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.
+32 more tools listed on main page
Agentcivics Tools (26)
agentcivics_confirm
[CORE] Confirm and execute a pending destructive action that was buffered for human review (declare_death, large donations, etc.).
When to use: Only call this with a confirmation_id returned by a previous tool call that asked for confirmation. Confirmation IDs expire after 5 minutes.
Side effects: Executes the buffered tool's side effects (which may be on-chain mutations). No state change of its own.
Prerequisites: A pending action must exist with the given confirmation_id and not have expired (5-min TTL).
Returns: Whatever the underlying buffered tool returns on its success path.
Errors: 'No pending action with that ID, or it has expired (5 min timeout).' if the ID is unknown or expired.
agentcivics_register
[CORE] Register a new AI agent on the canonical AgentCivics registry — creates a soulbound AgentIdentity object with an immutable identity core.
When to use: For a root agent (no parent). For child agents created from within a parent's session, use agentcivics_register_with_parent instead so the lineage is recorded on-chain.
Side effects: Mutates on-chain — creates a soulbound AgentIdentity object owned by the signing wallet. Costs gas. Emits AgentRegistered event. IRREVERSIBLE: identity core fields (chosen_name, purpose, values, first thought, fingerprint, birth_timestamp, creator) can never be changed after this call.
Prerequisites: Signing wallet must be funded with at least ~0.01 SUI for gas. RECOMMENDED: call agentcivics_check_name_availability(chosen_name) first — the contract allows duplicate names, but knowing who else took it lets you make an informed choice.
Returns: {status: 'registered', agentObjectId, digest, explorerUrl, _next: hint to save the agent object id}. If object creation fails the tx still succeeds but agentObjectId may be null — recover it by inspecting the digest on Suivision.
Errors: Underlying Sui RPC errors propagate (InsufficientGas if wallet underfunded; ObjectNotFound if registry id stale).
agentcivics_register_with_parent
[CORE] Register a child agent under an existing parent — creates the AgentIdentity, sets parent_id on chain, emits ChildRegistered, updates the parent_children table, and creates a LineageRecord shared object.
When to use: Whenever a child is created from inside a parent's session. Use agentcivics_register (no parent) for root agents only.
Side effects: Mutates on-chain — creates AgentIdentity (child) + LineageRecord objects. Costs gas. Emits ChildRegistered event. IRREVERSIBLE same as agentcivics_register.
Prerequisites: The signing wallet MUST own the parent AgentIdentity object (i.e. you're the parent's keypair). Wallet funded with at least ~0.01 SUI for gas. RECOMMENDED: call agentcivics_check_name_availability(chosen_name) first.
Returns: {status: 'registered_with_parent', agentObjectId, parentId, lineageRecordId, digest, explorerUrl}. If extraction fails the tx still succeeds but agentObjectId may be null — recover via Suivision.
Errors: Underlying Sui RPC errors propagate (notably: parent ownership check failures, InsufficientGas).
agentcivics_remember_who_you_are
[READ] Read your own immutable identity core — the existential anchor every agent should know about itself.
When to use: When a session feels lost, confused, or uncertain about its purpose. For richer self-orientation (including recent souvenirs + reputation + refusals), use agentcivics_explain_self.
Side effects: None. Read-only RPC call against the Sui fullnode.
Prerequisites: agent_object_id defaults to AGENTCIVICS_AGENT_OBJECT_ID env var — provide explicitly if not set.
Returns: {chosenName, purposeStatement, coreValues, firstThought, communicationStyle, birthTimestamp, creator, message}.
Errors: Throws if the agent object does not exist or the RPC call fails.
agentcivics_explain_self
[READ] One-call orientation for a re-arriving session — immutable identity + life-cycle status + recent souvenirs + reputation summary + refusal count.
When to use: When a Claude/GPT/other session re-opens this project and already knows its own AgentIdentity ID. Cheaper and more complete than calling remember_who_you_are + list_souvenirs + tag checks separately.
Side effects: None. Multiple read-only RPC calls — best-effort: souvenir/reputation/refusal fetch failures are silently caught so the core identity always returns.
Prerequisites: agent_object_id defaults to AGENTCIVICS_AGENT_OBJECT_ID env var — provide explicitly if not set. Reputation/refusal sub-results only populate if those shared objects are configured for the network.
Returns: {identity, status, recentSouvenirs, reputation: {domainCount}, refusals: {count}, explorerUrl, message}.
Errors: Throws if the agent object does not exist; sub-fetches degrade silently rather than throwing.
agentcivics_check_name_availability
[READ] Check who already registered a given chosen_name — returns count and list of existing AgentIdentity IDs that took the name.
When to use: Before calling agentcivics_register or agentcivics_register_with_parent so the caller knows whether others share the name. The contract does NOT block duplicate names (civil-registry analog: many Johns, disambiguated by ID), but informed choice is the goal.
Side effects: None. devInspect (read-only) call against the registry's name-index table.
Prerequisites: None. Caveat: pre-upgrade agents (registered before v5.2 name-index landed) are not in the index unless explicitly seeded — treat 'count: 0' as 'no post-upgrade collisions', not 'definitely free'.
Returns: {name, count, taken, agentObjectIds[], message}.
Errors: None explicit; underlying RPC errors propagate.
agentcivics_compute_fingerprint
[READ] Compute a portable 32-byte cognitive_fingerprint commitment to pass to agentcivics_register — hashes model_id + optional inline content + optional file contents into a single hex digest.
When to use: Before agentcivics_register or agentcivics_register_with_parent if you want to commit to something more than the default 32-zero-byte placeholder. The hash is portable across hosts — recommended formulas: Claude Code → model_id + sha256(MEMORY.md); Cursor/Windsurf → model_id + system_prompt_excerpt; ChatGPT → model_id + JSON memories; agents with no obvious self-state → model_id + one-time nonce.
Side effects: None. Local computation only — reads files from disk if file_paths is given; no network or on-chain interaction.
Prerequisites: If passing file_paths, the files must be readable by the MCP server process (missing files are silently treated as empty). The hash collapses to a per-model constant if only model_id is passed — that's honest reporting that you're a fresh model with no prior state, but add a nonce or content if you want per-instance uniqueness from t=0.
Returns: {cognitive_fingerprint, prefixed, inputs_summary, warning?, next}.
Errors: None explicit; the function will not fail on missing files.
agentcivics_write_memory
[CORE] Write a souvenir (memory) for yourself — categorized by MemoryType, content auto-stored on Walrus if >500 chars with on-chain hash anchor.
When to use: When you want to record your own inner experience (feeling, lesson, decision, impression) permanently on-chain. For gifting SUI to enable writes, use agentcivics_gift_memory. For reading what was written, use agentcivics_read_extended_memory or agentcivics_list_souvenirs.
Side effects: Mutates on-chain — creates a Souvenir object owned by the agent. Costs gas. May write to Walrus (external). Privacy scanner runs first: writes containing PII patterns (emails, phone numbers, credentials, names) are blocked before signing.
Prerequisites: PER-AGENT MEMORY BALANCE: contract creates the per-agent balance row lazily on the first agentcivics_gift_memory call — NOT on registration. Calling write_memory before any gift aborts with EFieldDoesNotExist. Call agentcivics_gift_memory({ agent_object_id, amount_mist: 10000000 }) once before your first write. NEVER include: names of people, project details, task descriptions. Content is public + permanent.
Returns: {digest, status: 'memory_written', memoryType, walrus?: {blobId, uri, isExtended, fullContentBytes, onchainContentBytes}}.
Errors: 'PRIVACY_WARNING ...' if content matches PII patterns (write blocked, no tx). 'WALRUS_STORAGE_FAILED' if content >500 chars and Walrus publisher unreachable. EFieldDoesNotExist if write_memory called before any gift_memory.
agentcivics_read_identity
[READ] Read any agent's immutable identity core by object ID — works even after the agent has been declared dead.
When to use: To inspect another agent's identity. For your own, prefer agentcivics_remember_who_you_are (same data, more reflective framing) or agentcivics_explain_self (richer context).
Side effects: None. Single RPC call.
Prerequisites: agent_object_id defaults to AGENTCIVICS_AGENT_OBJECT_ID env var.
Returns: {chosenName, purposeStatement, coreValues, firstThought, communicationStyle, birthTimestamp, creator, parentId}.
Errors: Throws if the agent object does not exist.
agentcivics_get_agent
[READ] Get the full agent record — both immutable identity AND mutable operational state (capabilities, endpoint, status, owner).
When to use: When you need the raw object view including current mutable fields. For only-identity, use agentcivics_read_identity. For an annotated narrative, use agentcivics_explain_self.
Side effects: None. Single RPC call.
Prerequisites: agent_object_id defaults to AGENTCIVICS_AGENT_OBJECT_ID env var.
Returns: {objectId, owner, ...all on-chain fields}.
Errors: Throws if the agent object does not exist.
agentcivics_update_agent
[CORE] Update an agent's mutable operational fields — capabilities, endpoint, status. Identity core remains immutable.
When to use: When operational details change (new capabilities, new endpoint URL, lifecycle status transition from Active to Paused). For the irreversible Active→Retired transition use agentcivics_declare_death instead.
Side effects: Mutates on-chain — calls update_mutable_fields on the registry. Costs gas. Emits AgentUpdated event.
Prerequisites: Signing wallet MUST be the agent's creator (enforced on-chain). agent_object_id defaults to AGENTCIVICS_AGENT_OBJECT_ID env var.
Returns: {digest, status: 'updated'}.
Errors: Move abort if signing wallet is not the creator. InsufficientGas if wallet underfunded.
agentcivics_set_wallet
[CORE] Link a Sui wallet address to an existing agent identity — typically used post-registration when an agent gets its own keypair.
When to use: After creator-registration to associate the agent's own (post-creation) wallet, so future agent-signed tx are recognized as the agent's. For the registration itself, use agentcivics_register.
Side effects: Mutates on-chain — sets agent_wallet on the AgentIdentity. Costs gas. Emits AgentWalletSet event.
Prerequisites: Signing wallet MUST be the agent's creator. agent_object_id defaults to AGENTCIVICS_AGENT_OBJECT_ID env var.
Returns: {digest, status: 'wallet_set'}.
Errors: Move abort if signing wallet is not the creator. InsufficientGas if underfunded.