
1. 本地 Gemma 4 跑通了为什么 Obsidian MCP Tools 还是 401你大概率遇到过这个场景Ollama 里gemma4:26b已经能正常对话Obsidian 的 Local REST API 插件也启用了端口 27124、自动生成的 API Key 都填进了 MCP Tools 的配置里node server.js路径也确认过没写错。重启客户端之后你信心满满地输入「请列出我 Obsidian 笔记库中最近的 5 篇笔记」结果等来的不是笔记列表而是 401或者干脆连接超时。问题出在哪很多人第一反应是去翻 Ollama 服务状态、检查OBSIDIAN_API_KEY和OBSIDIAN_PORT有没有写错。这一步没错但它只覆盖了链路的前半截——笔记侧。真正断掉的地方往往在模型侧那些需要你自己填「模型 Base URL」和「模型 Key」的 MCP 客户端模型这一层根本没有通道。Ollama 默认的http://localhost:11434是给本机工具用的很多 MCP 客户端并不认这个地址或者它期望的是一个标准的 OpenAI 兼容入口而你填的地址多了/v1、少了协议头请求自然打不通。这篇文章就按排障视角把「Gemma 4 本地跑通 Obsidian MCP Tools 连不上」这条链路拆开讲。适合已经在本地部署了 Ollama 和 Gemma 4、装好了 Obsidian 插件、但卡在客户端配置这一步的人。核心思路是笔记侧的 27124 端口、server.js 路径、API Key 全部照旧不动只在模型通道这一环把 Base URL 换成 TaoToken 提供的地址让 MCP 客户端有一个稳定可用的模型入口。2. 先把链路拆清楚笔记侧和模型侧是两回事2.1 三个组件各自负责什么这套本地 AI 第二大脑本质上是三个组件串起来的Gemma 4 负责推理。26B MoE 版本总参数 260 亿推理时只激活约 38 亿16GB 显存能跑显存不够就退到 E4B6GB 左右也能起来。它通过 Ollama 暴露成一个本地服务。Ollama 负责跑模型。一条ollama pull就能下载跑起来之后默认监听11434提供 OpenAI 兼容接口。它解决的是「模型怎么在本机跑起来」的问题。Obsidian 负责存笔记。Local REST API 插件给它开了一个 HTTP 接口默认端口 27124启用时自动生成 API Key。MCP Tools 插件则把这个接口包装成 MCP 服务让 AI 客户端能通过node server.js去读写笔记。2.2 401 到底是谁返回的关键点来了401 不一定来自 Obsidian。如果你在 MCP 客户端里填的模型 Base URL 指向的是一个需要鉴权、但你没给对 Key 的地址那这个 401 是模型服务端返回的跟你的笔记库一点关系都没有。反过来如果OBSIDIAN_API_KEY填错了报错通常出现在 MCP Tools 的日志里而不是模型请求那一层。所以排障第一步不是瞎改而是分清报错来源。你可以先单独测笔记侧用 curl 直接打 27124 端口带上 API Key看能不能列出笔记。如果能说明笔记侧没问题问题在模型通道。这一步下面会给具体命令。2.3 为什么模型侧需要一个统一入口Ollama 的11434是本地地址很多 MCP 客户端在配置模型时要求填的是一个完整的 Base URL 加 Key。你直接把http://localhost:11434填进去有的客户端会自作主张拼上/v1/chat/completions有的则完全不认这个格式。更麻烦的是不同客户端对地址结尾要不要带/v1的处理不一致你带也错、不带也错。这时候一个统一的、OpenAI 兼容的模型入口就很有必要。TaoToken 在这里扮演的角色很单纯它给 AI 客户端提供 Key 和 Base URL让模型这一层有一个标准通道。它不碰你的 Obsidian不碰 27124 端口也不碰 server.js 路径。你笔记侧怎么配还是怎么配。3. TaoToken 前置拿到模型通道的 Key 和 Base URL3.1 注册并创建 Key打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 完成注册进入控制台后创建 API Key。这个 Key 是给 MCP 客户端填「模型 Key」用的跟 Obsidian 的OBSIDIAN_API_KEY是两个完全不同的东西别搞混。创建好之后先复制保存很多控制台只完整显示一次。如果你后面还要配别的客户端建议在控制台里给 Key 起个能认出来的名字方便管理。3.2 Base URL 到底填什么这是最容易出错的地方。客户端里的模型 Base URL 填https://taotoken.net/api注意三点不要带/v1不要带任何 UTM 参数不要在后面加斜杠。很多 401 和连不上就是因为手滑填成了https://taotoken.net/api/v1或者把带?utm_source...的完整链接粘了进去。客户端自己会拼接具体的接口路径你只需要给到/api这一层。如果你用的是 Claude Code 这类工具接入文档里有对应的配置说明地址是 https://taotoken.net/doc 。需要单独管理 Key 的话控制台入口在 https://taotoken.net/console API Keys 页面在 https://taotoken.net/api-keys 。3.3 模型名怎么填在客户端里选择或填写模型时用你在 TaoToken 控制台里可用的模型标识。如果你希望先验证模型通道是否通可以打开模型对话页面 https://taotoken.net/model 直接发一句话测试确认 Key 和 Base URL 没问题再回到 Obsidian 这边配 MCP。4. 可复制配置客户端里到底怎么填4.1 笔记侧配置保持不变先把笔记侧确认一遍这部分跟原来一样不要动Local REST API 插件启用后端口保持 27124API Key 用插件生成的那串。MCP Tools 插件里server.js的路径按你实际安装位置填可以在插件设置界面看到。环境变量里OBSIDIAN_API_KEY和OBSIDIAN_PORT照旧。一个典型的 MCP 配置片段长这样{ mcpServers: { obsidian: { command: node, args: [/path/to/obsidian-mcp-tools/server.js], env: { OBSIDIAN_API_KEY: 你的Obsidian插件API密钥, OBSIDIAN_PORT: 27124 } } } }这段里没有任何模型地址它只管笔记读写。模型通道是客户端另一处配置两者分开。4.2 模型侧配置填 TaoToken在 MCP 客户端的模型设置里找到 Base URL 和 API Key 两个字段Base URL 填https://taotoken.net/apiAPI Key 填你在 TaoToken 控制台创建的那串。保存后重启客户端。如果你用的是支持 Coding Plan 的长期编码或 Agent 场景可以在 https://taotoken.net/coding-plan 了解对应的方案把模型通道固定下来避免频繁换 Key。4.3 一个容易忽略的细节有的客户端会把「模型服务地址」和「MCP 服务地址」放在同一个配置文件的不同段落里。你要确认自己改的是模型那一段而不是 MCP 那一段。改错了段等于没改重启后照样 401。改完之后建议先把配置文件完整看一遍确认taotoken.net/api出现在模型相关的位置。5. 验证请求用同一句话确认两条链路都通5.1 先单独验证笔记侧在终端里直接打 Obsidian 的接口确认笔记侧是活的curl -k -H Authorization: Bearer 你的Obsidian插件API密钥 \ https://127.0.0.1:27124/vault/如果返回了笔记库的文件列表说明 27124 端口和 API Key 都没问题。注意 Local REST API 默认是 https用-k跳过自签证书校验。这一步过了就说明问题不在笔记侧。5.2 再验证模型通道用 curl 直接打 TaoToken 的接口确认 Key 和 Base URL 可用curl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer 你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: 你的模型标识, messages: [{role: user, content: 你好}] }能正常返回内容说明模型通道通了。这一步和上一步都过链路的两端就都确认没问题了。5.3 回到笔记库问同一句话重启 MCP 客户端在对话里输入请列出我 Obsidian 笔记库中最近的 5 篇笔记如果这次能正常返回笔记列表说明 MCP 链路和模型通道都已经打通。返回的列表里应该能看到你笔记库里的真实文件名而不是一段报错或者空结果。6. 本篇常见错排查6.1 还是 401先看 Key 用错没有最常见的坑是把 Obsidian 的 API Key 填到了模型 Key 的位置或者反过来。两个 Key 长得可能都像一串随机字符但用途完全不同。检查方法模型 Key 填错报错来自模型服务Obsidian Key 填错报错出现在 MCP Tools 日志里。分开测一次就清楚了。6.2 连不上检查 Base URL 结尾https://taotoken.net/api/v1和https://taotoken.net/api是两个不同的地址。前者多了一层/v1客户端再拼接时就会变成/api/v1/v1/...直接 404 或连不上。把结尾的/v1和斜杠都去掉只留/api。6.3 多写了 /v1 的另一种表现有的客户端不报 404而是超时或者返回一个空响应。这种更隐蔽你会以为是网络问题。遇到超时先把 Base URL 简化到/api再试一次。6.4 改了配置没重启MCP 客户端和 Obsidian 都需要重启才能加载新配置。改完模型 Base URL 后把客户端完全退出再打开不要只关窗口。Obsidian 这边如果改了插件设置也建议重启一次。6.5 server.js 路径写错这个错误不会报 401而是 MCP 服务根本起不来。表现是客户端里看不到 Obsidian 相关的工具。去 MCP Tools 插件设置里复制真实路径注意 Windows 下的反斜杠要转义或者换成双反斜杠。6.6 端口被占用27124 如果被别的程序占了Local REST API 会启动失败。换一个端口同时把OBSIDIAN_PORT改成一样的值。改完记得两边都重启。7. 配好之后这套链路能做什么链路打通之后你可以直接问「我笔记里关于某个主题的内容有哪些」AI 会通过语义搜索找到相关笔记读取全文后给你总结。也可以让它把某个文件夹下的笔记整理成一篇综述直接在笔记库里创建新文件。批量改格式、更新标签、调整元数据这些都能交给它处理。需要提醒的是模型通道和笔记通道是两条独立的链路任何一条出问题都会表现为「AI 不工作」。排障时先分开验证再合起来测比一上来就乱改配置高效得多。如果你后面要换模型或者换客户端笔记侧的 27124、server.js、API Key 都不用动只改模型侧的 Base URL 和 Key 就行。模型对话入口在 https://taotoken.net/model 接入文档在 https://taotoken.net/doc 需要新建或轮换 Key 就去 https://taotoken.net/api-keys 。