Anarlog MCP 服务器安装与配置指南:为 AI Agent 打通会议数据读取能力
2026/9/16 20:07:00 网站建设 项目流程

Anarlog MCP 服务器安装与配置指南:为 AI Agent 打通会议数据读取能力

【免费下载链接】anarlogOpen source Granola AI Alternative项目地址: https://gitcode.com/GitHub_Trending/hy/anarlog

本指南以agent-plugins/anarlog插件中针对 LLM/Agent 的安装说明(llms-install.md)为主体,系统讲解如何为 Claude、Codex、Cursor 等 Agent 宿主配置 Anarlog 的托管 Cloud MCP 服务器、如何验证工具是否就绪、以及在云快照缺失时如何用本地anarlogCLI 兜底。读完本文,你将掌握一套完整、可复现的 Agent 接入 Anarlog 会议数据的实战方案,包括 OAuth 自动发现、工具清单校验、无头登录与数据安全边界。

安装前的前置条件

在配置 MCP 服务器之前,先确认两个前提,否则后续步骤无法生效:

  1. 拥有 Anarlog Pro 账号:托管 Cloud MCP 面向订阅用户开放,账号需处于有效状态。
  2. 开启 Cloud API 与连接器:在桌面应用中进入Settings → Developers → Cloud API & Connectors,阅读隐私披露说明后启用该开关,然后等待你的会议快照(meeting snapshots)上传到云端。

这两步与插件级安装(README.md)要求一致:首次使用工具时,宿主会从https://api.anarlog.so/mcp端点自动发现 Anarlog 的授权服务器,随后弹出 Anarlog 的登录与授权确认流程,全程无需手动粘贴云 API Key。也就是说,只要完成了账号启用,MCP OAuth 是自动完成的。

核心步骤:配置托管 Cloud MCP 服务器

llms-install.md给出的安装流程共五步,是接入的权威操作序列:

  1. 确认用户已拥有 Anarlog Pro,并在桌面应用中启用Settings → Developers → Cloud API & Connectors
  2. 配置一个名为anarlog的 HTTP MCP 服务器,端点指向https://api.anarlog.so/mcp。宿主应从这个端点自动发现 OAuth 授权流程;只有在宿主无法完成 MCP OAuth 的情况下,才考虑手动粘贴云 API Key。
  3. 启动服务器,并确认工具列表中包含list_meetingsget_meetingget_meeting_transcriptget_recurring_meeting_historyexport_meeting五个核心工具。
  4. 如果 Cloud 返回的会议列表缺少用户预期的会议,先检查anarlog是否在PATH中(执行anarlog --version),并用anarlog --json补齐缺口;若 CLI 缺失,提示用户从Anarlog → Settings → Developers安装,或参照官方安装文档。未经许可不得自行安装软件或搜索文件系统。
  5. 绝不直接查询或修改 Anarlog 的 SQLite 数据库。

最后一条边界在插件层同样被反复强调(见 SKILL.md 与 cli.md):CLI 与 MCP 服务器通过 Anarlog 的兼容层处理应用 schema,Agent 绕过它们直接读写数据库会破坏数据一致性。

手动添加 MCP 服务器配置

对于不支持插件市场安装的客户端,可以在客户端配置文件中直接声明托管服务器。插件自带的 mcp.json 给出了标准声明:

{ "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json", "mcpServers": { "anarlog": { "type": "http", "url": "https://api.anarlog.so/mcp" } } }

在常见客户端中同样可直接使用 JSON 形式:

{ "mcpServers": { "anarlog": { "url": "https://api.anarlog.so/mcp" } } }

也可以在支持命令行添加 MCP 的客户端中直接执行(以 Claude Code 为例):

claude mcp add --transport http anarlog https://api.anarlog.so/mcp

Claude 会从该 MCP 端点自动发现 OAuth 授权服务器。

验证工具是否就绪

步骤 3 的验证点是必须检查的:只有五个核心工具全部列出,说明 OAuth 握手成功且 Cloud 快照服务可访问。这五个工具的全部职责如下(详见 mcp.md):

工具用途
list_meetings按标题、ID 片段或重复会议系列查找近期会议;返回空列表即表示无匹配,不得臆造会议
get_meeting读取元数据、规范笔记、摘要、参与者和行动项
get_meeting_transcript分页读取转录内容,默认limit: 200词,按需通过pagination.next_offset继续
get_recurring_meeting_history查找与已知会议同属一个重复系列的历次会议
export_meeting读取包含完整转录在内的完整会议记录,仅当小粒度读取不足时使用

工具与资源全景

除上述五个只读工具外,MCP 层还暴露了本地模式下才有的提案(proposal)工具,以及两类 URI 资源:

本地 MCP 提案工具(只暂存、不落库)

工具用途
propose_summary_edit暂存完整的摘要替换,存在多个摘要时需传target_id
propose_memo_edit暂存完整的笔记替换
list_proposals列出已暂存的提案,默认过滤status: pending
get_proposal读取单个提案及其统一的diff
decline_proposal丢弃待处理提案而不改动会议;已应用的提案无法被拒绝

资源 URI

  • anarlog://meetings/{meeting_id}
  • anarlog://meetings/{meeting_id}/transcript{?offset,limit}
  • anarlog://series/{series_id}

使用原则:工作流需要结构化 JSON 时优先用工具;客户端需要简洁的 Markdown 或纯文本上下文时使用资源。转录资源的默认分页同样为 200 词、上限 500 词,且只返回纯文本。

Cloud 快照缺失时的本地 CLI 兜底

托管 Cloud MCP 是只读的,且只包含用户主动上传的快照。当list_meetings返回空列表或缺少某场会议时,正确做法是用本地 CLI 二次检索,而不是直接告诉用户"没有数据"(这也是 errors.md 明确要求的处理路径)。

安装 CLI

在桌面应用Anarlog → Settings → Developers选择Install,各平台的安装路径如下:

  • macOS 与 Linux(DEB / AppImage):~/.local/bin/anarlog
  • Windows:%LOCALAPPDATA%\Anarlog\bin\anarlog.exe

Mac App Store 版本不附带 CLI 安装,需要从源码构建(setup.md):

git clone https://gitcode.com/GitHub_Trending/hy/anarlog cd anarlog cargo install --locked --path apps/cli anarlog --version

安装后先运行一次 Anarlog 桌面应用,让本地数据库被创建;此后即使应用关闭,CLI 也能正常工作。注意平台差异:Flatpak 发行版中命令名为anarlog-cli,而 DEB、AppImage、macOS、Windows 及 Settings 安装版本均为anarlog

无头环境登录

Cloud 登录不要求 Anarlog 所在机器有图形会话。执行:

anarlog auth login

CLI 会打印一个登录 URL,在任意设备的浏览器中打开并完成登录,选择Copy URL,再把形如anarlog://auth/callback的回调链接粘贴到 CLI 的隐藏输入框中。绝不能让用户在聊天中粘贴该回调链接,也不得把它写进命令参数——其中包含账号令牌。验证会话状态:

anarlog --json auth status

在使用--json时,登录 URL 打印到 stderr,回调从 stdin 读取,便于脚本化处理。Linux 下会话优先使用 Secret Service,不可用时退回到权限为0600的本地认证文件。退出登录使用anarlog auth logout

CLI 常用命令集

所有面向 Agent 的输出都应使用--json(cli.md):

# 环境自检:ready:false 时命令以退出码 1 结束 anarlog --json doctor # 本地库检索会议 anarlog --json meetings list --query "planning" --limit 20 --offset 0 # 读取云端托管快照(需 auth login) anarlog --json meetings --source cloud list --query "planning" --limit 20 --offset 0 # 按 ID 读取单场会议 anarlog --json meetings --source auto get MEETING_ID anarlog --json meetings get MEETING_ID # 读取笔记/摘要 anarlog --json meetings note MEETING_ID --kind note anarlog --json meetings note MEETING_ID --kind summary # 重复系列历史 anarlog --json meetings history MEETING_ID --limit 20 --offset 0 # 分页读取转录(200 词一页) anarlog --json meetings transcript MEETING_ID --limit 200 --offset 0 # 提案(暂存编辑) anarlog --json proposals list --meeting MEETING_ID anarlog --json proposals create --meeting MEETING_ID --kind summary --content "Replacement markdown" anarlog --json proposals show PROPOSAL_ID anarlog --json proposals decline PROPOSAL_ID # 显式导出完整会议 anarlog meetings export MEETING_ID --format markdown --output meeting.md anarlog meetings export MEETING_ID --format json --output meeting.json

关键语义要点:

  • 会议命令默认--source local--source cloud读取托管快照;--source auto在本地数据库存在时用本地、否则用云端。
  • proposals create只是暂存一个待处理编辑,会议并未被修改;由人类用户在桌面应用中批准或拒绝。
  • 导出命令拒绝覆盖已有文件,只有用户明确批准替换该确切路径时才传--force
  • JSON 成功响应包含schema_versioncommanddata与可选的pagination,仅在确实需要更多上下文时沿next_offset继续翻页。
  • 数据库路径可全局覆盖:anarlog --db-path /path/to/app.db --json meetings listanarlog --base /path/to/anarlog-data --json meetings list,也可用环境变量ANARLOG_DB_PATH(仅当数据库位于自定义位置时使用)。

可选:完全本地的 stdio MCP

若需要完全不使用 Cloud 的本地 Agent,可自行启动 stdio 服务器:

anarlog mcp

通用客户端配置如下:

{ "mcpServers": { "anarlog": { "command": "anarlog", "args": ["mcp"] } } }

修改 MCP 配置后需重启客户端。注意:插件市场的托管版本不会启动这个本地服务器,本地 stdio 服务器只用于填补 Cloud 缺失的缺口,不应在 Cloud 已返回结果时将其当作第二数据源(见 SKILL.md)。

数据安全与操作边界

  • 托管 Cloud MCP 只读:暂存笔记或摘要编辑必须走本地 CLI 或本地 MCP 的提案工具,由人类在桌面应用中应用或拒绝。
  • 绝不触碰 SQLite:CLI 与 MCP 服务器承担 schema 兼容职责,Agent 不得直接查询或修改数据库,也不得自行执行迁移或编写 SQL。
  • 上下文有界:转录按词分页(默认 200、上限 500),只在必要时沿next_offset翻页;能用一个会议详情或笔记回答的问题,就不要导出整场会议。
  • 隐私处理:会议内容属于用户私密数据,未经明确授权不得发送给其他服务或人员。
  • 答案要落地:只引用实际调用工具返回的会议、标题、日期与 ID,明确标注数据来源是 Cloud 还是本地库,绝不从对话或相似名称中臆造会议。

常见故障排查

errors.md 给出了各错误的处置原则,摘录如下:

  • Meeting not found:重新列出或搜索会议并使用返回的 ID,不要重试猜测的 ID。
  • No meetings returned:Cloud 返回空列表时,先用anarlog --json meetings list在本地再搜一次;空列表通常意味着快照未开启或该会议尚未上传。只有所有可及来源均为空时才告知用户未找到。
  • Database not found:运行anarlog --json doctor;若数据库不存在,请用户先打开一次 Anarlog;自定义路径则使用--db-pathANARLOG_DB_PATH
  • Database operation failed:确认桌面应用与 CLI 来自兼容版本,Agent 不得执行迁移或写 SQL。
  • Cloud command failed:保留 CLI 返回的托管错误码——unauthorized时重新anarlog auth logincloud_api_not_enabled时请用户启用Cloud API & Connectorsrate_limited时等待返回的重试延迟。不要静默把用户显式要求的--source cloud读取切换到本地数据。
  • Export output exists:选择新路径,只有用户明确批准替换该文件时才传--force
  • MCP server exits:先运行anarlog --json meetings list区分数据库访问与客户端配置问题;确认 MCP 命令是anarlog且唯一必需参数是mcp。缺失的会议/提案属于无效参数,校验与冲突失败(如拒绝非 pending 提案)属于 MCP 内部错误。
  • 退出码约定1操作失败、2数据缺失、3数据库缺失、4导出目标已存在;非法 CLI 参数使用 Clap 的退出码并带有invalid_arguments错误码。--json错误响应含schema_versionerror对象(codemessageexit_code)。

实现层面的佐证

从仓库源码结构看,CLI 的命令路由集中在 apps/cli/src/cli.rs,MCP 服务器入口在 apps/cli/src/mcp.rs,Cloud 快照读取与授权逻辑在 apps/cli/src/cloud.rs 与 apps/cli/src/db.rs 中组织,构建配置见 apps/cli/Cargo.toml;云端 API 服务层则位于 crates/api-cloud/src。插件元数据(名称、版本、关键词、仓库地址)声明在 plugin.json,插件级安装指引见 README.md,Agent 工作流(选择数据源、查会议、落地答案、上下文有界、安全处理)的完整规范见 SKILL.md。

小结

接入 Anarlog 的 MCP 只需一条主线:前置开启 Cloud API → 配置托管端点(OAuth 自动发现)→ 校验五个只读工具 → Cloud 缺失时用本地 CLI 兜底。全程遵守"只读快照、提案式编辑、禁止直连 SQLite"三条安全边界,即可让任何支持 HTTP MCP 的 Agent 安全、合规地访问会议、笔记、摘要与转录数据。

【免费下载链接】anarlogOpen source Granola AI Alternative项目地址: https://gitcode.com/GitHub_Trending/hy/anarlog

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询