Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.
PopNx MCPMCP servers for people who use AI · explained in plain words

Zenod

by zenod-aiversion 1.0.0i★ 2 (Stars for the whole repo)iRuns in the cloud
Registry nameio.github.zenod-ai/zenod

How to install

What it does

Keeps your memory: WhatsApp, voice or any AI tool over MCP, Markdown you own, recall with sources

  • Connects Runs in the cloud
  • Account or key Sign in to the service when you connect (OAuth)
  • Category Chat & email

Install

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

Passed 5/5 checks · What you ask goes through the maker’s server (cloud.zenod.dev)

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 2 min

No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it

  1. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  2. Click “+ Add” → “Add custom connector” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · NameZenod
    Remote MCP server URL · Addresshttps://cloud.zenod.dev/mcp

    Leave Authentication as Claude detected it, then click Add

  3. Turn it on in a chat

    +ConnectorsZenod

  4. Try it

    Use Zenod and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Zenod or shows a Zenod tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with ChatGPT on business plans only

ChatGPT Business, Enterprise or Edu on the web, added by a workspace admin or owner · On Free, Plus or Pro: your ChatGPT plan cannot connect MCP yet

  1. Open ChatGPT’s add-MCP page on the web

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. Fill in the name and address

    Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin

    Name · NameZenod
    Connection · Addresshttps://cloud.zenod.dev/mcp
  3. Pick Zenod in a chat

    Start a new chat and pick Zenod from your plugins before typing

  4. Try it

    Use Zenod and tell me what you can do for me, then show me one thing

    ✓ If ChatGPT says it is using Zenod or shows a Zenod tool in the answer, you are connected

Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Claude Code · about 2 min

No key, nothing to install

  1. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  2. Paste this command and press Enter

    claude mcp add --transport http --scope user zenod https://cloud.zenod.dev/mcp
  3. Type /mcp in Claude Code

    You should see Zenod listed as connected

  4. Try it

    Use Zenod and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Zenod or shows a Zenod tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 2 min

No key, nothing to install

  1. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  2. Open the AI chat in Cursor in Agent mode

  3. Try it

    Use Zenod and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Zenod or shows a Zenod tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 2 min

No key, nothing to install

  1. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  2. Open the AI chat in VS Code in Agent mode

  3. Try it

    Use Zenod and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Zenod or shows a Zenod tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://cloud.zenod.dev/mcp

JSON settings are under “For developers” below

Stuck? Ask people who use Zenod💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http --scope user zenod https://cloud.zenod.dev/mcp

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "zenod": {
      "url": "https://cloud.zenod.dev/mcp"
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "zenod": {
      "type": "http",
      "url": "https://cloud.zenod.dev/mcp"
    }
  }
}

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

At a glance

GitHub starsi
2 (Stars for the whole repo)
This repo holds several MCP listings; its stars count once in rankings
Downloads per weeki
Not on npm/PyPI
Licencei
AGPL-3.0
Connection
Runs in the cloud
Transport
streamable-http
Latest versioni
1.0.0
Published to registryi
Nov 12, 2026
Code last changedi
Nov 12, 2026
Maker
zenod-ai
Website
zenod.dev
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

All apps, with pros and cons →

Related guides

What it can do

The server asks you to sign in before it lists its tools.

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 12, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account zenod-ai, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed today

  • ✓ Pass

    Has a licence

    Uses AGPL-3.0

  • ✓ Pass

    Endpoint responds

    Responded in 505 ms (HTTP 401)

  • ✓ Pass

    Sign-in with OAuth

    Declares OAuth sign-in, so your AI app can take you to log in

  • … Not checked yet

    No hidden instructions in tool descriptions

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

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Chat & emaili

  • More stars than 0% of the other 1985 servers in this category
  • Published to the registry more recently than 99% of the other 1985 servers in this category
  • Basic checks equal to or better than 100% of the other 1985 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 Zenod safe?

It passed 5 of 5 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?

The registry does not list a required key, though some servers ask you to sign in on first use.

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 today, and the latest version (1.0.0) reached the registry today.

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 Business and above.

What can I use instead?

In the same category: Inbox Zero, draw.io, TradingMCP

Others in the same category

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

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

Inbox Zero

Search Gmail and Outlook, save drafts, manage email rules, and view email stats.

by elie222Widely used★ 13KUpdated 42 days ago

Runs in the cloud

draw.io

Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.

by jgraphWidely used★ 5.8KUpdated 2 days ago

Runs in the cloud✓ service owner · draw.io

TradingMCP

Market analysis for AI assistants: screeners, multi-timeframe analysis, backtests, in-chat charts.

by atilaahmettanerWidely used★ 5.3KUpdated 21 days ago

Runs in the cloud

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.

Zenod — the memory unit

Zenod is a memory agent you talk to over plain MCP (streamable HTTP). You give it a GitHub repo to use as your memory vault; it stores what you tell it as immutable evidence + filed meaning with citations, and lets you search and read it back. Every write lands as a real git commit — Zenod hands you the commit SHA and GitHub URL as the receipt.

One box, one endpoint, one repo. Zenod is the only thing that holds your repo token. You never write the repo from anywhere else — attempts from another path fail loudly.


Quickstart — point a plain MCP client at a fresh Zenod

You need: Docker, a GitHub repo you own (empty is fine) + a token that can push to it, and an LLM key (Anthropic or OpenAI). No suite, no console — just this unit.

1. Run a fresh instance

From this folder (units/zenod/). Until the repo split fires, the image is the repo root image with AGENT=zenod:

# from the repo root

docker build -t zenod .

docker run --rm -p 8080:8080 \ -v "$PWD/zenod-data:/data" \ -e AGENT=zenod \ -e ZENOD_DATA_DIR=/data \ -e VAULT_REPO="your-org/your-memory-repo" \ -e GITHUB_TOKEN="ghp_xxx_a_token_that_can_push_to_that_repo" \ -e ANTHROPIC_API_KEY="sk-ant-..." \ -e ZENOD_API_TOKEN="pick-any-long-secret-string" \ zenod

That is Option B: configure by hand — the three env vars above are all Zenod needs. (In the full suite the keyring/Console mints the MCP token and pushes VAULT_REPO + GITHUB_TOKEN + LLM key to /api/provision instead; a stranger self-hosting doesn't need that path.)

Zenod is now serving MCP at `http://localhost:8080/mcp`. Check it is up:

curl -s http://localhost:8080/api/health
2. Point any MCP client at it

The endpoint is vanilla MCP over streamable HTTP. Any MCP client works — e.g. Claude Desktop / claude with a custom connector, or the reference @modelcontextprotocol/inspector:

npx @modelcontextprotocol/inspector

transport: Streamable HTTP

URL: http://localhost:8080/mcp

header: Authorization: Bearer

Your token. /mcp always requires a bearer token — there is no tokenless mode. You control it two ways:

  • Pin it (recommended): set ZENOD_API_TOKEN in the run command above to any long secret string. That IS your bearer token — use it directly.
  • Don't pin it: if ZENOD_API_TOKEN is unset, Zenod generates a token on first boot and prints it once to the container logs (docker logs | grep 'MCP bearer'). Copy it from there.

Send it as Authorization: Bearer on every MCP call. (Treat it like a password. Note: GET /api/token is itself auth-gated — you need the token to call it — so use one of the two paths above to learn it in the first place.)

Run tools/list. You should see store_memory, ingest_memory, search_memory, get_memory, ask_brain, and get_task_result (full surface in SEAM-SURFACE.md).

Codex Desktop bearer-token setup

Codex Desktop's MCP server settings have two separate concepts:

  • URL: paste the Zenod MCP URL, for example https:// /mcp.
  • Bearer token env var: enter the environment variable name, for example ZENOD_MCP_TOKEN.

Do not paste the token itself into the Bearer token env var field. Codex reads that field as the name of an environment variable, then reads the actual bearer token from the Codex process environment.

For Codex CLI, this works when codex is launched from the same shell:

export ZENOD_MCP_TOKEN="<token>"

codex mcp add zenod --url https:// /mcp --bearer-token-env-var ZENOD_MCP_TOKEN

A normal shell export is temporary: it lasts only for that shell session and child processes. It does not survive a machine restart, and it does not affect an already running macOS GUI app launched from Finder, Dock, or Spotlight. For Codex Desktop, set the variable in the environment before starting Codex Desktop, or use a literal Authorization: Bearer header in the MCP server settings.

3. Store / search / get

Store (mutating, async — returns a jobId, then poll):

// tools/call store_memory

{ "content": "My home insurance renews on March 3rd every year." } // -> returns { jobId: "..." } (status: queued)

// tools/call get_task_result { "jobId": "..." } // -> when done: // { status: "done", result: { // evidenceRef: "Log/2026-07-05.md#^e-7f3a2c", // pagesTouched: ["Areas/Insurance.md"], // commitSha: "a1b2c3d...", // <- your receipt: a real git commit // githubUrls: ["https://github.com/your-org/your-memory-repo/blob/main/Areas/Insurance.md"] // } }

Open the githubUrls link — the memory is a committed file in your repo.

Ingest media/artifacts (mutating, async — returns a jobId, then poll):

// tools/call ingest_memory

{ "mediaType": "screenshot", "artifactUrl": "https://example.test/screen.png", "filename": "screen.png", "sourceHint": "Claude upload", "contentHint": "remember the renewal date visible in this screenshot", "hints": ["insurance"] } // -> returns { jobId: "...", kind: "media_ingest", status: "queued" }

// tools/call get_task_result { "jobId": "..." } // -> when done, result includes: // { // status: "done", // rawArtifact: { handle, archiveUrl, sha256 }, // extraction: { handle, ocrHandle, transcriptHandle, archiveUrl, provider }, // digest: { evidenceRef, pagesTouched, commitSha, githubUrls } // } // Opaque handles that Zenod cannot resolve still return a loud // media_ingest_processor_unavailable receipt instead of fake success.

Search (read, fast, no LLM):

// tools/call search_memory

{ "query": "insurance renewal" } // -> hits: [{ path, snippet, score, githubUrl }], or the explicit text // "No memories match 'insurance renewal'." when there are none.

Get (read one note by path from a search hit):

// tools/call get_memory

{ "path": "Areas/Insurance.md" } // -> { path, frontmatter, body, githubUrl }

For fuzzy or cross-note questions ("what do I know about X?"), call `ask_brain` instead of search_memory — it runs a read-only research loop and returns a synthesized answer with cited sources.


What you can rely on (the contract)

  • The endpoint is standard MCP — nothing custom on the wire. tools/list + tools/call is all a caller needs to know. See ../../docs/SEAM-SPEC.md.
  • Every write returns a receipt. store_memory gives you a commitSha + GitHub URL (via get_task_result). ingest_memory gives an async media receipt with raw artifact, extraction/transcript archive, digest, commit, and archive fields. A read returns data or an explicit "none". No silent acks; failures error loudly with { code, message }.
  • Only Zenod holds your repo token. It is supplied to this one box (env or /api/provision) and read in exactly one place internally. Nothing else in the suite can write your repo. Any write attempt down another path fails loudly.
  • Your memory is just a git repo. Clone it, read it, leave — no lock-in.

Files in this unit

FileWhat it is
README.mdthis quickstart (an acceptance item)
SEAM-SURFACE.mdthe MCP tool surface + receipt shapes
EXTRACTION-MAP.mdfile-level extraction map (blueprint, RD-4 staged)
Dockerfileroot-image-reuse note (staged; build from repo-root Dockerfile)
docker-compose.zenod.ymldeploy stub

Status honesty: this folder is the *seam of record* for Zenod-as-a-unit. The

physical extraction from the fused Console is STAGED behind the RD-4 split trigger

and has not fired — see EXTRACTION-MAP.md. The running behavior above is real

today (image with AGENT=zenod); the standalone folder is blueprint.