Limitless Pendant Integration
STDIOMCP server connecting Limitless Pendant data to AI tools via Limitless API.
MCP server connecting Limitless Pendant data to AI tools via Limitless API.
This is an MCP (Model Context Protocol) server that connects your Limitless Pendant data to AI tools like Claude, Windsurf, and others via the Limitless API. It lets AI chat interfaces and agents interact with your Lifelog in a structured, programmable way. Let’s build towards a more organized, intelligent future—one context-rich interaction at a time.
What’s MCP?
Model Context Protocol is an open standard for connecting AI models to external tools and data—think of it like the USB-C port or even the HTTP protocol for AI—universal, reliable, and designed for extensibility. The standard that everyone adopts. It enables rich integrations, custom workflows, and seamless communication between AI and the tools you use every day.
IMPORTANT NOTE: As of March 2025, the Limitless API requires data recorded via the Limitless Pendant. This server depends on real data recorded from your Limitless Pendant—it won’t return anything meaningful without it. Ensure your Pendant is connected and recording.
API Status & Future Plans:
asc
/desc
).With this server, you can do things like pull action items from your Lifelog and send them directly into Notion—via Claude, ChatWise, Windsurf, or any other AI assistant/app that supports MCP.
cd mcp-limitless-server
npm install
npm run build
This server expects the LIMITLESS_API_KEY
to be provided as an environment variable when it is launched by your MCP client.
You need to add a server configuration block to your MCP client's settings file. Below are two examples depending on whether you are adding this as your first server or adding it alongside existing servers.
Example A: Adding as the first/only server
If your client's configuration file currently has an empty mcpServers
object ("mcpServers": {}
), replace it with this:
{ "mcpServers": { "limitless": { "command": "node", "args": ["<FULL_FILE_PATH_TO_DIST_SERVER.js>"], "env": { "LIMITLESS_API_KEY": "<YOUR_LIMITLESS_API_KEY_HERE>" } } } }
Example B: Adding to existing servers
If your mcpServers
object already contains other servers (like "notion": {...}
), add the "limitless"
block alongside them, ensuring correct JSON syntax (commas between entries):
{ "mcpServers": { "some_other_server": { "command": "...", "args": ["..."], "env": { "EXAMPLE_VAR": "value" } }, "limitless": { "command": "node", "args": ["<FULL_FILE_PATH_TO_DIST_SERVER.js>"], "env": { "LIMITLESS_API_KEY": "<YOUR_LIMITLESS_API_KEY_HERE>" } } } }
Important:
<FULL_FILE_PATH_TO_DIST_SERVER.js>
with the correct, absolute path to the built server script (e.g., /Users/yourname/Documents/MCP/mcp-limitless-server/dist/server.js
). Relative paths might not work reliably depending on the client.<YOUR_LIMITLESS_API_KEY_HERE>
with your actual Limitless API key.<YOUR_LIMITLESS_API_KEY_HERE>
and replace it with your actual key.Do not run npm start
directly.
npm run build
).mcp-limitless-server
process automatically when needed.(Refer to src/server.ts
or ask the server via your client for full details.)
limitless_get_lifelog_by_id
: Retrieves a single Pendant recording by its specific ID.limitless_list_lifelogs_by_date
: Lists Pendant recordings for a specific date.limitless_list_lifelogs_by_range
: Lists Pendant recordings within a date/time range.limitless_list_recent_lifelogs
: Lists the most recent Pendant recordings.limitless_search_lifelogs
: Searches title/content of recent Pendant recordings (limited scope!).🚫 Pendant Required
This server depends on data generated by the Limitless Pendant.
🧪 API Beta Status
The Limitless API is in beta and may experience occasional instability or rate limiting. Large requests might result in timeouts (e.g., 504 errors).
🔍 Search Scope
limitless_search_lifelogs
only scans a limited number of recent logs (default 20, max 100). It does not search your full history — use listing tools first for broader analysis.
⚠️ Error Handling & Timeout
API errors are translated into MCP error results. Each API call has a 120-second timeout.
🔌 Transport
This server uses stdio
and is meant to be launched by an MCP-compatible client app.
Have ideas, improvements, or feedback? Feel free to open an issue or PR—contributions are always welcome! Let’s keep pushing the boundaries of what’s possible with wearable context and intelligent tools. https://github.com/ipvr9/mcp-limitless-server