AI录音分析服务器

Limitless AI MCP Server是一个高级模型上下文协议服务器,用于连接AI助手和Limitless AI Pendant录音,提供录音搜索、分析和数据提取功能。

  • by ericbuess
  • TypeScript
  • 本地部署
  • 13 星标
  • 更新于
在 GitHub 查看 ericbuess/limitless-ai-mcp-server

使用说明

无限AI MCP服务器

一种先进的模型上下文协议(MCP)服务器,使AI助手能够与Limitless AI Pendant录音进行交互。该服务器在您的人工智能工具和Limitless API之间提供了一个无缝的桥梁,允许您提取见解、搜索录音并分析您的Pendant数据。

⚠️ 测试版:这是早期版本(v0.0.1)。在实现和测试核心功能的同时,我们需要社区反馈来验证所有功能。请 报告任何问题!

🌟 特性

核心能力

  • 完全无限制的API集成:以编程方式访问您的所有Pendant录音
  • 高级搜索:使用关键字匹配搜索您的录音
  • 灵活查询:按日期、日期范围列出录制内容,或获取最新录制内容
  • 丰富的内容访问:检索markdown内容、标题和元数据
  • 高性能:具有LRU逐出和TTL支持的智能缓存
  • 稳健的错误处理:内置重试逻辑和超时管理
  • 类型安全:完全支持TypeScript,具有全面的类型定义

MCP协议实现

  • 🔧 工具:5个用于搜索和检索录音的专用工具
  • 📁 资源:使用URI导航将录制作为结构化资源浏览
  • 📝 提示:用于常见分析任务的预构建模板
  • 🔍 采样:基于AI的内容分析和总结
  • 🔎 发现:自动向MCP客户展示能力

📋 需求

  • Node.js 22+
  • 无限吊坠 (必需-API仅返回Pendant记录)
  • 无限API密钥 (从 limitless.ai/开发者)
  • MCP兼容客户端 (克劳德桌面、风帆、光标等)

🏃 快速开始

  1. 获取API密钥 从 limitless.ai/开发者
  2. 克隆和构建:
    git clone https://github.com/ericbuess/limitless-ai-mcp-server.git
    cd limitless-ai-mcp-server
    npm install
    npm run build
    
  3. 配置Claude代码:
    claude mcp add limitless -s user -e LIMITLESS_API_KEY="your-key" -- node $(pwd)/dist/index.js
    
  4. 开始聊天:“显示我今天的录音”

🚀 安装

选项1:从npm安装

npm install -g limitless-ai-mcp-server

选项2:从源代码安装

# Clone the repository
git clone https://github.com/ericbuess/limitless-ai-mcp-server.git
cd limitless-ai-mcp-server

# Install dependencies
npm install

# Build the project
npm run build

# Optional: Link globally
npm link

🔧 配置

1.设置您的Limitless API密钥

# Add to your shell profile (.bashrc, .zshrc, etc.)
export LIMITLESS_API_KEY="your-api-key-here"

# Optional: Configure custom settings
export LIMITLESS_TIMEOUT=120000  # Timeout in milliseconds
export LIMITLESS_BASE_URL="https://api.limitless.ai/v1"  # Custom API endpoint
export LOG_LEVEL="INFO"  # Options: DEBUG, INFO, WARN, ERROR

# Optional: Configure caching
export CACHE_MAX_SIZE=100  # Maximum cached items
export CACHE_TTL=300000  # Cache lifetime in ms (5 minutes)
export SEARCH_CACHE_MAX_SIZE=50  # Search cache size
export SEARCH_CACHE_TTL=180000  # Search cache lifetime (3 minutes)

2.配置您的MCP客户端

克劳德代码CLI

如果您使用的是Claude Code(Anthropic的官方CLI),请运行:

# Option 1: Using the command directly (recommended)
npm install -g limitless-ai-mcp-server
claude mcp add limitless -s user -e LIMITLESS_API_KEY="your-api-key-here" -- limitless-ai-mcp-server

# Option 2: Using node with the full path (most reliable with nvm)
npm install -g limitless-ai-mcp-server
# Find where npm installed it:
npm list -g limitless-ai-mcp-server
# Then use the direct path (adjust the node version as needed):
claude mcp add limitless -s user -e LIMITLESS_API_KEY="your-api-key-here" -- node ~/.nvm/versions/node/v22.0.0/lib/node_modules/limitless-ai-mcp-server/dist/index.js

# Option 3: Using local installation
cd /path/to/limitless-ai-mcp-server
npm install && npm run build
claude mcp add limitless -s user -e LIMITLESS_API_KEY="your-api-key-here" -- node /path/to/limitless-ai-mcp-server/dist/index.js

# Verify it's running
claude mcp list

# Remove if needed
claude mcp remove limitless -s user

Claude桌面配置

  1. 查找您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. 打开文件 (如果它不存在,则创建它)并添加:

{
  "mcpServers": {
    "limitless": {
      "command": "node",
      "args": ["/path/to/limitless-ai-mcp-server/dist/index.js"],
      "env": {
        "LIMITLESS_API_KEY": "your-api-key-here"
      }
    }
  }
}
  1. 替换占位符:

    • /path/to/limitless-ai-mcp-server → 您的实际安装路径(例如。, /Users/yourname/limitless-ai-mcp-server)
    • your-api-key-here → 您的Limitless API密钥来自 limitless.ai/开发者
  2. 重新启动克劳德桌面 使更改生效

  3. 验证它是否正常工作:在Claude中键入“显示我最近的录音”

其他MCP客户端

有关MCP服务器配置,请参阅客户的文档。

🛠️ 可用工具

1. limitless_get_lifelog_by_id

通过唯一ID检索单个记录。

参数:

  • lifelog_id (必填):唯一标识符
  • includeMarkdown:包括降价内容(默认值:true)
  • includeHeadings:包括标题(默认值:true)

2. limitless_list_lifelogs_by_date

列出特定日期的所有记录。

参数:

  • date (必填):YYYY-MM-DD格式的日期
  • limit:最大结果(最大值:100)
  • direction:排序顺序(“sc”或“desc”)
  • timezone:IANA时区
  • includeMarkdown:包括降价内容
  • includeHeadings:包括标题

3. limitless_list_lifelogs_by_range

列出日期/时间范围内的记录。

参数:

  • start (必填):开始日期/时间
  • end (必填):结束日期/时间
  • limit:最大结果
  • direction:排序顺序
  • timezone:IANA时区
  • includeMarkdown:包括降价内容
  • includeHeadings:包括标题

4. limitless_list_recent_lifelogs

列出最近的录音。

参数:

  • limit:录制数(默认值:10,最大值:100)
  • timezone:IANA时区
  • includeMarkdown:包括降价内容
  • includeHeadings:包括标题

5. limitless_search_lifelogs

在最近的录音中搜索关键字。

参数:

  • search_term (必填):要搜索的文本
  • fetch_limit:要搜索多少个最近的日志(默认值:20,最大值:100)
  • limit:返回的最大结果
  • includeMarkdown:包括降价内容
  • includeHeadings:包括标题

🔌 MCP协议特性

此服务器实现了所有五个核心MCP协议功能,以提供多种方式访问和分析您的Limitless数据:

📁 资源

以结构化资源的形式浏览和访问您的生活日志。资源为您的录制提供了一个类似文件系统的界面。

可用URI:

  • lifelog://recent -浏览最近的录音
  • lifelog://2024-01-15 -浏览特定日期的录音
  • lifelog://2024-01-15/abc123 -访问特定录音

Claude中的用法:

"Browse my recent recordings"
"Show me resources from January 15th"
"Open lifelog://recent"

📝 提示

用于常见分析任务的预构建提示模板。每个提示都可以用参数进行自定义。

可用提示:

  1. 每日总结 -总结特定日期的所有录音
    • 论据: date (必填)
  2. 行动项目 -从记录中提取行动项
    • 论据: date 或 dateRange (可选)
  3. 关键主题 -确定讨论的主要主题
    • 论据: date 或 searchTerm (可选)
  4. 会议记录 -将录音格式化为结构化会议笔记
    • 论据: date (必填)
  5. 搜索洞察 -分析搜索结果中的模式
    • 论据: searchTerm (必填)

Claude中的用法:

"Use the daily-summary prompt for yesterday"
"Extract action items from this week"
"Show me key topics I discussed about the project"

🔍 采样

启用基于AI的录音内容分析。采样功能允许AI直接处理和分析生活日志内容。

能力:

  • 总结长录音
  • 提取具体信息
  • 识别模式和趋势
  • 从多个记录中生成见解
  • 分析情绪和语气

Claude中的用法:

"Analyze the tone of my meetings this week"
"Summarize the key decisions from yesterday's recordings"
"Find patterns in how I discuss project timelines"

🔎 发现

自动向MCP客户端公开服务器功能。这使Claude和其他工具能够了解可用的功能。

暴露信息:

  • 服务器名称和版本
  • 可用的工具、资源和提示
  • 支持的功能和限制
  • API功能

⚡ 性能和缓存

该服务器包括一个智能缓存系统,以优化性能:

缓存功能:

  • LRU(最近最少使用)驱逐策略
  • 可配置TTL(生存时间)
  • 将生活日志和搜索结果分开缓存
  • 自动缓存失效
  • 缓存统计信息跟踪

配置(通过环境变量):

  • CACHE_MAX_SIZE -最大缓存项数(默认值:100)
  • CACHE_TTL -缓存寿命(毫秒)(默认值:300000/5分钟)
  • SEARCH_CACHE_MAX_SIZE -搜索缓存大小(默认值:50)
  • SEARCH_CACHE_TTL -搜索缓存寿命(默认值:180000/3分钟)

💡 使用示例

使用克劳德桌面

配置后,您可以自然地与Limitless数据交互:

"Show me all my recordings from yesterday"

"Search for conversations where I discussed 'project timeline'"

"Get the recording with ID abc123 and summarize the key points"

"List my recordings from last week and identify action items"

"What did I discuss in meetings between Monday and Wednesday?"

程序化使用

import { LimitlessClient } from 'limitless-ai-mcp-server';

const client = new LimitlessClient({
  apiKey: process.env.LIMITLESS_API_KEY,
  timeout: 120000,
});

// Get recent recordings
const recentLogs = await client.listRecentLifelogs({ limit: 5 });

// Search for specific content
const results = await client.searchLifelogs({
  searchTerm: 'project update',
  fetchLimit: 50,
});

// Get recordings by date
const todaysLogs = await client.listLifelogsByDate('2024-01-15', {
  includeMarkdown: true,
});

🧪 发展

设置开发环境

# Install dependencies
npm install

# Run in development mode
npm run dev

# Run tests
npm test

# Run linting
npm run lint

# Format code
npm run format

项目结构

limitless-ai-mcp-server/
├── src/
│   ├── core/           # Core business logic
│   │   └── limitless-client.ts
│   ├── tools/          # MCP tool definitions and handlers
│   │   ├── definitions.ts
│   │   ├── handlers.ts
│   │   └── schemas.ts
│   ├── types/          # TypeScript type definitions
│   │   └── limitless.ts
│   ├── utils/          # Utility functions
│   │   ├── date.ts
│   │   ├── format.ts
│   │   ├── logger.ts
│   │   └── retry.ts
│   └── index.ts        # Main server entry point
├── tests/              # Test files
├── examples/           # Usage examples
└── dist/               # Compiled output

运行测试

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Generate coverage report
npm run test:coverage

🤝 贡献

欢迎投稿!请按照以下步骤操作:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

请确保:

  • 所有测试均通过
  • 代码遵循现有样式(run npm run lint)
  • 为新功能添加测试
  • 根据需要更新文档

🐛 故障排除

常见问题

  1. “未找到生活日志”

    • 确保您有无限吊坠的录音
    • 检查您的API密钥是否有效
    • 验证您正在查询的日期范围
  2. 超时错误

    • 增加超时时间: export LIMITLESS_TIMEOUT=300000
    • 减少请求的结果数量
    • 检查您的互联网连接
  3. 身份验证错误

    • 验证API密钥设置是否正确
    • 确保密钥未过期
    • 在limitless.ai/developers检查API密钥权限

调试模式

启用调试日志记录以获取更多信息:

export LOG_LEVEL=DEBUG

Claude桌面特定问题

  1. MCP服务器未显示

    • 确保配置文件是有效的JSON(使用JSON验证器检查)
    • 验证路径 dist/index.js 是绝对的,不是相对的
    • 确保你已经跑过了 npm run build 克隆后
    • 完全重新启动克劳德桌面
  2. “命令失败”错误

    • 检查是否安装了Node.js 22+: node --version
    • 验证服务器是否在本地工作: LIMITLESS_API_KEY=your-key node dist/index.js
    • 检查克劳德桌面日志:帮助→ 显示日志
  3. 未返回数据

    • 在确认您的API密钥有效 limitless.ai/开发者
    • 确保您有Pendant录音(不是应用程序/扩展数据)
    • 当你知道你有录音时,尝试一个特定的日期

Claude代码CLI特定问题

  1. 带有npx的“MCP服务器状态:失败”

    这是一个已知的问题,其中 npx 使用nvm时,无法可靠地找到全局安装的软件包。

    解决方案:请改用直接命令或完整路径:

    # Instead of: -- npx limitless-ai-mcp-server
    # Use: -- limitless-ai-mcp-server
    # Or: -- node ~/.nvm/versions/node/vXX.X.X/lib/node_modules/limitless-ai-mcp-server/dist/index.js
    
  2. 使用nvm查找正确的路径

    # First, check which Node version you're using:
    node --version
    
    # Then find where the package is installed:
    npm list -g limitless-ai-mcp-server
    
    # The path will be something like:
    # ~/.nvm/versions/node/v22.0.0/lib/node_modules/limitless-ai-mcp-server
    

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢

  • 无限AI 用于惊人的Pendant和API
  • Anthropic 对于MCP协议
  • 此项目的所有贡献者

📞 支持


备注:该项目不是Limitless AI的正式附属项目。它是Limitless API MCP服务器的独立实现。