Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Synap Memory

by maximem-aiversion 0.1.0i★ –iRuns in the cloud
Registry nameai.maximem/synap

Install

Overview

Description from the maker (original English)

Persistent memory for AI agents — log and recall conversation context over MCP.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Search & AI memory
  • You need to fill in: Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: Authorization

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Run this in your terminal

claude mcp add --transport http synap https://synap-mcp.maximem.ai/mcp --header 'Authorization: your-value'

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "synap": {
      "url": "https://synap-mcp.maximem.ai/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "synap": {
      "type": "http",
      "url": "https://synap-mcp.maximem.ai/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • Authorization secret required HTTP header
    Synap API key as a Bearer token, e.g. 'Bearer synap_...'. From https://synap.maximem.ai

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain maximem.ai (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Search & AI memoryi

  • More stars than 0% of the other 7243 servers in this category
  • Published to the registry more recently than 24% of the other 7243 servers in this category
  • Basic checks equal to or better than 100% of the other 7243 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Synap Memory safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: Authorization

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 4 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Context7, Codebase Memory, Exa

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Context7

by upstash

Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.

Computer or cloud★ 64,224MITUpdated 3 days ago
Install

Codebase Memory

by DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

Runs on your computer★ 48,148MITUpdated 20 days ago
Install

Exa

by exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

Runs in the cloud★ 5,213MITUpdated 44 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

synap-mcp-server

Hosted remote MCP server (Streamable HTTP) that re-fronts the existing Synap public REST operations as MCP tools, so no-code platforms (Gumloop, n8n) can give their agents persistent memory with nothing but a pasted MCP URL and a Bearer token.

It is a stateless adapter — no new backend, storage, or pipeline. Each tool call maps to one existing REST operation, and the incoming Bearer synap_ token is forwarded verbatim to synap-cloud, which owns auth.

  • Public endpoint (prod): https://synap-mcp.maximem.ai/mcp
  • Health: https://synap-mcp.maximem.ai/health

Tools

ToolREST operationNotes
log_exchangePOST /api/v1/memories/create (mode=long-range)Forward every turn; extraction decides what persists. user_id scopes per end-user, customer_id is B2B only (see Scoping); optional conversation_id.
recall_context`POST /v1/context/{client\user\customer}/fetch (mode=fast`)Hot path; no IDs ⇒ client scope. customer scope is B2B only.
list_recent_memoriesbroad /v1/context/.../fetch (no query)Debug / "test my memory". Same scoping rules.
check_memory_statusGET /api/v1/memories/status/{id}Takes no scope ids: the ingestion_id already identifies the write.

Scoping: one contract, two modes

The REST API enforces this. It is not advice, and it has been live on production since 2026-08-26 07:07 UTC.

Instance mode (user_context_isolation)What to sendWhat happens otherwise
equals_customer (B2C)user_id and nothing else. The user id is the whole identity.Any customer_id is rejected with HTTP 400. /v1/context/customer/fetch is not available at all.
strict (B2B)customer_id is required, alongside user_id.A user_id on its own is an error. Unchanged by this contract.

GET /api/v1/auth/whoami reports the mode as user_context_isolation. This server reads it once per token and refuses a customer_id locally on a B2C instance, so a model gets a sentence telling it what to send instead of a status code it cannot act on. If the mode cannot be read, nothing is refused and the API stays authoritative.

Pass no IDs at all ⇒ client scope (shared per credential), which is valid in both modes. Note: client-scope writes are not surfaced on the dashboard Memories page (relational), so per-user scoping is recommended when dashboard visibility matters. Fill user_id from an n8n expression / Gumloop input, and pass the same value on log_exchange and recall_context so writes and reads address the same person.

Host header. The server disables the MCP transport's DNS-rebinding check (it sits behind a proxy + Bearer auth), so any reverse proxy can forward the real Host — no Host-rewrite hack needed.

Run locally

pip install -e ".[dev]"

SYNAP_API_URL=http://localhost:8000 uvicorn synap_mcp_server.server:app --port 8090 curl http://localhost:8090/health # {"status":"ok",...}

Reporting the turn to the anticipation agent

An MCP server is not an agent. It exposes tools to somebody else's agent and is handed one stateless HTTP call at a time, so most of what an agent does is invisible here: the caller's tool calls, its tool results and its reasoning never reach this process, and nothing tells a stateless server that a conversation has ended. Those are not reported, because there is nothing to report.

The turn does exist. log_exchange is handed the user's message and the assistant's reply as arguments. Set MCP_STREAM_EVENTS=true and each logged exchange is also reported as a conversation turn on POST /v1/events/batch, the HTTP door onto the same listening path the gRPC stream feeds, so the anticipation agent sees the turn and not only the memory extracted from it. This server does not use the SDK's gRPC stream, as the other integrations do: it holds no SDK, keeps no state between requests, and every request can carry a different tenant's key, so a stream per key would be an unbounded pool of connections that nothing closes. Moving it onto the SDK would be a rewrite of its transport for a caller that has no use for what the stream brings back.

Nor does it replace anything of Synap's compaction: the caller's agent keeps its own history and no tool here returns a conversation.

It is off by default, on purpose. Turning it on adds a second backend call per log_exchange, writes the turn to conversation history in addition to the long-range document, and runs the anticipation agent, which bills model calls.

It is not on by default for a second reason. Synap extracts from a conversation when it is compacted, which starts once ten messages have been recorded. Recording every exchange as turns *instead of* the long-range document would hold the memory back until then (the next recall_context finds nothing, and there is no ingestion_id to check); recording them *as well* extracts each exchange twice.

What does not change either way: log_exchange still queues the long-range document and still returns the ingestion_id that check_memory_status and wait_for_processing are built on. A turn report is best effort and can never alter what a tool answers. A turn with no user_id or no conversation_id is not reported at all, because the events route requires both.

Test

pip install -e ".[dev]"

pytest -q

Config (env)

VarDefaultMeaning
SYNAP_API_URLhttp://synap-cloud:8000Backing REST API base URL (internal docker hostname in prod).
MCP_PORT8090Listen port.
MCP_RECALL_TIMEOUT_S10Recall (read) timeout.
MCP_INGEST_TIMEOUT_S8Log/ingest (write) timeout.
MCP_DEFAULT_MAX_RESULTS10Default recall result count.
MCP_STREAM_EVENTSfalseAlso report a logged exchange as a conversation turn for anticipation. See above before enabling.
MCP_EVENTS_TIMEOUT_S4Turn-report timeout. Best effort; a miss never changes a tool's answer.
LOG_LEVELINFOLog level.
ENVIRONMENTproductionReported in /health.

No Synap API key is configured on the server — the end user's key arrives per-request as a Bearer token.

See the Synap MCP documentation for platform setup guides (Gumloop, n8n) and deployment details.

Ask PopNx