Granola MCP服务器

用于集成的模型上下文协议(MCP)服务器 格拉诺拉.ai 与Claude Desktop和其他MCP客户会面。直接从AI助手访问您的会议、笔记和成绩单。
⚠️ 免责声明
这是一个 非官方的,社区构建的工具。它不隶属于、认可或支持Granola,股份有限公司。
此服务器使用通过网络检查发现的未记录的API。使用此工具可能会违反Granola的服务条款。 使用风险自负。
如果您来自Granola,希望删除此存储库,或希望讨论API的官方访问,请打开一个问题。
特性
- 🔍 会议搜索 -按标题、内容和参与者搜索会议
- 📝 完整内容访问 -以Markdown格式检索完整的会议笔记
- 🏢 工作空间管理 -按工作区(组织)列出和筛选
- 📁 文件夹组织 -按文档文件夹列出和筛选
- 🔄 实时API访问 -直接访问格拉诺拉的API
- 🔐 安全认证 -使用您现有的Granola凭证
- ⚡ 智能缓存 -5分钟缓存,实现最佳性能
先决条件
- Node.js 18+
- 格拉诺拉.ai 在macOS上安装并登录
- 克劳德桌面版 (或另一个MCP客户端)
安装
git clone https://github.com/EoinFalconer/granola-mcp-server.git
cd granola-mcp-server
npm install
npm run build配置
克劳德桌面版
添加到您的 claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"granola": {
"command": "node",
"args": ["/path/to/granola-mcp-server/index.js"]
}
}
}然后重新启动Claude Desktop。
可用工具
| 工具 | 说明 | 参数 |
|---|---|---|
search_meetings | 按标题/内容搜索会议 | query, limit? |
get_meeting_details | 获取会议元数据 | meeting_id |
get_meeting_content | 以Markdown格式获取完整笔记 | meeting_id |
list_workspaces | 列出所有工作区 | - |
list_folders | 列出文档文件夹 | workspace_id? |
filter_by_workspace | 按工作区筛选会议 | workspace_id |
filter_by_folder | 按文件夹筛选会议 | folder_id |
用法示例
配置后,使用Claude中的自然语言:
- *“搜索有关季度规划的会议”*
- *“获取昨天脱口秀的内容”*
- *“列出我的所有工作区”*
- *“显示Sales文件夹中的会议”*
运作原理
认证
服务器从以下位置读取您现有的Granola凭据:
~/Library/Application Support/Granola/supabase.json无需额外登录-它使用您现有的Granola会话。
API集成
- 对Granola后端的直接REST API调用
- ProseMirror内容转换为可读的Markdown
- 具有5分钟TTL的内存缓存
故障排除
“获取访问令牌失败”
确保Granola已安装并且您已登录。服务器需要:
~/Library/Application Support/Granola/supabase.json服务器未出现在Claude中
- 验证配置路径是否正确
- 跑
npm run build - 完全重新启动克劳德桌面
发展
npm run build # Compile TypeScript
npm run watch # Watch mode
npm run dev # Build and run致谢与致谢
该项目的灵感来源于以下逆向工程工作:
- 约瑟夫·萨克尔 -关于Granola的API反向发动机的详细博客文章
- getprobo/对格兰诺拉麦片原料药进行逆向工程 -API文件和研究
感谢您与社区分享您的发现! 🙏
相关项目
- 鹅卵石山机/格兰诺拉麦片 -基于Python的缓存文件方法
- btn0s/燕麦片 -TypeScript,类似API方法
贡献
欢迎投稿!请随时提交问题和拉取请求。
许可证
MIT© Eoin Falconer
