Crispy MCP 与 Admin AI Agent 对比指南
Crispy 3 同时提供两套 AI 操作 CMS 的通道:MCP(/api/mcp) 面向 Cursor 等外部 Agent;Admin AI Agent(/api/ai/agent) 面向后台对话浮窗。二者都能读写内容,但协议、鉴权、工具集和适用场景不同。本文基于 Crispy 源码与 ~/.cursor/mcp.json 实际配置说明。
1. 一句话区别
MCP:标准工具总线。Cursor 发 JSON-RPC tools/call,Crispy 直接执行 Payload CRUD,不经过 LLM。
Agent:产品内智能助手。浏览器发对话,服务端 LLM 决定调哪些工具,结果以 SSE 流式返回。
2. 核心对比
端点 — MCP: POST /api/mcp;Agent: POST /api/ai/agent
协议 — MCP: JSON-RPC 2.0(initialize / tools/list / tools/call);Agent: 自定义 SSE(text / tool_start / tool_result / session / done)
鉴权 — MCP: Authorization: Bearer <MCP_API_KEY>;Agent: Admin Cookie + canUseAiAgent
客户端 — MCP: Cursor(mcp.json + mcp-remote);Agent: Admin 浮窗 useAiAgentChat
谁选工具 — MCP: 外部 Agent(Cursor);Agent: 服务端 LLM(Function Calling)
会话 — MCP: 无持久化;Agent: ai-chat-sessions Collection
工具来源 — MCP: @payloadcms/plugin-mcp 按 Collection 自动生成 findPosts 等;Agent: src/ai/agent/tools.ts 手写
3. MCP 怎么实现(Crispy)
插件在 src/plugins/index.ts 注册 mcpPlugin({ collections: {...} }),自动暴露 POST /api/mcp。鉴权:HMAC 查 payload-mcp-api-keys,映射到关联 user 后执行 payload.find/create,遵守 Collection access。
1// ~/.cursor/mcp.json(推荐 mcp-remote 桥接)2{3 "mcpServers": {4 "crispy": {5 "command": "npx",6 "args": [7 "-y", "mcp-remote",8 "http://localhost:3333/api/mcp",9 "--transport", "http-first",10 "--header", "Authorization:Bearer ${MCP_API_KEY}"11 ],12 "envFile": "/path/to/crispy/.env"13 }14 }15}16// 线上:将 URL 改为 https://your-site.com/api/mcp
Cursor 连接后可直接说「查最近 5 篇 posts」「给文章加标签」,无需写脚本。源码:@payloadcms/plugin-mcp、scripts/verify-phase1.ts。
4. Admin AI Agent 怎么实现
路由 src/app/(payload)/api/ai/agent/route.ts 返回 text/event-stream。runAiAgentStream 循环调用 openAiChatCompletionWithToolsStream,模型返回 tool_calls 后 executeAgentTool 执行,事件经 consumeAgentStream 渲染。
定制工具:purge_frontend_cache、list_audit_logs、search_stock_images 等
会话持久化:首帧推送 { type: session, sessionId }
源码:src/ai/agent/、src/components/AdminAiAgent/
5. 能力范围差异
MCP 擅长:posts/pages/categories/tags 等标准 CRUD;给 Cursor 自动化内容运营
Agent 擅长:对话式运营、清前台缓存、审计日志、Unsplash 导入、语义搜索、软删除/恢复
MCP 目前没有:purge_frontend_cache(需 Admin / Agent 或 /admin/cache)
6. 自己实现 MCP 和写 Agent 像吗?
底层都像:工具名 + 参数 + 调 Payload。但 MCP 要实现 JSON-RPC 端点 + @modelcontextprotocol/sdk 注册工具,不经过 LLM;Agent 要在工具层之上加 LLM 多轮循环和 SSE 推送。Crispy 用官方 plugin 生成 MCP 工具,Agent 手写定制工具——分工清晰,不建议合并成一套。
7. 怎么选
在 Cursor 里改文章、加标签 → MCP(配置 mcp.json)
在 Admin 里边聊边运营、清缓存 → Agent(/admin/ai-agent)
CI 批量任务 → 脚本或 MCP tools/call
8. 延伸阅读
Cursor 配置实操:/posts/cursor-crispy-mcp-guide
Agent SSE 流式:/posts/admin-ai-agent-sse-frontend
内置文档:/admin/dev-docs#mcp、#ai-agent、#frontend-ai-assistant
暂无评论,来抢沙发吧。