nicolascroce/keepsake-mcp

🏢 Workplace & Productivity
0 Views
0 Installs

📇 ☁️ - Personal CRM — manage contacts, interactions, tasks, notes, daily journal, and tags through 42 MCP tools

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "nicolascroce-keepsake-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "nicolascroce-keepsake-mcp"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

keepsake-mcp

MCP server for Keepsake — the personal CRM that helps you nurture your relationships.

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

Why

Your AI assistant becomes a personal relationship manager. Ask it to:

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

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"
      }
    }
  }
}

Available tools (62)

Contacts

ToolDescription
list_contactsList all contacts with pagination and sorting
get_contactGet a contact with recent interactions, tags, and stats
create_contactCreate a new contact
update_contactUpdate contact fields
delete_contactPermanently delete a contact
search_contactsAccent-insensitive search by name, email, company
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

Entries (Interactions)

ToolDescription
list_entriesList interactions (calls, emails, meetings, etc.)
create_entryLog a new interaction — supports #tag# and [[tag]] syntax
update_entryUpdate an interaction
delete_entryDelete an interaction

Tasks

ToolDescription
list_tasksList tasks with status/date filters
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)
create_noteCreate a note — supports #tag# and [[tag]] syntax
update_noteUpdate note content
delete_noteSoft-delete (or permanent)
pin_notePin to top
archive_noteArchive a note
restore_noteRestore a deleted/archived note

Daily Journal

ToolDescription
list_daysList journal entries by date range
get_dayGet a specific day's journal
update_dayCreate or update a day's journal (upsert)

Tags

ToolDescription
list_tagsList all tags
get_tagGet a tag by ID with all properties (color, icon, view mode, etc.)
create_tagCreate a new tag
update_tagUpdate a tag (name, description, color, icon, view mode, favorite)
delete_tagPermanently delete a tag and all its links
get_tag_itemsGet everything linked to a tag
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)
update_task_headerUpdate a task header (name, description, collapsed)
delete_task_headerPermanently delete a task header

Contact Links

ToolDescription
link_note_contactLink a contact to a note
unlink_note_contactRemove a contact link from a note
link_entry_contactLink a contact to an entry
unlink_entry_contactRemove a contact link from an entry
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_notesLink two notes together (symmetric, non-destructive)
unlink_notesRemove the manual link between two notes

Utilities

ToolDescription
searchGlobal search across all data types
get_changelogItems modified since a timestamp (for sync)
get_agent_instructionsBest practices for AI agents

Tool annotations

All tools include MCP safety annotations:

  • Read-only tools (list_*, get_*, search_*): marked readOnlyHint: true
  • Create tools: marked destructiveHint: false
  • Update tools: marked destructiveHint: false, idempotentHint: true
  • Delete tools: marked destructiveHint: true, idempotentHint: true

Activity tracking

Every write operation (create, update, delete) performed through the API is recorded in an Activity Feed visible to the user inside Keepsake. Each action shows the entity type, a content preview, and which API key was used.

This means your user can see everything you do. Be transparent and precise. If you make a mistake, let the user know so they can verify in the activity feed.

Call get_agent_instructions at the start of each session for the full best practices guide.

Environment variables

VariableRequiredDescription
KEEPSAKE_API_KEYYesYour API key (starts with ksk_)
KEEPSAKE_API_URLNoCustom API URL (default: https://app.keepsake.place/api/v1)

Rate limits

60 requests per minute per API key. Rate limit headers are included in responses.

API documentation

Full REST API docs: keepsake.place/api

Privacy

Keepsake MCP server only communicates with the Keepsake API (app.keepsake.place). It does not send data to any third-party service. Your data stays between your MCP client and your Keepsake account.

All API calls are authenticated with your personal API key and scoped to your account via Row Level Security. No other user's data is accessible.

See our privacy policy at keepsake.place/privacy.

License

MIT

Related MCP Servers

6figr-com/jobgpt-mcp-server

📇 ☁️ 🏠 🍎 🪟 🐧 - MCP server for JobGPT — search jobs, auto-apply, generate tailored resumes, track applications, and find recruiters from any MCP client. 34 tools for job search, applications, resumes, and outreach.

🏢 Workplace & Productivity0 views
Agentled/mcp-server

📇 ☁️ - AI-native workflow orchestration with long-term memory, 100+ integrations, and unified credits. 32 MCP tools for building and running intelligent business workflows — lead enrichment, content publishing, company research, media production, and more. Knowledge Graph that learns across executions.

🏢 Workplace & Productivity0 views
alex13slem/openproject-codex-plugin

📇 ☁️ 🏠 🍎 🪟 🐧 - Write-capable MCP server for OpenProject API v3 with Community Edition support. Search, create, update, assign, prioritize, and comment on work packages. Published as io.github.alex13slem/openproject in the official MCP Registry and installable with npx -y openproject-codex-plugin.

🏢 Workplace & Productivity0 views
ap311036/ews-meeting-mcp

🐍 🏠 🍎 🪟 🐧 - Safely schedule Outlook meetings on on-prem Exchange EWS. Resolves attendees, discovers rooms, suggests slots, and requires preview-confirmed create/update/cancel writes with local credential handling and audit-friendly lifecycle records.

🏢 Workplace & Productivity0 views

Engagement

Views
0
Installs
0
Upvotes
0

Views and upvotes are unique per visitor network (hashed IP). Installs count copy actions.

Status

Health: Not checked yet

We have not completed a health check for this listing yet.

No check timestamp yet.

Unclaimed listing (imported or pending owner verification). Claim it →
★ Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.