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

Keepsake

by nicolascroceversion 1.18.0i★ –iComputer or cloud
Registry nameio.github.nicolascroce/keepsake

Install

Overview

Description from the maker (original English)

Keepsake (keepsake.place), the app where creators and solo entrepreneurs empty their heads

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: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Other
  • You need to fill in: KEEPSAKE_API_KEY

Install

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

Before you install

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

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

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

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

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://app.keepsake.place/api/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "keepsake": {
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http keepsake https://app.keepsake.place/api/mcp

Or run it on your computer

claude mcp add keepsake --env KEEPSAKE_API_KEY=your-value -- npx -y keepsake-mcp

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": {
    "keepsake": {
      "url": "https://app.keepsake.place/api/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

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

{
  "mcpServers": {
    "keepsake": {
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "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": {
    "keepsake": {
      "type": "http",
      "url": "https://app.keepsake.place/api/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "keepsake": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "keepsake-mcp"
      ],
      "env": {
        "KEEPSAKE_API_KEY": "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.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://app.keepsake.place/api/mcp

Menu names can differ slightly by plan and over time.

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

Values you fill in

  • KEEPSAKE_API_KEY secret required env
    Your Keepsake API key (starts with ksk_). Get one at https://keepsake.place → Account → API Keys.

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

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

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account nicolascroce, which owns the repo

  • … 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

  • ✓ Pass

    Endpoint responds

    Responded in 335 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

Compared with others in Otheri

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

It passed 3 of 3 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: KEEPSAKE_API_KEY

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.18.0) reached the registry 2 days 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: Spec Driven Development, Remote Desktop Commander, topo^alpin

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

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated yesterday
Install

topo^alpin

by topoalpin.app

Avalanche bulletins and mountain weather forecasts for any place in the Alps.

Runs in the cloudUpdated today
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.

keepsake-mcp

MCP server for Keepsake (keepsake.place), the app where creators and solo entrepreneurs empty their heads: ideas, tasks and the people who matter, together and linked in one place, all the way to publishing.

Connect your AI assistant (Claude, Cursor, or any MCP-compatible client) to your Keepsake data: contacts, interactions, tasks, notes, daily intentions, companies, and tags.

Why

Your AI assistant forgets between conversations; Keepsake remembers. Ask it to:

  • "Capture this idea for my next article in #newsletter#"
  • "Who did I last talk to at Acme Corp?"
  • "Add a note that I ran into Sarah at the conference"
  • "What tasks are overdue?"
  • "Show me everything related to the #house-project tag"
  • "Create a follow-up task for my meeting with John next week"

Quick start

1. Get your API key

Sign up at keepsake.place, then go to Account > API Keys to generate one.

2. Choose your connection method
Option A: Remote (HTTP) — recommended

No installation required. Works with Claude iOS, Claude web, Claude Desktop Connectors, and any MCP client that supports Streamable HTTP.

Endpoint: https://app.keepsake.place/api/mcp

The official MCP registry entry (server.json) publishes this URL as a streamable-http remote, plus the project title and website. The npm package version stays on the release that was published; the registry entry version is the version field of server.json.

Authentication: Pass your API key as a Bearer token in the Authorization header.

Claude Desktop (Connectors):

Add a remote MCP server in Claude Desktop settings with:

  • URL: https://app.keepsake.place/api/mcp
  • Authentication: Bearer token with your ksk_ API key

Any MCP client (Streamable HTTP):

{

"mcpServers": { "keepsake": { "type": "streamable-http", "url": "https://app.keepsake.place/api/mcp", "headers": { "Authorization": "Bearer ksk_YOUR_API_KEY" } } } }

Option B: Local (stdio)

Runs locally via npx. Useful for Claude Code, Cursor, and local development.

Claude Desktop:

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{

"mcpServers": { "keepsake": { "command": "npx", "args": ["-y", "keepsake-mcp"], "env": { "KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY" } } } }

Claude Code:

claude mcp add keepsake -- npx -y keepsake-mcp

Then set KEEPSAKE_API_KEY in your environment.

Cursor:

Add to .cursor/mcp.json in your project:

{

"mcpServers": { "keepsake": { "command": "npx", "args": ["-y", "keepsake-mcp"], "env": { "KEEPSAKE_API_KEY": "ksk_YOUR_API_KEY" } } } }

Server instructions

On connection, the server sends MCP instructions — injected into the client's system prompt. It is the only channel that reaches an agent *before* it goes looking for a capability, so it stays short and points at the rest: call get_agent_instructions for the full doctrine, and put editorial remarks in a note's margin (create_note_comment) rather than in the chat, which disappears.

Prompts (1)

PromptArgumentsDescription
review_notenote_idAct as the editor of a note: read it, judge form and substance, leave anchored remarks in the margin, never rewrite the text

Available tools (96)

Contacts
ToolDescription
list_contactsList contacts with pagination, sorting, field selection and filters (linked company, has_company, updated_since)
get_contactGet a contact with recent interactions, tags, and stats
create_contactCreate a new contact (company links it to a company record, created if missing)
update_contactUpdate contact fields
delete_contactPermanently delete a contact
search_contactsAccent-insensitive search by name, email, notes, phone and linked company names
get_contact_timelineUnified chronological feed of all items for a contact
Companies
ToolDescription
list_companiesList all companies
get_companyGet company with linked contacts and tags
create_companyCreate a new company
update_companyUpdate company fields
delete_companySoft-delete (or permanent delete) a company
search_companiesAccent-insensitive company search
link_contact_companyLink a contact to a company (optional role)
unlink_contact_companyRemove a contact–company link
merge_companiesMerge a duplicate company into another (contacts, entries, tags, details, notes)
Entries (Interactions)
ToolDescription
list_entriesList interactions (calls, emails, meetings, etc.) — filter by type, contact, company, page (tag_id), dates
create_entryLog a new interaction — supports #tag# and [[tag]] syntax
update_entryUpdate an interaction
delete_entryDelete an interaction
Tasks
ToolDescription
list_tasksList tasks — filter by status, date, company, page (tag_id)
get_taskGet a task with its tags, contacts, companies and linked notes
create_taskCreate a task — supports #tag# and [[tag]] syntax
update_taskUpdate task fields
delete_taskDelete a task
complete_taskMark as completed (auto-creates next occurrence for recurring tasks)
uncomplete_taskMark as pending again
snooze_taskReschedule to a new date
get_tasks_todayToday's tasks: overdue + due today + ASAP
get_tasks_overdueOnly overdue tasks
QuickNotes
ToolDescription
list_notesList notes — filter by pinned/archived, day, company, page (tag_id), publication-flow stage (status)
list_note_statusesThe stages of the user's publication flow (Idea → In progress → To review → Ready → Published by default — the user can rename, add or remove them)
get_noteGet one note by ID with its tags, contacts, tasks and linked notes
create_noteCreate a note — supports #tag# and [[tag]] syntax; archived creates a permanent Note directly (no Inbox), status puts it straight into the publication flow
update_noteUpdate note content, links, days, or its publication-flow stage (status)
delete_noteSoft-delete (or permanent)
pin_notePin as a post-it (short reference always at hand)
unpin_noteUnpin a note (it stays where it is)
archive_noteArchive a note
restore_noteRestore a deleted/archived note
Note comments (marginalia)

Material kept *alongside* a note without entering its text — an idea, a reference, an excerpt pasted to rewrite a passage later. Anchored to a passage by quoting it, or to the whole note. Never published, and temporary by design: anything worth keeping becomes a note or a linked task.

ToolDescription
list_note_commentsList the marginalia attached to a note
create_note_commentAttach a marginalia to a passage (pass quote) or to the whole note
update_note_commentEdit the content of a marginalia
delete_note_commentPermanently delete a marginalia
Days (intention or question of the day)
ToolDescription
list_daysList days with their intention or question of the day (the one in force, which stays until changed), by date range
get_dayGet a day, its intention in force (intention, carried over until changed) and what was written that day (note)
update_daySet a day's intention or question — one short line, not a journal (upsert); it stays in place on the following days until changed
Day blocks (Day-view timeline)
ToolDescription
list_day_blocksList a day's time blocks, in timeline order (creates that day's recurring blocks first)
create_day_blockCreate a block, auto-placed first-fit (or pinned via anchor_time)
update_day_blockUpdate a block (title, duration, anchor, note, done)
delete_day_blockDelete a block and prune its timeline ref (on a recurring block: remove it from that day only)
Recurring blocks (ideal day / ideal week, habits)
ToolDescription
list_recurring_blocksList the blocks that come back on chosen weekdays (the user's ideal week and habits)
create_recurring_blockMake a block recurring — from an existing block, or from scratch
update_recurring_blockChange a recurring block from a date onward (title, duration, fixed time, weekdays) — the past is never rewritten
stop_recurring_blockStop a repetition from a date onward; past days keep their blocks
keep_recurring_block_noteKeep a note in a recurring block: every occurrence shows it from a date onward (a running log, a routine checklist)
stop_keeping_recurring_block_noteStop keeping a note in a recurring block from a date onward; earlier days keep it
Tags
ToolDescription
list_tagsList tags (lightweight — ordering arrays omitted), with optional name search (q) and archived / favorite filters
get_tagGet a tag by ID with all properties, including tasks_order (section markers h: )
create_tagCreate a new tag
update_tagUpdate a tag (name, description, color, icon, favorite, archived to close a project without deleting anything, order of tasks and sections via tasks_order)
delete_tagPermanently delete a tag and all its links
merge_tagMerge a duplicate tag into another: links moved, #source# rewritten as the target's name, source deleted
get_tag_itemsGet items linked to a tag — filter by types/status, summary mode, task sections included
link_tagLink any entity to a tag
unlink_tagRemove a tag link
Task Headers (Sections)
ToolDescription
list_task_headersList all task headers (section separators)
get_task_headerGet a task header by ID
create_task_headerCreate a task header (section) — insert h: in the tag's tasks_order to place it
update_task_headerUpdate a task header (name, description, collapsed)
delete_task_headerPermanently delete a task header
Contact & company links
ToolDescription
link_note_company / unlink_note_companyLink / unlink a company to a note
link_note_contactLink a contact to a note
unlink_note_contactRemove a contact link from a note
link_entry_company / unlink_entry_companyAdd / remove a company as participant of an entry
link_entry_contactLink a contact to an entry
unlink_entry_contactRemove a contact link from an entry
link_task_company / unlink_task_companyLink / unlink a company to a task
link_task_contactLink a contact to a task
unlink_task_contactRemove a contact link from a task
link_task_noteLink a note to a task (non-destructive, the note survives)
unlink_task_noteRemove a note link from a task
link_day_block_noteLink a note to a time block (prepare before, write what happened after)
unlink_day_block_noteRemove a note link from a time block
link_entry_noteLink a note to an entry (its write-up)
unlink_entry_noteRemove a note link from an entry
link_notesLink two notes together (symmetric, non-destructive)
unlink_notesRemove the manual link between two notes

| link_note_date | Attach a note to a calendar day (it surf

Only the beginning is shown; read the rest in the repo

Ask PopNx