mcpbeat Sign in

Moltline Recall MCP Server

answering

Moltline Recall is answering right now. Last checked 12 min ago. It exposes 6 tools.

A portable knowledge-graph memory you pass in and get back. No database. 4 of 6 free.

Uptime history 12 days of history · worst day 98%
12 days agonow
98.9%
Uptime 24h
90 of 91 checks
6
Tools
read from the server
322 ms
Response time
average over 24h
open, no key
Access
streamable-http

Moltline Recall does not always answer

Over the last week it answered 99.8% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 12 min ago.

run in your terminal
claude mcp add recall --transport http https://mcp.moltlinestudio.com/recall
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "recall": {
      "url": "https://mcp.moltlinestudio.com/recall"
    }
  }
}
~/.codex/config.toml
[mcp_servers.recall]
url = "https://mcp.moltlinestudio.com/recall"
.cursor/mcp.json
{
  "mcpServers": {
    "recall": {
      "url": "https://mcp.moltlinestudio.com/recall"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "recall": {
      "url": "https://mcp.moltlinestudio.com/recall"
    }
  }
}

Available tools 6

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

graph
graph_at_time
See the memory as it stood on a given day, optionally faded by age. PREMIUM (license). Relations carrying since and until are filtered to those in force on the date; with a half-life, confidence decays exponentially with age so a two-year-old belief does not weigh the same as last week's. Typical input {"graph": {...}, "as_of": "2026-06-01", "half_life_days": 180} returns {"as_of": "2026-06-01", "graph": {...}, "dropped": {"not_yet": 1, "expired": 2}, "decayed": 4}. Use when the answer depends on when you ask. Not for what changed between two points - that is graph_diff, which does not need dates at all. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "as_of must be a date like 2026-06-01"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
graph_compact
Shrink a memory to the part that still earns its place. PREMIUM (license). Ranks entities by how connected they are and how much is recorded about them, keeps anything you name outright, and drops the rest along with the relations that pointed at them. Typical input {"graph": {...}, "max_entities": 50, "keep": ["Acme Corp"]} returns {"graph": {...}, "kept": 50, "dropped_entities": ["Old Note", ...], "dropped_relations": 12, "ranking": "degree, then observation count, then name"}. Use when a graph has outgrown the context you can spend on it. Not for removing wrong facts - graph_lint finds those, and deleting them is a decision you should make deliberately rather than by ranking. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
graph_diff
Say exactly what changed between two versions of a memory. FREE. The audit trail a database gives you for free, without the database. Typical input {"before": {...}, "after": {...}} returns {"entities_added": ["Beta Ltd"], "entities_removed": [], "observations_added": {"Acme Corp": ["renewed in March"]}, "relations_added": [...], "changed": true}. Use after an upsert to record what a session learned, or between two agents to see what one knows that the other does not. Not for merging the two - feed the differences back through graph_upsert for that. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
graph_lint
Find the breaks a memory graph accumulates as it grows. FREE. Relations pointing at entities that do not exist, entities nothing points at, near-duplicate names, and observations that contradict each other on the same entity. Typical input {"graph": {...}} returns {"ok": false, "dangling_relations": [{"from": "Acme Corp", "to": "Beta Ltd", "missing": ["Beta Ltd"]}], "orphan_entities": ["Old Note"], "near_duplicates": [["Acme Corp", "Acme Corp."]], "contradictions": []}. Use before trusting a graph you did not build, or on a schedule as memory grows. Not for comparing two graphs (graph_diff) and not for shrinking one (graph_compact). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
graph_search
Find what the graph knows about something, plus its neighbourhood. FREE. Scores entities by how many query words appear in the name, type and observations, then pulls in whatever is within the requested number of hops - because the useful answer to "what do we know about Acme" is usually Acme plus who it is connected to. Typical input {"graph": {...}, "query": "acme renewal", "hops": 1} returns {"matches": [{"name": "Acme Corp", "score": 3, "why": ["name", "observation"]}], "neighbourhood": {"entities": [...], "relations": [...]}, "hops": 1}. Use to read memory back before answering. Not for writing (graph_upsert) and not for narrowing by date, which graph_at_time does. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "query must contain at least one word or number"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
graph_upsert
Fold new facts into a memory graph and get the whole graph back. FREE. Idempotent by construction: re-adding the same entity, observation or relation changes nothing, so an agent that replays its own history does not end up with a graph full of duplicates. Typical input {"graph": {"entities": [], "relations": []}, "entities": [{"name": "Acme Corp", "type": "company", "observations": ["renewed in March"]}]} returns {"graph": {...}, "added": {"entities": 1, "observations": 1, "relations": 0}, "merged": 0}. Use as the single write path for memory. Not for reading it back selectively - that is graph_search - and not for finding out what a write changed, which graph_diff answers precisely. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "graph exceeds <value> entities; split it"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Endpoints

URLTransportStateLatencyChecked
https://mcp.moltlinestudio.com/recall streamable-http answering 202 ms 12 min ago

Alternatives to Moltline Recall

same job, measured the same way
MADB — Agent Memory Database
by spshkar84

Durable causal memory for AI agents — semantic recall, causal lineage, and skills. Local-first.

1 758 installs/wk local only
Agent Memory MCP
by xultrax-web

Markdown memory for AI agents. Files you can read, edit, grep, and commit. Not a database.

118 installs/wk local only
TeamMemory
by ysydhc

Team experience database - let AI accumulate, retrieve and apply team knowledge across chats.

66 installs/wk local only
Gdelt
by pipeworx-io

GDELT MCP — Global Database of Events, Language, and Tone (free, no auth)

35 tools answering
Local Memory
by studiomeyer-io

Persistent local AI memory. SQLite + FTS5 + vector search, knowledge graph. No cloud, no API keys.

117 installs/wk local only
Krimto
by krimto-labs

Memory for AI coding agents — markdown in your own git, not a vendor database. Apache-2.0.

84 installs/wk local only
Syncro MCP
by servosity

Every Syncro PSA and RMM workflow in your terminal, plus a local database, offline search, and

local only
Alphafold Sovereign MCP
by smaniches

MCP server for AlphaFold and 8 other biomedical data sources with a local SQLite knowledge graph

429 installs/wk local only

Moltline Recall — questions

Answers built from our own checks of this server.

What can Moltline Recall do?
It exposes 6 tools, read directly from the server on our last check. Among them: graph_at_time, graph_compact, graph_diff, graph_lint, graph_search, graph_upsert. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Moltline Recall working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 90 of 91 checks got a reply (98.9%), average response time 322 ms. The bar chart above shows every period we have measured.
How do I connect Moltline Recall?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Moltline Recall need an API key?
No. Moltline Recall completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 6 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Moltline Recall?
It answers our handshake in 322 ms on average, which is faster than 54% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.