CCFrame MCP工具

CCFrame MCP工具是一个本地化服务,通过增强检索(RAG)技术动态注入ccframe开发框架相关的上下文知识,增强AI编程能力。

  • by foxmale007
  • 本地部署
  • 更新于
在 GitHub 查看 foxmale007/ccframe-mcp-tool

使用说明

CCFrame MCP Tool

📌 项目简介(Project Overview)

  • 目的:通过MCP工具动态注入ccframe开发框架相关的上下文知识,增强AI编程能力
  • 定位:MCP本地化服务
  • 特点:使用增强检索(RAG)技术,按需引入上下文,支持ccframe的全局知识库,同时兼顾项目的专有知识,实现基础+定制的上下文知识注入。

⚠️ 重要提示

  • 必须设置有效的API密钥:使用此工具前,必须设置环境变量 CCF_DOC_API_KEY 为有效的API密钥。
  • 系统启动失败:如果未设置有效的API密钥,系统将无法启动并报错。

🛠️ 项目技术

  • 项目类型:MCP服务
  • 主语言:TypeScript
  • 框架依赖:@modelcontextprotocol/sdk, @lancedb/lancedb
  • RAG模型:qwen3 embedding 0.6b, qwen3 rerank 0.6b
  • 输入输出格式:stdio方式,即控制台输入输出

📁 工作机制

  • 知识库目录约定:guide目录是方法论,snippet是代码片段
  • 启动时扫描插件项目下的docs目录下的一级目录下的所有.md文档
  • 启动时扫描当前项目下的ccframe-docs目录下的一级目录下的所有.md文档
  • 计算扫描到的这些文件的md5值作为知识的唯一标识,当知识(文档内容)改变后,其MD5也发生变化
  • 在PROJECT_DIR项目下生成LanceDB数据库,用于存储知识,数据库名称为
  • LanceDB数据库的记录包括md5,vector和content三个列,content用于记录文档内容,md5用于记录内容的md5值,vector用于记录向量(1024维)
  • LanceDB数据库的md5列采用B-Tree标量索引,content建立向量
  • 建立向量时,采用openai格式接口的公网qwen3 embedding 0.6b大模型进行处理
  • 扫描完后,再查询LanceDB数据库的md5列,根据扫描出来的结果md5和LanceDB数据库md5列更新LanceDB数据库,LanceDB存在但是扫描后不存在的要删除LanceDB记录,LanceDB不存在但是扫描后存在的要添加到LanceDB

📖 使用指南

1. 🌍 环境准备

📦 安装依赖

首先安装依赖:

pnpm install

⚙️ 配置模式

参数列表:

  • args第2个参数:项目路径,在claude code下可以不用指定,在trae下需要指定为项目主目录,claude CLI下不用
  • PROVIDER:公网大模型服务地址,用于embedding和rerank,可选值MODELSCOPE=魔搭社区服务(每个模型每日免费500次),GITEE=模力方舟(Gitee AI)服务(每天200次),以http开头表示自定义openai服务地址。默认为GITEE

TRAE 配置:

{
  "mcpServers": {
    "ccframe-mcp-tool": {
      "command": "node",
      "args": [
        "d:\\ccframe-mcp-tool\\dist\\index.js",
        "D:\\projects\\your-project-dir"
      ],
      "env": {
        "PROVIDER": "GITEE",
        "CCF_DOC_API_KEY": "your-api-key"
      }
    }
  }
}

CLAUDE 配置命令:

claude mcp add -s user ccframe-mcp-tool -- node /mnt/d/ccframe-mcp-tool/dist/index.js /mnt/d/projects/your-project-dir \
--env PROVIDER=GITEE CCF_DOC_API_KEY=your-api-key

2. 📚 准备文档

ccframe项目专用知识库目录分为公共知识和项目专用知识库:

  • PROJECT_DIR/ccframe-docs/ - 项目专属知识库
  • MCP_DIR/docs/ - 公共知识库

公共知识库文档随着github一并发布

服务启动时会自动:

  • 扫描上述目录的所有.md文档,比较差异
  • 同步到LanceDB数据库(位于.coach/lancedb),建议添加.coach目录到.gitignore
  • 增量更新:仅处理新增和删除的文档

3. 🚀 使用MCP工具

在支持MCP的客户端(如Claude Desktop、Cline等)中配置本服务后,当询问ccframe相关问题时,工具会自动注入相关文档上下文。并能够支持自动忽略已注入的知识(重连接后会重置)