# Limitless MCP Server - Enhanced
## Overview
A model context protocol (MCP) server that provides advanced analysis of conversations from Limitless Pendant recordings, with intelligent meeting detection, action item extraction, and comprehensive analytics.
### What's New in v0.13.0
- **Complete Pagination Support**: ALL tools now properly handle large datasets with pagination
- **Removed Legacy Features**: Cleaned up speech vitality tools to focus on core functionality
- **Fixed Remaining Tools**: Meeting detection, action items, transcripts, and detailed analysis all use pagination
- **Improved Performance**: Consistent 10-item API limit across all tools for optimal performance
### Previous Updates (v0.12.0)
- **Enhanced Token Limit Handling**: More aggressive truncation for oversized responses
- **Fixed Search Tool**: `limitless_search_lifelogs` now properly handles token limits
- **Improved Response Safety**: Pre-emptive array truncation before token estimation
- **Better Error Prevention**: All tools now use safe response wrapper consistently
### Previous Updates (v0.11.0)
- **Token Limit Solution**: Smart pagination and response chunking to handle large datasets
- **New Full Transcript Tool**: `limitless_get_full_transcript` fetches complete data with automatic pagination
- **Enhanced Pagination**: All list tools now support cursor-based pagination to avoid token limits
- **Intelligent Response Handling**: Automatic detection and handling of oversized responses
- **Multiple Output Formats**: Summary, full data, or transcript-only modes for flexibility
### Previous Updates (v0.9.0)
- **Starred Lifelog Support**: Filter and identify important conversations marked with stars
- **Enhanced Error Messages**: More specific error handling with detailed context
- **Improved Timezone Handling**: Robust fallback mechanism for timezone detection
- **Updated Timestamps**: Track when lifelogs were last modified with `updatedAt` field
- **Full API Parity**: Now supports 100% of official Limitless API parameters
## Key Features
- **Intelligent Meeting Detection**: Automatically identifies meetings from conversations
- **Action Item Extraction**: Finds tasks and commitments with context
- **Natural Language Time Queries**: Use expressions like "yesterday", "last week"
- **Advanced Search**: Find conversations across all history with relevance scoring
- **Daily Summaries**: Comprehensive analysis with participants and key topics
- **Speaker Analytics**: Detailed analysis of conversations with specific people
- **Smart Pagination**: Handles large datasets without token limit issues
- **Raw Transcript Access**: Get exact transcripts for further AI processing
## Installation
```bash
npm install -g 199bio-mcp-limitless-server
```
## Usage
### Claude Desktop Configuration
Add to your Claude Desktop MCP settings:
```json
{
"mcpServers": {
"limitless": {
"command": "npx",
"args": ["199bio-mcp-limitless-server"],
"env": {
"LIMITLESS_API_KEY": "your-api-key-here"
}
}
}
}
```
### Available Tools
#### Advanced Analysis Tools
- **Natural Time Queries**: `limitless_get_by_natural_time`
- **Meeting Detection**: `limitless_detect_meetings`
- **Action Item Extraction**: `limitless_extract_action_items`
- **Detailed Transcripts**: `limitless_get_raw_transcript`
- **Daily Summaries**: `limitless_get_daily_summary`
- **Full Transcript Fetcher**: `limitless_get_full_transcript` (NEW in v0.11.0)
### Handling Large Datasets (v0.11.0)
The MCP server now intelligently handles large datasets that would exceed Claude's token limits:
#### Pagination Support
All list tools now support cursor-based pagination:
```
# First request
limitless_list_lifelogs_by_date(date="2025-07-24", limit=10)
# Returns: 10 items + cursor
# Next page
limitless_list_lifelogs_by_date(date="2025-07-24", limit=10, cursor="next_page_cursor")
```
#### Full Transcript Tool
For complete data without manual pagination:
```
limitless_get_full_transcript(date="2025-07-24", format="transcript_only")
```
Formats available:
- `summary`: Key information only (default)
- `full`: Complete data including all fields
- `transcript_only`: Just the transcript text
## API Reference
### Core Types
```typescript
interface Lifelog {
id: string;
title?: string;
markdown?: string;
startTime: string;
endTime: string;
contents?: LifelogContentNode[];
isStarred?: boolean; // NEW: Whether this lifelog is starred
updatedAt?: string; // NEW: When this lifelog was last updated
}
interface LifelogParams {
// ... existing params ...
isStarred?: boolean; // NEW: Filter for starred lifelogs only
batch_size?: number; // NEW: Configurable batch size for performance tuning
}
```
## Development
### Building from Source
```bash
git clone https://github.com/199-biotechnologies/mcp-limitless-enhanced.git
cd mcp-limitless-enhanced
npm install
npm run build
```
### Testing
```bash
# Test with real API data
LIMITLESS_API_KEY=your-key npm run dev
```
### Contributing
We welcome contributions that improve the functionality and reliability of this MCP server.
## License
MIT License - see LICENSE file for details.
## Troubleshooting
### Common Issues
#### "Claude hit max length" message
This message comes from Claude Desktop's UI when responses are too long or the conversation context is filling up. It's NOT related to:
- The MCP server functionality
- Your Claude account tier (free/paid)
- Limitless API limits
**Solution**: Start a new conversation or ask for shorter responses.
#### Server crashes with "Unexpected end of JSON input"
This happens when non-JSON data is sent to the server. MCP servers use JSON-RPC over stdio, not HTTP.
**Common mistake**: Trying to connect with HTTP clients, browsers, or curl.
**Solution**: Use Claude Desktop or a proper MCP client.
#### Cannot connect via HTTP/Browser/ngrok
MCP servers are NOT HTTP servers. They communicate via JSON-RPC over stdin/stdout.
**Wrong**: `curl http://localhost:8008`
**Right**: Configure in Claude Desktop's MCP settings
#### No data returned from queries
As of March 2025, the Limitless API primarily surfaces data from the Limitless Pendant. Ensure:
- Your Pendant is actively recording
- You have recent conversation data
- Your API key has proper permissions
### Understanding MCP Servers
**What MCP servers ARE:**
- JSON-RPC services that communicate over stdio
- Designed for Claude Desktop and MCP-compatible clients
- Tools that extend AI assistant capabilities
**What MCP servers are NOT:**
- HTTP/REST APIs
- Web servers
- Browser-accessible services
- Standalone applications with UIs
If you need HTTP access to Limitless data:
1. Use the Limitless API directly
2. Create a separate HTTP wrapper service
3. Use the official Limitless web interface
## Support
- **Issues**: [GitHub Issues](https://github.com/199-biotechnologies/mcp-limitless-enhanced/issues)
- **Documentation**: [Scientific Documentation](./docs/)
- **Contact**: boris@199longevity.com