关于 md-md
md.md 是团队工程知识平台,将 Markdown 知识块版本化,并按任务解析后提供给 AI 编码工作流。团队可通过仪表板管理内容,并在 IDE 和 AI 工具间复用上下文。
主要功能
- 01创建、编辑和归档知识块
- 02发布稳定的版本
- 03按任务解析并组合上下文
- 04团队与工作区权限控制
- 05预览解析结果并记录使用情况
适用场景
- 01集中维护团队编码规范
- 02向编码 Agent 提供项目架构决策
- 03在发布前预览任务上下文
- 04审查上下文注入与审计记录
MCP 相关
MCP 服务通过 stdio 向 IDE 和 AI 客户端提供知识块解析、管理、访问控制及日志工具,并将调用转发至后端 API。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y md-md-mcp-serverMD_MD_API_KEY密钥API key for md.md backendMD_MD_API_URLBase URL of md.md backend APIMD_MD_TEAM_IDOptional team scope overrideMD_MD_WORKSPACE_IDOptional workspace scope override本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
md.md
md.md 是一个团队智能平台,可将内部工程知识转化为带版本的 Markdown 块,并将恰当的上下文注入 AI 辅助开发工作流。
它包含:
- 后端注册表和策略引擎
- 用于编写和发布知识块的 React 仪表板
- 用于 IDE 和助手集成的 MCP 服务
- 集成文档和产品设计文档
此平台解决的问题
AI 编码助手擅长通用编码,但不擅长理解团队特有的上下文。缺少共享上下文时,团队就得反复解释规范、架构决策和工作流。
md.md 通过以下方式解决这个问题:
- 只需编写一次知识
- 发布稳定版本
- 在执行任务时解析出恰当的上下文
- 在不同 IDE 和 AI 工具之间复用相同的上下文
仓库结构
app-backend/:用于身份验证、块生命周期管理、策略解析和可观测性的 NestJS APIapp-client/:用于编写和发布块以及预览解析结果的 React + Vite 仪表板mcp-server/:通过 stdio 提供 md.md 工具的 Model Context Protocol 服务ide-integrations/:IDE 集成文档(目前侧重于 Cursor)docs/:产品愿景、阶段计划和解析模型设计文档
高层架构
- 团队在块中编写 Markdown 文件。
- 块会进行版本管理并发布。
- IDE/助手集成会携带任务上下文调用解析工具或 API。
- 后端会选择相关的已发布块并组合成载荷。
- 载荷会注入 AI 上下文。
- 系统会记录解析和使用元数据,以便进行可观测性分析。
集成路径
- IDE 或 AI 客户端
- 通过 stdio 使用 MCP 协议
mcp-server工具- 后端 REST API
- Postgres 持久化(兼容 Supabase)
核心概念
块
包含一个或多个 Markdown 文件的命名团队知识单元。
草稿版本和已发布版本
草稿内容可以自由编辑。已发布版本稳定,可供使用。
范围限定的访问
数据和权限按团队和工作区限定范围。
解析
在使用时,系统会解析并组合相关的已发布块,生成适用于 AI 的载荷。
组件详情
1) 后端(app-backend)
技术栈:
- NestJS 11
- 通过
pg使用 PostgreSQL(兼容 Supabase 的连接) - TypeScript
职责:
- 身份验证和授权
- RBAC 和 API 密钥管理
- 块的增删改查、版本管理、发布和归档
- 解析流程编排
- 注入日志和审计日志 API
后端主要功能:
- API 密钥格式:
mdmd_<token> - 角色:读者、编写者、管理员
- 块级权限覆盖
- MCP 使用的健康状态和可观测性端点
2) 客户端仪表板(app-client)
技术栈:
- React 19
- Vite
- TypeScript
- MUI + Emotion
职责:
- 创建和编辑块
- 管理块文件
- 发布版本
- 预览解析输出
- 配置使用所需的身份验证/范围信息
3) MCP 服务(mcp-server)
技术栈:
- Node.js + TypeScript
@modelcontextprotocol/sdk- 使用 Zod 验证参数
职责:
- 将 md.md 功能作为 MCP 工具公开
- 将工具调用转发至后端 API
- 处理重试、超时和健康检查
主要工具包括:
resolve_contextattach_blockslist_blocksget_blockhealth_check- 块生命周期工具(
create_block、update_block、publish_block等) - 访问和可观测性工具(
whoami、list_injection_logs)
4) IDE 集成(ide-integrations)
包含将编辑器连接到 MCP 服务的配置模式。
当前记录的集成:
- Cursor(MCP 客户端配置)
5) 产品和设计文档(docs)
idea_1.0.md:产品理念和系统愿景phases_1.0.md:实现路线图(按阶段组织)resolution_model.md:关于选择、排序和组合的详细目标模型
本地开发环境设置
前置条件
- Node.js 18+
- npm
- PostgreSQL 数据库(推荐使用 Supabase Postgres)
1) 后端
cd app-backend
npm install
至少需要创建 app-backend/.env 并添加:
SUPABASE_DATABASE_URL=postgresql://<user>:<password>@<host>:<port>/<db>
启动后端:
npm run start:dev
2) 创建管理员 API 密钥
在 app-backend 中:
npm run create-admin -- \
--email [email protected] \
--name "Admin User" \
--team team-alpha \
--workspace workspace-core
妥善保存生成的 mdmd_... 密钥。
3) 客户端控制面板
cd ../app-client
npm install
npm run dev
4) MCP 服务
cd ../mcp-server
npm install
npm run build
npm start
设置 MCP 运行时的环境变量(可在 shell 或 IDE 配置中设置):
MD_MD_API_URL=http://localhost:3000
MD_MD_API_KEY=mdmd_your_key_here
常见开发工作流
后端
cd app-backend
npm run start:dev
npm run build
npm run test
npm run test:e2e
npm run lint
客户端
cd app-client
npm run dev
npm run build
npm run lint
npm run preview
MCP 服务
cd mcp-server
npm run dev
npm run build
npm start
安全与密钥
- 不要提交 API 密钥或令牌文件。
- 将密钥保存在环境文件或安全的密钥管理器中。
- 集成时使用权限最小化的 API 密钥。
- 定期轮换密钥。
- 检查敏感操作的审计日志。
mcp-server/.gitignore 中近期的本地忽略默认项包括:
.mcpregistry_github_token.mcpregistry_registry_token
当前产品状态
已实现:
- 端到端区块生命周期(创建、编辑、发布)
- 控制面板创作与解析预览
- 后端 RBAC 和 API 密钥管理
- MCP 服务,提供上下文解析和区块操作工具
进行中或计划中:
- 更智能的基于策略的上下文选择与排序
- 扩展 IDE 集成
- 更多分析与治理功能
后续步骤
- 后端实现和身份验证文档:
app-backend/docs/ - MCP 使用与集成详情:
mcp-server/README.md - IDE 设置说明:
ide-integrations/README.md - 产品愿景与路线图:
docs/
许可证
请查看各个包(app-backend、app-client、mcp-server)中的许可证声明。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。