使用说明
GranolaAI MCP服务器(Fork with API Support)
用于将Granola.ai会议智能与Claude Desktop集成的模型上下文协议(MCP)服务器。
此分支为转录本添加了API回退。 原始proofgeist版本仅从Granola的本地缓存中读取,这意味着在Granola UI中查看转录之前,转录本不可用(延迟加载)。当转录本不在本地缓存中时,这个fork会自动从Granola的API中获取转录本。
特性
- 会议搜索:按标题、内容、参与者和记录内容搜索会议
- 会议详细信息:通过本地时区显示获取全面的会议元数据
- 完整成绩单访问:检索带有演讲者标识的完整会议对话
- 丰富的文档内容:访问实际的会议笔记、摘要和结构化内容
- 模式分析:分析会议模式(参与者、频率、主题)
- 时区情报:所有时间戳都会自动显示在您的本地时区
- 实时集成:无缝连接到您的实际Granola会议数据
快速开始
先决条件
- Python 3.12+
- 紫外线 包管理器
- 安装了Granola.ai的macOS
- Granola缓存文件位于
~/Library/Application Support/Granola/cache-v3.json
Cursor一键安装(推荐)
单击上面的按钮,将Granola MCP服务器自动添加到Cursor。
注: 这需要 紫外线 Granola.ai将在macOS上运行。
手动安装(Claude桌面版)
Click to expand manual setup instructions
-
将存储库克隆到主目录:
cd ~ git clone https://github.com/proofgeist/granola-ai-mcp-server cd granola-ai-mcp-server重要提示: 克隆到您的主目录(
~)而不是~/Documents以避免Claude Desktop的macOS权限问题。 -
使用uv安装依赖项:
uv sync -
测试安装:
uv run python test_server.py -
配置Claude桌面 通过添加到您的
claude_desktop_config.json:{ "mcpServers": { "granola": { "command": "/Users/YOUR_USERNAME/granola-ai-mcp-server/.venv/bin/granola-mcp-server", "args": [], "env": {} } } }重要提示:
- 替换
YOUR_USERNAME使用您的实际macOS用户名 - 使用虚拟环境脚本的直接路径(不是
uv run)避免工作目录问题 - 路径应指向您的主目录安装
- 替换
-
重新启动克劳德桌面 加载MCP服务器:
# Quit Claude completely osascript -e 'quit app "Claude"' # Reopen Claude open -a "Claude"
可用工具
搜索_留言
按查询字符串搜索会议。
Parameters:
- query (string): Search query for meetings
- limit (integer, optional): Maximum number of results (default: 10)
get_meeting_details
获取特定会议的详细信息。
Parameters:
- meeting_id (string): Meeting ID to retrieve details for
get_meeting_transcript
获取特定会议的记录。 如果不在本地缓存中,则返回到Granola API。
Parameters:
- meeting_id (string): Meeting ID to get transcript for
注: Granola仅在您在UI中查看时才会将转录本延迟加载到本地缓存中。这个fork添加了自动的API后退,当转录本没有缓存在本地时,可以直接从Granola的服务器获取转录本。
get_meeting_documents
获取与会议相关的文档。
Parameters:
- meeting_id (string): Meeting ID to get documents for
分析会议模式
分析多个会议的模式。
Parameters:
- pattern_type (string): Type of pattern to analyze ('topics', 'participants', 'frequency')
- date_range (object, optional): Date range for analysis with start_date and end_date
用法示例
一旦配置了Claude Desktop,您就可以使用自然语言与Granola会议进行交互:
基本查询
- “搜索有关季度规划的会议”
- “显示昨天的会议”
- “查找本周与David的会面”
成绩单访问
- “获取昨天ProofChat会议的记录”
- “Float回滚计划会议讨论了什么?”
- “向我展示David Tibbi会议的完整对话”
内容分析
- “分析上个月的参与者模式”
- “哪些文件与产品评审会议相关?”
- “搜索会议记录中提到的‘模式标签’”
最近的会议情报
服务器自动检测并提供对以下内容的访问:
- 完整成绩单 来自最近的会议(25000+个字符)
- 会议内容 包括注释和摘要
- 参与者信息 以及说话者识别
- 本地时区显示 适用于所有会议时间
发展
运行测试
uv run python test_server.py
直接运行服务器
uv run granola-mcp-server
添加依赖关系
uv add package-name
配置
Claude桌面配置位置
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
格兰诺拉麦片缓存位置
服务器从Granola的缓存文件中读取:
~/Library/Application Support/Granola/cache-v3.json
安全与隐私
- ✅ 本地优先处理 -首先从本地缓存读取
- ✅ API用于转录的回退 -仅当转录未在本地缓存时从Granola API获取(使用您现有的Granola auth令牌)
- ✅ 尊重格兰诺拉麦片许可 -使用现有的Granola.ai访问控制
- ✅ 只读访问 -服务器只读取数据,从不修改
性能和能力
- 快速加载:为数百个会议加载低于2秒的缓存
- 丰富的内容:提取25000多个字符的文字记录和会议笔记
- 有效搜索:跨标题、内容、参与者和成绩单的多字段搜索
- 内存优化:使用智能内容解析进行延迟加载
- 时区智能:自动本地时区检测和显示
- 生产就绪:成功处理真实的Granola数据(11.7MB缓存文件)
- 可扩展的:处理每次会议包含500多个转录片段的大型数据集
当前状态
🚀 生产就绪 -已成功使用真实的Granola.ai数据进行测试,包括:
- ✅ 39+次会议 解析和搜索
- ✅ 28份完整成绩单 完整的对话
- ✅ 丰富的会议内容 来自笔记、摘要和结构化数据
- ✅ 时区情报 显示类似“17:04”而不是“21:04 UTC”的时间
- ✅ 说话人辨认 和对话流
- ✅ 昨天的会议 内容详尽,完全可访问
故障排除
常见问题
“找不到缓存文件”
- 确保Granola.ai已安装并处理了一些会议
- 检查缓存文件是否存在:
ls -la "~/Library/Application Support/Granola/cache-v3.json"
“未找到uv命令”
- 安装紫外线:
curl -LsSf https://astral.sh/uv/install.sh | sh - 或者在Claude配置中使用pip回退:
"command": "python"
“权限被拒绝”或“不允许操作”
-
macOS上最常见的问题:当服务器安装在
~/Documents或其他受保护的文件夹 -
解决方案1(推荐):将安装移动到主目录:
mv ~/Documents/granola-ai-mcp-server ~/granola-ai-mcp-server cd ~/granola-ai-mcp-server uv sync # Rebuild venv with correct paths然后更新路径
claude_desktop_config.json -
解决方案2:授予Claude桌面全磁盘访问权限:
- 打开系统设置→ 隐私和安全→ 全磁盘访问
- 单击锁图标并进行身份验证
- 点击“+”并添加
/Applications/Claude.app - 将克劳德切换到“打开”
- 重新启动克劳德桌面
“当前目录不存在”
- 使用时会出现此错误
uv run随着--directory旗帜 - 请改用venv脚本的直接路径(请参阅安装步骤4)
服务器未出现在Claude Desktop中
- 验证Claude配置中的绝对路径
- 检查克劳德桌面日志:
~/Library/Logs/Claude/mcp-server-granola.log - 在日志中查找Python错误
- 确保路径不包含空格或特殊字符
- 配置更改后重新启动Claude Desktop
“生成进程失败”或“没有这样的文件或目录”
- venv脚本中的Python shebang指向了错误的位置
- 跑
uv sync在项目目录中重建venv - 验证脚本是否存在:
ls -la ~/granola-ai-mcp-server/.venv/bin/granola-mcp-server
Claude中的会议记录显示为空
- 格兰诺拉麦片有时会在里面储存丰富的钞票
documentPanels而不是notes_plain - 此服务器现在默认读取这些面板;集
GRANOLA_PARSE_PANELS=0在环境中禁用 - 跑
python test_real_cache.py验证面板支持的笔记是否产生内容