Files
Claude-Code-Workflow/MCP_OPTIMIZATION_SUMMARY.md
catlog22 d91477ad80 feat: Implement CLAUDE.md Manager View with file tree, viewer, and metadata actions
- Added main JavaScript functionality for CLAUDE.md management including file loading, rendering, and editing capabilities.
- Created a test HTML file to validate the functionality of the CLAUDE.md manager.
- Introduced CLI generation examples and documentation for rules creation via CLI.
- Enhanced error handling and notifications for file operations.
2025-12-14 23:08:36 +08:00

5.1 KiB
Raw Blame History

MCP 优化和模板功能实现总结

完成的功能

1. .mcp.json 支持优化

后端改进(mcp-routes.ts

  • 新增函数

    • addMcpServerToMcpJson() - 添加服务器到 .mcp.json
    • removeMcpServerFromMcpJson() - 从 .mcp.json 删除服务器
  • 优化的配置优先级

    1. Enterprise managed-mcp.json (最高优先级,不可覆盖)
    2. .mcp.json (项目级,新默认) ← 优先级提升
    3. ~/.claude.json projects[path].mcpServers (遗留支持)
    4. ~/.claude.json mcpServers (用户全局)
    
  • 智能安装逻辑

    • addMcpServerToProject() 默认写入 .mcp.json
    • 仍然支持 .claude.json(向后兼容)
    • removeMcpServerFromProject() 自动检测并从两处删除
  • 元数据跟踪

    {
      "mcpJsonPath": "D:\\Claude_dms3\\.mcp.json",
      "hasMcpJson": true
    }
    

前端 UI 改进(mcp-manager.js

  • 配置来源指示器

    • 有 .mcp.json显示绿色 file-check 图标
    • 无 .mcp.json显示提示 "Will use .mcp.json"
  • 项目概览表增强

    • 每个项目旁显示 .mcp.json 状态图标
    • 清晰区分配置来源

2. MCP 模板系统

数据库模块(mcp-templates-db.ts

  • 数据库位置~/.ccw/mcp-templates.db

  • 模板结构

    interface McpTemplate {
      id?: number;
      name: string;
      description?: string;
      serverConfig: {
        command: string;
        args?: string[];
        env?: Record<string, string>;
      };
      tags?: string[];
      category?: string;
      createdAt?: number;
      updatedAt?: number;
    }
    
  • 功能

    • saveTemplate() - 保存/更新模板
    • getAllTemplates() - 获取所有模板
    • getTemplateByName() - 按名称查找
    • getTemplatesByCategory() - 按分类查找
    • searchTemplates() - 关键字搜索
    • deleteTemplate() - 删除模板

API 端点

方法 路径 功能
GET /api/mcp-templates 获取所有模板
POST /api/mcp-templates 保存模板
GET /api/mcp-templates/:name 获取单个模板
DELETE /api/mcp-templates/:name 删除模板
GET /api/mcp-templates/search?q=keyword 搜索模板
GET /api/mcp-templates/categories 获取所有分类
GET /api/mcp-templates/category/:name 按分类获取
POST /api/mcp-templates/install 安装模板到项目/全局

3. Bug 修复

删除服务器逻辑优化

  • 问题:无法正确删除来自 .mcp.json 的服务器
  • 解决
    // 现在会同时检查两个位置
    removeMcpServerFromProject() {
      // 尝试从 .mcp.json 删除
      // 也尝试从 .claude.json 删除
      // 返回详细的删除结果
    }
    

测试验证

1. .mcp.json 识别测试

$ curl http://localhost:3456/api/mcp-config | jq

成功识别 D:\Claude_dms3\.mcp.json 正确加载服务器配置:

  • test-mcp-server
  • ccw-tools (含环境变量)

2. 创建的测试文件

  • D:\Claude_dms3\.mcp.json - 测试配置文件

待实现功能

前端 UI下一步

  • 模板管理界面
    • 模板列表视图
    • 创建/编辑模板表单
    • 模板预览
    • 从现有服务器保存为模板
    • 从模板快速安装

CCW Tools 安装增强

  • 全局安装选项

    • 添加到 ~/.claude.json
    • 所有项目可用
  • 项目安装选项(当前默认)

    • 写入 .mcp.json
    • 仅当前项目可用

使用示例

保存当前服务器为模板

// POST /api/mcp-templates
{
  "name": "filesystem-server",
  "description": "MCP Filesystem server for local files",
  "serverConfig": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/files"]
  },
  "category": "官方",
  "tags": ["filesystem", "mcp", "official"]
}

安装模板到项目

// POST /api/mcp-templates/install
{
  "templateName": "filesystem-server",
  "projectPath": "D:/Claude_dms3",
  "scope": "project"  // 或 "global"
}

架构优势

1. 清晰的配置层次

  • 企业级 → 组织统一管理
  • .mcp.json → 项目团队共享(可提交 git
  • .claude.json → 用户个人配置(不提交)

2. 向后兼容

  • 遗留 .claude.json 配置仍然有效
  • 平滑迁移路径

3. 模板复用

  • 常用配置保存为模板
  • 跨项目快速部署
  • 团队共享最佳实践

文件修改清单

新增文件

  1. ccw/src/core/mcp-templates-db.ts - 模板数据库模块

修改文件

  1. ccw/src/core/routes/mcp-routes.ts

    • 添加 .mcp.json 读写函数
    • 优化配置优先级
    • 添加模板 API 路由
    • 修复删除逻辑
  2. ccw/src/templates/dashboard-js/views/mcp-manager.js

    • 添加 .mcp.json 状态显示
    • 项目概览表增强

测试文件

  1. D:\Claude_dms3\.mcp.json - 测试配置

下一步计划

  1. 完成前端模板管理 UI
  2. 实现 CCW Tools 全局/项目安装切换
  3. 添加预设模板库(官方 MCP 服务器)
  4. 模板导入/导出功能

生成时间2025-12-14 Claude Code Workflow v6.1.4