Cardlake MCP Server
Imports GitHub Issues as cards into the Cardlake feed, allowing issues to be tracked alongside reminders, notes, and other cards.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Cardlake MCP Serverremind me to follow up with Sam on Wednesday at 10"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cardlake
Your AI's memory, and you own it. One daily feed for reminders, learnings, work and ideas, which you, Claude and ChatGPT all read and write.
Get started · What it does · Looking after your Cardlake · For developers
Get started
Don't want to host it yourself? Use Cardlake at cardlake.app.
To run your own: free on Vercel's and Neon's free plans, about 10 minutes, no terminal.
Sign up at Vercel at vercel.com/signup with Continue with GitHub. No GitHub account? GitHub's sign-in page has Create an account (github.com/signup). Finish Vercel's sign-up, including its code, until you see its dashboard.
Click Deploy, then Create, add Neon (your database) and Blob (your attachments) on their free plans, and Deploy:
If Vercel shows its dashboard instead, come back and click the button again.
Open your site and set your password right away: for your security, setup is open for one hour after your site first starts, then it locks so nobody else can claim it. (Missed it? The setup page explains how to reopen it.)
Optional: connect Claude or ChatGPT. In Cardlake, click Connect AI.
New to Vercel or GitHub? The step-by-step guide has a picture for every step.
Related MCP server: konbu
What it does

Cardlake turns everything you don't want to forget (reminders, articles to read, family updates, bookmarks, notes, and your GitHub issues) into a single feed, instead of a dozen apps you never open.
https://github.com/user-attachments/assets/10d1ce6c-f12a-42bf-aed6-dba16530b934
Talk to it from your AI. Tell Claude or ChatGPT "remind me Wednesday at 10" or "what's on today?" and it reads and writes your feed over MCP. Every card type and action works from chat.
One feed for everything. Reminders, learnings, work items, family updates, bookmarks and misc notes, with a progress bar and a streak.
Snooze, pin, favorite. Not today? Snooze a card and it comes back when it should. Pin what matters this week.
Your GitHub issues as cards, brought in with one click.
Save from any app. Install it on your phone and share a link or text to Cardlake; it becomes a card.
Search and attachments. Find any card; attach photos and files.
Yours. Your own database, your own deployment, one account: yours. Open source under AGPL-3.0.
Why Cardlake
Notes apps, task apps and read-later apps each hold a piece of what you meant to come back to, and you check none of them. Cardlake is the one place it all lands, and the place your AI writes to when you ask it to remember something. Because your own copy runs on your own Vercel and Neon accounts, what you and your AI save stays with you.
Why a feed, not folders
Capture, one vault, review, and streaks each map to how memory and habits work. An open loop costs attention until it's captured somewhere trustworthy, one system beats maintaining seven, and unreviewed things fade fast unless something resurfaces them.
Looking after your Cardlake
It's yours alone
Your Cardlake has one account, yours. There's nobody to administer: no sign-up, no user list, no invites. Sign in with the same email and password on your phone and other computers.
Forgot your password?
In Vercel, open your project, then Settings and
Environment Variables. Add CARDLE_SETUP_OPEN with the value 1, save,
and redeploy (Deployments, ⋯, Redeploy). Open /setup on your
site and set a new password with the same email: you keep all your cards.
Then delete CARDLE_SETUP_OPEN and redeploy again.
Getting updates
Your copy doesn't update by itself. When a new version
is out, Cardlake shows Update available at the top; it leads to your
Cardlake's /updates page. The first time, click Turn on
updates there: GitHub opens with the update file filled in, ready to commit. After
that, to get the latest Cardlake, open your copy on GitHub, then Actions,
Update Cardlake and Run workflow. Vercel deploys the new version a
minute or two later, and you keep all your cards. If you've changed the code
yourself, it stops rather than erase your changes. To also hear about new
versions by email, open Cardlake on GitHub and
choose Watch, Custom, Releases.
Settings
Everything else is optional. Cardlake makes its own secret keys and sets up its own database. docs/ENVIRONMENT.md lists the settings you can add later, such as a custom domain, and docs/ADMIN.md covers running it.
For developers
Quick start (local development)
git clone https://github.com/cardleforall/cardlakeforall.git
cd cardlakeforall
npm ci
cp .env.example .env.local # fill in the values -- see docs/ENVIRONMENT.md
npm run devThis starts a local dev server at http://localhost:3000 that serves public/ statically and routes /api/* to the same handler files Vercel uses in production; no separate build step, no vercel dev required. Point DATABASE_URL at a database of your own, never one with real data.
Development
npm ci
npm testnpm run build:vault validates the committed shell and accepts --target for tests. Outside services that feed cards in (currently GitHub Issues) are integrations; docs/INTEGRATIONS.md covers how they work and how to add one. See .env.example and docs/ENVIRONMENT.md for what each environment variable does.
npm test covers the build; the actual test suite (tests/unit/ offline unit tests, tests/sit/ system integration tests against a deployment) is run separately via npm run test:lite / npm run test:full; see tests/README.md for the unit/SIT split and when to run which tier.
Architecture
Frontend:
public/vault/index.htmlis a committed, hand-maintained shell (not generated from markdown or any other source), progressively enhanced with plain JS inpublic/vault/assets/.Backend: Vercel serverless functions in
api/, consolidated per resource area to stay within Vercel's Hobby function-count limit (see.vercelignoreand the comments inapi/vault.js/api/auth.js).Sign-in: one owner with a password, set at
/setup(see docs/ADMIN.md).Uploads: Server-side format checks and an explicit allowlist apply to files and attachments; see supported formats and limits.
Database: Neon Postgres. Schema lives in
schema-v2.sqland applies itself on the first request after a deploy.MCP server:
api/mcp.js+api/_lib/mcp-tools.jsexpose every card type and feed action (snooze, pin, favorite) to any MCP-compatible AI assistant. See docs/MCP_SERVER.md.
Deployment
Deployment is GitHub-to-Vercel: pushes to the connected main branch create production deployments; pull requests create previews. See DEPLOY.md.
Contributing
Issues are welcome; pull requests aren't accepted. See CONTRIBUTING.md for why, and for setting up and testing your own copy. Please also read the Code of Conduct.
License
Cardlake is free software under the GNU AGPL-3.0. You can use, change and run it freely. If you run a modified version as a service for other people, you must offer them its source under the same license.
Cardlake™ is a trademark of the project's maintainer. The license covers the code, not the name: run your own copy as you like, but please don't offer a service to other people under the name Cardlake.
Security issues: please report them privately, see SECURITY.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Persistent, portable memory for AI assistants — your private memory graph, from any MCP client.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
- EngramOAuthapp.getengram
Persistent, verbatim, searchable memory for AI assistants — one memory across every MCP client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects AI assistants to personal lifelog data from Limitless AI, enabling users to search and retrieve memories, recordings, and meeting notes. It allows for natural language querying of personal history and provides AI-generated daily summaries within MCP-compatible applications.1MIT
- AlicenseAqualityCmaintenanceMCP server for a self-hostable personal planner — exposes memo, todo, calendar event, and cross-resource full-text search tools so Claude, Cursor, or any MCP client can manage your schedule and notes in natural language.181MIT
- AlicenseNot gradedqualityBmaintenanceEnables an AI agent over MCP to read, file, and correct a plain-file, self-hosted personal life store — memories, people, money, body, papers, decisions and someday, alongside the usual tasks, projects, goals, habits and areas — recording every edit and deliberate non-edit so it can be reviewed and reversed. The agent does the maintenance work; the user just visits to glance at what needs them or wander through what's there.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI coding agents to persist and recall atomic knowledge cards with bidirectional links across sessions, sharing one plain-markdown store across MCP clients and editors. Provides card search, read/write, link and backlink inspection, archiving, and optional git-based sync — all without a vector database or embeddings.13 npmISC