markdownlint-mcp-server について
markdownlint-mcp-server は、MCP 対応の AI ツールに markdownlint による検証機能を提供します。生成された Markdown の検査やルール一覧の取得ができ、カスタム設定にも対応しています。
主な機能
- 01markdownlint による Markdown 検証
- 02利用可能な lint ルールの一覧表示
- 03カスタム設定への対応
- 04行番号とルールの詳細を返却
- 05コマンドラインツールまたはライブラリとして利用
活用シーン
- 01Cursor が生成した Markdown の検査
- 02カスタムルールに沿ったコンテンツ検証
MCP 対応
MCP クライアントに、Markdown を検証する validate ツールと利用可能なルールを一覧する rules ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
markdownlint-mcp-server
markdownlint の MCP(Model Context Protocol)サーバー実装です。markdownlint のルールに照らして Markdown コンテンツを検証します。
特長
- markdownlint を使用して Markdown コンテンツを検証します
- markdownlint のルールを参照できます
- カスタム設定に対応しています
- 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 サーバーを使用して、Markdown の生成内容を検証できます。
- MCP サーバーを起動します
- Cursor がサーバーに接続します
- Markdown コンテンツを生成する際、Cursor は次の処理を行います。
- コンテンツを
validateツールに送信します - lint エラーがないか確認します
- 検証結果を使用して、Markdown の生成内容を改善します
- 最終出力が markdownlint のルールに従っていることを確認します
- コンテンツを
ワークフローの例:
// 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
サーバーは 2 つのツールを提供します。
-
validate- Markdown コンテンツを検証します{ content: string; // The markdown content to validate config?: object; // Optional markdownlint configuration } -
rules- 利用可能な markdownlint ルールを返します{} // No parameters needed
設定
サーバーは、markdownlint の推奨ルールに基づくデフォルト設定を使用します。validate ツールを使用する際にカスタム設定を指定すると、これらのルールを上書きできます。
開発
ビルド
npm run build
プロジェクト構成
src/index.ts- メインのサーバー実装config.ts- markdownlint のデフォルト設定types.ts- 共有型とスキーマvalidation.ts- Markdown の検証ロジックbin.ts- CLI のエントリーポイント
CI/CD
このプロジェクトでは、継続的インテグレーションとデプロイに GitHub Actions を使用しています。
-
CI パイプライン:プッシュおよびプルリクエストごとに実行されます
- Node.js 18.x および 20.x でテストします
- プロジェクトをビルドします
- 型チェックを実行します
-
リリースパイプライン:新しいリリースが公開されると実行されます
- プロジェクトをビルドします
- npm に公開します
新しいリリースを作成するには:
package.jsonのバージョンを更新します- GitHub で新しいリリースを作成します
- リリースワークフローにより、npm に自動的に公開されます
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。