4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita MCPサーバで「直近30日の人気記事」を分析してみた

Last updated at Posted at 2025-12-21

こんにちは、reiです。

AI活用 / AI駆動開発 Advent Calendar 2025 の22日目 :santa_tone1: の記事です。

Qiitaで記事を書いていると、ふとこんな疑問が湧きませんか?

「結局、Qiitaで "伸びる記事" ってどんな記事なんだろう?」
技術力が高ければ評価される?
それともトレンドに乗ればいい?

そこで今回は、
自作したQiita MCPサーバを使って、AIにQiitaを直接分析させてみました。

この記事では、直近30日間のQiita人気記事(いいね数・ストック数)をデータとして分析し、
今、Qiitaで評価されやすい記事の"共通点"を整理します。

1. 分析方法概要

分析するために使用したツール

  • Claude Code (MCPサーバを開発)
  • Claude Desktop (ローカルMCPサーバを設定し、分析)

プロセス

① Qiita公式APIを利用し、MCPサーバをClaude CodeでAI駆動開発
② 作成したQiita MCPサーバ経由で記事データを取得
③ いいね数とストック数が多い記事を中心に分析
④ Claude で分析させ、人間が解釈

MCPサーバのAI駆動開発

今回は開発手順について詳しくは記載しませんが、まず概要を記載した SPEC.md ファイルを作成し、
それを Claude Code に渡して開発しました。

プロンプト入力:

SPEC.md を理解してから開発をはじめてください。不明点があれば教えてください。

SPEC.md ファイルは「▶詳細」に記載しますので、ご興味ある方はご覧ください。

あなたは熟練した TypeScript / Node.js エンジニアです。
私は「Qiita の記事データを取得・分析するための MCP サーバ」を
AI駆動開発で作りたいと考えています。

# 目的
- Qiita公式API(v2)を利用し、Claude が Qiita の記事データを取得・分析できるMCPサーバを構築する

# ゴール
- MCP SDK を使った Qiita MCP Server がローカルで起動できる
- 少なくとも以下の Tool を1つ提供する
  - qiita_search_items: キーワードやタグでQiita記事を検索できる
- LLM がこの MCP Server を通じて Qiita 記事を取得できる状態にする

# 制約・方針
- Qiita公式API(v2)のみを使用する
- 認証は Personal Access Token(read-only)を想定
- 書き込み系API(投稿・編集・削除)は使わない
- MCP SDK(@modelcontextprotocol/sdk)を使用する
- 実装は「最小構成 → 段階的拡張」を前提とする
- 可読性を優先し、過度な抽象化はしない

# 技術スタック
- Node.js
- TypeScript
- fetch API(または node-fetch)
- 環境変数で QIITA_TOKEN を受け取る

# 作業ステップ
1. Qiita MCP Server の最小構成(プロジェクト構成)を提案する
2. MCPサーバのエントリーポイントとなる TypeScript ファイルを書く
3. qiita_search_items Tool を1つ実装する
4. Qiita API 呼び出し部分をシンプルに実装する
5. サーバの起動方法を README レベルで説明する

# qiita_search_items Tool の仕様
- 入力:
  - query: string(Qiita API の検索クエリ)
- 処理:
  - https://qiita.com/api/v2/items?query={query}
    を GET で呼び出す
- 出力:
  - 記事タイトル
  - URL
  - いいね数
  - ストック数
  - タグ
  - 投稿日時
  を含む JSON(必要最低限でOK)

# 注意点
- まずは「動くこと」を最優先する
- エラーハンドリングは最低限でよい
- 後で Tool を追加・拡張しやすい構造にする

この前提に従って、まずは
「最小構成の Qiita MCP Server の設計と初期実装」から始めてください。

2. Claude に分析させる

Claudeで実際に入力したプロンプトはこちらです。

① qiita_search_items を使って、直近30日以内(2025/11/21-2025/12/20)に投稿され、
いいね数とストックの数が多い記事を上位50記事程度取得してください。
② 取得した記事をもとに、以下の観点で分析してください。  
 - テーマ分類(技術領域)
 - 使用されているタグの傾向 
 - タイトルの語り口・構文パターン
 - 記事内容の粒度(入門 / 実践 / 設計・思想)
③ 最後に、"今Qiitaで伸びやすい記事の特徴" を5点にまとめてください。

3. 分析結果

3.1. テーマ分類

分析結果は図のようになりました。

割合の高い上位3テーマに投稿される記事の特徴は下記のとおりです。

テーマ 特徴
AI/機械学習/生成AI 最新AIツールの実践的な活用記事が多数
失敗談・体験記・ポエム 技術的失敗を赤裸々に語る体験記
セキュリティ 初心者向け解説と実践的な攻撃デモの両方

3.2. 使用されているタグの傾向

特に多く使われていたタグは、以下の3つでした。

  • AI関連 (AI, AIエージェント, AI駆動開発, 生成AI)
  • 初心者 (初心者、新人プログラマ応援、初学者向け)
  • Python

そして、タグの特徴は、下記のとおりです。

  • 「初心者」タグの万能性:技術的に高度な内容(セキュリティ、AI)でも「初心者向け」とすることで心理的ハードルを下げている
  • 感情・体験タグの効果:「ポエム」「失敗談」「やらかし」など、技術以外の人間味を出すタグが高評価
  • トレンド即応性:Claude Code、Antigravity、Geminiなど、最新技術に素早く対応
  • 複合タグ戦略: 「AI×セキュリティ」「AI×教育」など、複数領域を掛け合わせる

3.3. タイトルの語り口・構文パターン

人気記事のタイトルを分析すると、以下のパターンに分類できます。

A. 共感・自己開示型(30%): 15記事

「〜して気づいた」「才能ゼロの私でも〜」など、読者の「自分もそうだ」という共感を引き出すようなタイトル。

B. 問題提起・警告型(24%): 12記事

「余裕だったはずが〜」「〜となってしまった」のような危機感や好奇心を刺激するタイトル。

C. 解説・入門・網羅型(22%): 11記事

「世界一わかりやすい〜【完全図解】」「〜完全ガイド」「〜一覧」など、保存版として価値や安心感を感じさせるようなタイトル。

D. 技術比較・対立型(10%): 5記事

「〜 vs 〜」など、 論争的なテーマで技術選定や学びを深めたい時参考にできるようなタイトル。

E. 成果報告・実践型(14%): 7記事

「〜を作った話」「〜してみた」など、経験段で具体的な内容と成果が信頼性を高めるタイトル。

言語的特徴としては、「感情」「定量的表現」「カジュアルな表記」がポイントのようです。

3.4. 記事内容の粒度

入門レベルと実践レベルがほぼ同数で全体の78%を占めるようです。

入門レベルでは

  • 図解・ビジュアル重視
  • 網羅的な情報整理
  • 初心者の心理的ハードルを下げる工夫

がされており、実践レベルでは、

  • ハンズオン要素
  • 具体的なコード例
  • Tips集
  • ツール紹介
  • 実装手順

が多く見受けられました。

4. Qiitaで評価されやすい記事の特徴5つ

4.1. 失敗と自己開示のストーリーテリング × 技術的価値

失敗談が圧倒的に高評価を獲得しています。

:key: 成功の鍵

  • 等身大の失敗を赤裸々に語ることで共感を呼ぶ
  • ただし単なる愚痴ではなく、失敗から得た技術的な学びや教訓を必ず含める
  • タイトルで具体的な失敗を明示
  • 「やらかし」「失敗談」「ポエム」タグで心理的ハードルを下げる

4.2. 最新AI技術への即応 × 実用的な切り口

AI関連記事が全体の32%を占め、特にClaude Code、Gemini、GitHub Copilot、Difyなど2025年に普及したツールの記事が多数ランクインしています。

:key: 成功の鍵

  • 新技術リリース後、1週間以内に記事を投稿(速報性)
  • 「使い方」だけでなく「小技集」「落とし穴」など独自の切り口
  • AI礼賛ではなく批判的・実践的な視点
  • 具体的な活用事例(工数50%削減、セキュリティ監査など)を示す

4.3. 「世界一わかりやすい」× 図解 × 初心者訴求の三位一体

専門性の高いテーマ(セキュリティ、Docker)でも、「世界一わかりやすい」や「完全図解」をタイトルに入れることで初心者層を取り込む戦略が有効です。

:key: 成功の鍵

  • タイトルに「世界一」「完全」「徹底」など最上級表現を使用
  • 【完全図解】【コピペOK】など括弧書きで付加価値を明示
  • 「初心者」タグは上級者も「復習」として読める安心感を与える
  • 実際に図解・ビジュアルを豊富に使い、タイトル倒れにしない

4.4. 技術比較・二項対立の明示 × 実務判断軸の提供

対立構造を打ち出すことで読者の興味を引き、議論を喚起します。

:key: 成功の鍵

  • 「vs」形式で二項対立を明確化
  • 単なる比較ではなく「どちらを選ぶべきか」という実務的な判断基準を提示
  • 両者の長所・短所をフェアに分析し、一方的な主張を避ける
  • コメント欄での議論を促進するオープンな姿勢

4.5. 口語調・感情表現 × SNS拡散を意識したキャッチーさ

技術記事でありながら感情的・口語的な表現を使用する記事が高評価です。

:key: 成功の鍵

  • 堅苦しい技術用語だけでなく、感情を揺さぶる言葉を選ぶ
  • 「地獄」「祝🎉」など極端な表現でインパクトを出す
  • 関西弁や口語体でフレンドリーさを演出
  • ただし内容は技術的に正確であることが大前提
  • Twitter/Xでの拡散を意識した140文字以内で完結するタイトル構造

5. まとめ

今回、AIにQiitaを分析させて一番面白かったのは、Qiitaは「技術力の高さ」を競う場所ではなく、
「学びのプロセス」を共有する場所 として評価されているという点が、データとしてはっきり出たことでした。

失敗、遠回り、勘違い、やらかし...そういった要素を含んだ記事ほど、結果的に多くの人に読まれています。

私自身も、Qiitaでは、「完璧な実装」よりも「なぜそうなったのか」「どこでつまずいたのか」が書かれている記事から学ぶことが多いと感じています。

技術記事を書くというと、つい「正しいことを書かなければ」「レベルの高い内容でなければ」と思ってしまいがちですが、
Qiitaでは 試行錯誤の過程そのものが価値になる のだと思います。
この記事が、「まだ整理できていないけど、書いてみようかな」と思っている誰かの背中を、少しでも押せたら嬉しいです。

今後もAIに関する学びや実践を記事にしていきますので、引き続きよろしくお願いします。

4
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?