// 配置文件
opencode.json
在项目的 opencode.json 中把服务器加到 mcp 下;想让所有项目都用,就加到 ~/.config/opencode/opencode.json。
面向 OpenCode 用户
OpenCode 从 AGENTS.md 读取工作方式,其余一切都调用 MCP 服务器。Maguyva 是一个远程 MCP 服务器,为 OpenCode 提供一张可查询的仓库地图,带文件路径和行号。
Free 层级:3 个代码仓库, 最多 5 万行索引代码,无需信用卡。
在 mcp 下加一条远程条目。本地什么都不用跑。 四条 OpenCode 专属事实。
// 配置文件
在项目的 opencode.json 中把服务器加到 mcp 下;想让所有项目都用,就加到 ~/.config/opencode/opencode.json。
// 传输方式
OpenCode 通过 HTTP 连接 Maguyva 的端点。本地什么都不运行,也不需要 Node.js。
// 密钥
OpenCode 会替换配置中的环境变量,所以请求头写作 Bearer {env:MAGUYVA_API_KEY},密钥不会出现在你提交的文件里。
// 上下文预算
每个 MCP 服务器都会往上下文里添加工具定义。OpenCode 可以用 "maguyva*": false 这样的 glob 在全局关闭某个服务器的工具,再只为需要的智能体重新打开。
> /init
# 扫描仓库并写出 AGENTS.mdOpenCode 读取项目根目录的 AGENTS.md,以及存放个人规则的 ~/.config/opencode/AGENTS.md。没有 AGENTS.md 时,会退回读取 CLAUDE.md。适合写进去的有:
/init 时的扫描是一份摘要,不是索引。它不会告诉 OpenCode 谁在调用昨天新加的函数。
OpenCode 靠 grep 和耐心填补的三个缺口。
AGENTS.md 可以点出重要的包。它没法列出每个符号和调用点,也不该去尝试。
文本匹配分不清真正的调用、注释、mock,以及另一个类上的同名方法。
AGENTS.md 在写成的那天是对的。代码一直在变,而文件只在有人想起来时才会更新。
在 mcp 下加一条条目,OpenCode 就能获得:
AGENTS.md 告诉 OpenCode 怎么工作。
Maguyva 给 OpenCode 可以依据的东西。
在同一个终端里问地图。
// workflow 01
opencode> 把 OrderStatus 重命名为 FulfillmentStatus dependency_search("OrderStatus", dependents) 分布在 8 个包中的 23 处引用 structural_search(switch_statement, "OrderStatus") 4 个穷举 switch → OpenCode 编辑完整清单,switch 也包括在内。 [exit 0]
正是这些穷举 switch,文本搜索会漏掉,编译器则很晚才发现。
// workflow 02
opencode> FEATURE_BULK_EXPORT 在哪里被读取? text_pattern_search("FEATURE_BULK_EXPORT") src/config/flags.ts:17 src/export/bulk.ts:5 docs/flags.md:40 ← 仅文档 → 两条代码路径,一份过时的文档。 [exit 0]
精确匹配连同路径一起返回,OpenCode 在动手编辑之前就能分清哪是代码、哪是文档。
三个步骤。Free 层级:3 个代码仓库, 最多 5 万行索引代码,无需信用卡。
// step 01
挑一个你已经熟悉的,这样你能给答案打分。
// step 02
opencode.json
{
"mcp": {
"maguyva": {
"type": "remote",
"url": "https://maguyva.tools/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:MAGUYVA_API_KEY}"
}
}
}
} // step 03
在启动 OpenCode 的 shell 中设置 MAGUYVA_API_KEY。opencode mcp list 会列出每个已配置的服务器;然后问一个你已经知道答案的问题。