Markdown验证服务

一个基于markdownlint的MCP协议服务器,用于验证Markdown内容是否符合规范,支持自定义配置和AI集成。

  • by wilsonwangdev
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 wilsonwangme/markdownlint-mcp-server

使用说明

markdownlint mcp服务器

markdownint的模型上下文协议(MCP)服务器实现,用于根据markdownint规则验证markdown内容。

特性

  • 使用markdownint验证markdown内容
  • 提供对markdownline规则的访问
  • 支持自定义配置
  • 实现用于AI/LLM集成的MCP协议
  • Cursor可以使用它来验证生成的markdown

安装

npm install markdownlint-mcp-server

用法

作为CLI

markdownlint-mcp-server

服务器将启动并监听stdio上的MCP协议消息。

作为图书馆

import { markdownlintMcpServer } from 'markdownlint-mcp-server';

const server = markdownlintMcpServer();
// Use the server with your preferred MCP transport

与Cursor集成

Cursor可以使用此MCP服务器来验证其降价生成:

  1. 启动MCP服务器
  2. 游标将连接到服务器
  3. 生成markdown内容时,Cursor将:
    • 将内容发送到 validate 工具
    • 检查是否有任何掉毛错误
    • 使用验证结果改进其降价生成
    • 确保最终输出遵循markdownint规则

工作流程示例:

// Cursor's markdown generation process
const markdown = generateMarkdown();
const validation = await validateMarkdown(markdown);
if (!validation.isValid) {
  // Use the validation errors to improve markdown generation
  // The errors provide detailed information about what needs to be fixed
  console.log('Markdown validation errors:', validation.errors);
  // Cursor can use this information to adjust its generation
}
return markdown;

验证结果包括有关发现的任何问题的详细信息:

  • 出现问题的行号
  • 规则说明和信息
  • 错误详细信息和上下文
  • 受影响的文本范围

API

服务器提供两个工具:

  1. validate -验证降价内容

    {
      content: string;      // The markdown content to validate
      config?: object;      // Optional markdownlint configuration
    }
    
  2. rules -返回可用的markdownint规则

    {}  // No parameters needed
    

配置

服务器使用基于markdownint推荐规则的默认配置。在使用验证工具时,您可以通过提供自定义配置来覆盖这些规则。

发展

建筑

npm run build

项目结构

  • src/
    • index.ts -主服务器实现
    • config.ts -默认标记下线配置
    • types.ts -共享类型和模式
    • validation.ts -Markdown验证逻辑
    • bin.ts -CLI入口点

CI/CD

该项目使用GitHub Actions进行持续集成和部署:

  • CI管道:对每个推送和拉取请求运行

    • Node.js 18.x和20.x上的测试
    • 构建项目
    • 运行类型检查
  • 释放管道:新版本发布时运行

    • 构建项目
    • 发布到npm

要创建新版本,请执行以下操作:

  1. 更新中的版本 package.json
  2. 在GitHub上创建新版本
  3. 发布工作流将自动发布到npm

许可证

麻省理工学院