✍️

textlint-rule-preset-ai-writingをMCPサーバとして設定する方法

に公開

AI生成文章の典型的なパターンを検出するtextlint-rule-preset-ai-writingをMCPサーバとして設定する手順です。

やってみたら、ちょっと手こずったので自分の環境での設定方法をメモしておきます。
単体でのインストールと動作確認してから、MCPサーバとして設定します。環境はmacOSとClaude Codeですが、他のOSやAIコーディングツールの組み合わせでもほぼ同じ設定でいけるかと思います。

textlint-rule-preset-ai-writing単体の設定方法

パッケージのインストール

もしnpmが使えない環境の場合は、あらかじめnvmを以下記事参考にセットアップしてください。
https://zenn.dev/karaage0703/articles/ecf24124c1a535

npmが使える環境で、以下コマンドを実行します。

$ npm install textlint textlint-rule-preset-ai-writing

textlint設定ファイルの作成

プロジェクトルートに .textlintrc.json を作成して、以下の内容を書き込みます。

{
  "rules": {
    "textlint-rule-preset-ai-writing": true
  }
}

AIっぽい文章だけでなく、技術文章に対してのtextlintをしたいときは、以下も追加することでチェックが可能です。

$ npm install textlint-rule-preset-ja-technical-writing
{
  "rules": {
    "preset-ja-technical-writing": true,
    "textlint-rule-preset-ai-writing": true
  }
}

単体動作確認

以下のようなAIっぽい文章(AIにつくってもらいました)を作成してtest_ai_document.mdというファイル名で保存します。

# AI技術の未来展望

## はじめに

人工知能(AI)技術は急速に進歩しており、私たちの生活に大きな変革をもたらしています。本文書では、AI技術の現状と将来の可能性について考察します。

## 機械学習の進歩

現在の機械学習技術は、深層学習や自然言語処理において顕著な成果を示しています。これらの技術は以下のような分野で活用されています:

- 画像認識システム
- 音声認識技術
- 自動翻訳サービス
- 推薦システム

## 今後の展望

AI技術の発展により、以下のような革新が期待されます:

### 1. 医療分野での応用
AIを活用した診断支援システムが、医師の判断を補助し、より正確な診断を可能にします。

### 2. 自動運転技術
完全自動運転の実現により、交通事故の削減と移動の効率化が期待されます。

### 3. 創造的な活動
AIが芸術作品の制作や音楽の作曲など、創造的な分野でも活躍する可能性があります。

## 課題と対策

AI技術の発展には以下の課題があります:

- **倫理的な問題**: AI の判断基準の透明性
- **雇用への影響**: 自動化による職業の変化
- **データプライバシー**: 個人情報の保護

## まとめ

AI技術は私たちの社会に大きな影響を与える可能性を秘めています。適切なガイドラインと規制の下で、人類の福祉向上に貢献することが重要です。

以下コマンドでテストします。

$ npx textlint test_ai_document.md

AIっぽい文章を検出できたら動作確認はOKです。以下は結果の例です。

  1:1   info   【テクニカルライティング品質分析】この文書で1件の改善提案が見つかりました [内訳: 具体性: 1件]。効果的なテクニカルラ
  ティングの7つのC(Clear, Concise, Correct, Coherent, Concrete, Complete, Courteous)の原則に基づいて見直しを検討してください。詳細
  ガイドライン: https://github.com/textlint-ja/textlint-rule-preset-ai-writing/blob/main/docs/tech-writing-guidelines.md  ai-writing/ai-tech-writing-guideline
  33:1   error  リストアイテムで強調(**)とコロン(:)の組み合わせは機械的な印象を与える可能性があります。より自然な表現を検討して
  ださい。                                                                                                                                                                                                                                                    ai-writing/no-ai-list-formatting
  34:1   error  リストアイテムで強調(**)とコロン(:)の組み合わせは機械的な印象を与える可能性があります。より自然な表現を検討して
  ださい。                                                                                                                                                                                                                                                    ai-writing/no-ai-list-formatting
  35:1   error  リストアイテムで強調(**)とコロン(:)の組み合わせは機械的な印象を与える可能性があります。より自然な表現を検討して
  ださい。                                                                                                                                                                                                                                                    ai-writing/no-ai-list-formatting
  39:33  info   【具体性】曖昧な判断表現が検出されました。何を基準として適切なのか、具体的な条件や基準の明示を検討してください。                                                                                                                                                                                                                                                                 ai-writing/ai-tech-writing-guideline

✖ 5 problems (3 errors, 0 warnings, 2 infos)

textlint-rule-preset-ai-writing MCPサーバの設定方法

JSONファイル設定

JSONファイルにtextlint MCPサーバを追加します。Cline/Cursor/Claude DesktopあたりはこれでOKと思います。

{
  "mcpServers": {
    "textlint": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "textlint",
        "--mcp"
      ]
    }
  }
}

Claude Codeの場合は、以下コマンドを実行することで。MCPサーバに追加できます。

$ claude mcp add textlint -s project -- npx textlint --mcp

MCPサーバ設定を行ったら、設定を反映するためMCPホストを再起動します。

MCPサーバの動作確認

Claude Codeで以下のようなプロンプトで試します。先程の単体で試したファイルに対してtextlintを行う場合です。ファイル名は適宜変更してください。

test_ai_document.mdをtextlintで修正してください

AI臭い文章を勝手に直してくれます。

まとめ

AIっぽい文章をチェックするtextlint単体のセットアップ方法と動作方法、加えてMCPサーバとしての設定方法と使い方を紹介しました。

私は、ブログとかの文章をAIに書いてもらったりすることも、自分の文章にtextlintをかけることもほとんどないのですが(余計なお世話と思うことが多いので)、コードのREADME等のドキュメントは、AIに頼ることが多くなってきました。分かりやすくて基本はよいのですが、あんまりにもAI臭いときは、このMCPサーバ使ってLLMに文章直してもらうと良さそうですね。

とはいえ、textlintで直せるのって表層の部分だけなので、個人的には「やっておくと良いかな?」くらいの気持ちでいます。

参考リンク

https://zenn.dev/hibara428/articles/a4235e23f04110

Discussion