mcpField
M
md-md

md-md

本地服务
github.com/kedarvartak记忆与知识029 周前更新

关于 md-md

md.md 是团队工程知识平台,将 Markdown 知识块版本化,并按任务解析后提供给 AI 编码工作流。团队可通过仪表板管理内容,并在 IDE 和 AI 工具间复用上下文。

主要功能

  1. 01创建、编辑和归档知识块
  2. 02发布稳定的版本
  3. 03按任务解析并组合上下文
  4. 04团队与工作区权限控制
  5. 05预览解析结果并记录使用情况

适用场景

  1. 01集中维护团队编码规范
  2. 02向编码 Agent 提供项目架构决策
  3. 03在发布前预览任务上下文
  4. 04审查上下文注入与审计记录

MCP 相关

MCP 服务通过 stdio 向 IDE 和 AI 客户端提供知识块解析、管理、访问控制及日志工具,并将调用转发至后端 API。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"kedarvartak-md-md": {
"command": "npx",
"args": [
"-y",
"md-md-mcp-server"
],
"env": {
"MD_MD_API_KEY": "<MD_MD_API_KEY>",
"MD_MD_API_URL": "<MD_MD_API_URL>",
"MD_MD_TEAM_ID": "<MD_MD_TEAM_ID>",
"MD_MD_WORKSPACE_ID": "<MD_MD_WORKSPACE_ID>"
}
}
}
}
启动命令npx -y md-md-mcp-server
需要配置的环境变量
MD_MD_API_KEY密钥API key for md.md backend
MD_MD_API_URLBase URL of md.md backend API
MD_MD_TEAM_IDOptional team scope override
MD_MD_WORKSPACE_IDOptional workspace scope override

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmd-md-mcp-server1.0.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

md.md

md.md 是一个团队智能平台,可将内部工程知识转化为带版本的 Markdown 块,并将恰当的上下文注入 AI 辅助开发工作流。

它包含:

  • 后端注册表和策略引擎
  • 用于编写和发布知识块的 React 仪表板
  • 用于 IDE 和助手集成的 MCP 服务
  • 集成文档和产品设计文档

此平台解决的问题

AI 编码助手擅长通用编码,但不擅长理解团队特有的上下文。缺少共享上下文时,团队就得反复解释规范、架构决策和工作流。

md.md 通过以下方式解决这个问题:

  • 只需编写一次知识
  • 发布稳定版本
  • 在执行任务时解析出恰当的上下文
  • 在不同 IDE 和 AI 工具之间复用相同的上下文

仓库结构

  • app-backend/:用于身份验证、块生命周期管理、策略解析和可观测性的 NestJS API
  • app-client/:用于编写和发布块以及预览解析结果的 React + Vite 仪表板
  • mcp-server/:通过 stdio 提供 md.md 工具的 Model Context Protocol 服务
  • ide-integrations/:IDE 集成文档(目前侧重于 Cursor)
  • docs/:产品愿景、阶段计划和解析模型设计文档

高层架构

  1. 团队在块中编写 Markdown 文件。
  2. 块会进行版本管理并发布。
  3. IDE/助手集成会携带任务上下文调用解析工具或 API。
  4. 后端会选择相关的已发布块并组合成载荷。
  5. 载荷会注入 AI 上下文。
  6. 系统会记录解析和使用元数据,以便进行可观测性分析。
集成路径
  • 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_context
  • attach_blocks
  • list_blocks
  • get_block
  • health_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)中的许可证声明。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。