最后更新时间:2026-09-22 19:05:22
MCP 服务默认关闭。未启用时 POST /api/mcp 返回 HTTP 404,响应文本为 MCP service is disabled。这个默认值是有意为之——因为 MCP 的权限相当大。
MCP 的 19 个工具覆盖了内容、栏目、主题文件、上传,几乎等于后台管理员的全部写能力:
| 类别 | 工具 | 风险等级 |
|---|---|---|
| 栏目 | list_columns get_column create_column update_column delete_column | 中(删栏目要求栏目为空) |
| 内容 | list_articles get_article create_article update_article delete_article | 中 |
| 主题文件 | create_theme_file edit_theme_file delete_theme_file create_theme_directory delete_theme_directory list_theme_directory read_theme_file rename_theme_path | 高:能直接删磁盘文件 |
| 上传 | upload_file | 中 |
特别提醒:主题文件工具是真删,没有回收站。delete_theme_file 删普通文件、delete_theme_directory 删空目录,都不可恢复。拿到 token 就等于拿到了对这些文件的删除权。
唯一的护栏是路径安全规则:只允许访问当前主题目录,拒绝绝对路径、.. 穿越和越界符号链接。但它不阻止删除主题目录内的合法文件。
disable_localhost_protection 保持默认 false。只有在反向代理以域名访问、且服务监听回环地址时,才需要设为 true。trust_proxy 已打开。model 记为 mcp。后台「系统管理 → 系统日志 → 事件日志」可以查到栏目、内容、文件的关键写操作:
model 字段区分来源:admin / api / mcptype:add / edit / delete / query / option / loginop 是操作名,如 content_update、upload_filestate:1 成功、2 失败。失败的操作同样记录,比成功更有排查价值objId、objName、uid、uname、ip,以及变更前后字段覆盖范围:栏目的增删改、内容的增删改与批量删除、文件上传、MCP 的栏目与内容增删改、主题文件新建与编辑、主题目录新建。删除主题文件也会留痕(type 为 delete)。
MCP 不经过 gin 中间件,审计是 handler 直接写库的。写库失败只记日志,不会影响工具返回结果——也就是说,极少数情况下工具调用成功了但审计没落下。不要把审计当成强一致的计费依据。