新增: MCP Server(df-mcp crate + stdio 协议 + CLI 子命令)
依据 F-260619-02 设计,对外暴露数据层接入 Claude Code/Cursor: - 新建 df-mcp crate:JSON-RPC 2.0 over stdio(initialize/tools/list/tools/call) - 暴露 19 数据层工具(项目/任务/灵感/工作流/回收站),复用 df-storage Repo 零重复 CRUD - 三层安全降级:High 风险(delete/purge/run_workflow)tools/list 不暴露+dispatch 拒+handler 二次拒;Medium 允许+审计日志;--read-only 仅 Low - 不暴露文件系统工具(防绕过应用内路径校验) - Tauri CLI 子命令 devflow mcp-server [--db/--read-only/--print-config] - SQLite WAL 已启用(复用 Database::open),应用与 MCP server 并发写安全 自验: df-mcp 8 passed + workspace EXIT 0
This commit is contained in:
19
crates/df-mcp/src/lib.rs
Normal file
19
crates/df-mcp/src/lib.rs
Normal file
@@ -0,0 +1,19 @@
|
||||
//! df-mcp: DevFlow MCP Server — 对外暴露数据层工具
|
||||
//!
|
||||
//! 形态:独立 stdio JSON-RPC 2.0 server。手写最小化协议层(不引外部 MCP SDK),
|
||||
//! 复用 df-storage Repo 做实际数据读写,不重复 CRUD 实现。
|
||||
//!
|
||||
//! 安全降级(对抗评估反方核心):
|
||||
//! - High 风险(delete/purge/run_workflow)默认拒绝,返友好提示
|
||||
//! - Medium 风险(create/update/bind)默认允许 + 日志(tracing::warn)
|
||||
//! - `--read-only` 仅暴露 list/get 工具
|
||||
//! - 不暴露文件系统工具(防绕过应用内路径校验)
|
||||
//! - 仅 stdio / 本地,不暴露网络;无认证(依赖本地隔离)
|
||||
//!
|
||||
//! 入口: [`run_server`] — 由 Tauri CLI 子命令 `devflow mcp-server` 调用。
|
||||
|
||||
pub mod protocol;
|
||||
pub mod server;
|
||||
pub mod tools;
|
||||
|
||||
pub use server::run_server;
|
||||
Reference in New Issue
Block a user