Moltline Recall
A portable knowledge-graph memory you pass in and get back. No database. 4 of 6 free.
Connect it
Settings → Connectors → Add custom connector
URL: https://mcp.moltlinestudio.com/recallSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://mcp.moltlinestudio.com/recall{
"mcpServers": {
"recall": {
"url": "https://mcp.moltlinestudio.com/recall"
}
}
}claude mcp add --transport http recall https://mcp.moltlinestudio.com/recall{
"servers": {
"recall": {
"type": "http",
"url": "https://mcp.moltlinestudio.com/recall"
}
}
}6 tools, verified live
graph_upsertread-onlyFold 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
graph_searchread-onlyFind 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 {
graph_diffread-onlySay 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 lea
graph_lintread-onlyFind 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"
graph_at_timeread-onlySee 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_compactread-onlyShrink 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", ..
Alternatives in Databases & Data
Compare →
SlickText MCP by usefulapiB
Read SlickText contacts, lists, campaigns, analytics and inbox; create and update contacts.
Portkey MCP by usefulapiB
Read AI-gateway analytics, configs, virtual keys, workspaces and users; log request feedback.
Plausible MCP by usefulapiB
Query site stats, realtime visitors, breakdowns and goals from Plausible Analytics.
Knack MCP by usefulapiB
Read, create, update and delete records; inspect objects, fields and schema in your Knack database.
Dub MCP by usefulapiB
Short links with click, lead and sale analytics, customers, tags and the partner programme.
ZEZernioB
Schedule, publish, and analyze social media across 15+ platforms, plus inbox, ads, and analytics.