Qiita API MCP Server
# MCP Server for Qiita
Qiita API v2用のMCP(Model Context Protocol)サーバーです。日本ユーザー向けに日本語のコメントとドキュメントを提供します。
## 機能
このMCPサーバーは以下のQiita API機能を提供します:
### ユーザー関連
- 認証されたユーザー情報の取得
- ユーザー詳細情報の取得
- ユーザー一覧の取得
- ユーザーの記事一覧の取得
- ユーザーのストック一覧の取得
- ユーザーのフォロワー・フォロー一覧の取得
- ユーザーのフォロー・フォロー解除
### 記事関連
- 記事一覧の取得(検索機能付き)
- 記事詳細情報の取得
- 記事の作成・更新・削除
- 記事のストック・ストック解除
- 記事のストック状況確認
- 記事のストッカー一覧取得
### タグ関連
- タグ一覧の取得(ソート機能付き)
- タグ詳細情報の取得
- タグの記事一覧の取得
- タグのフォロー・フォロー解除
- タグのフォロー状況確認
### コメント関連
- 記事のコメント一覧の取得
- コメントの作成・更新・削除
- コメント詳細情報の取得
## インストール
### 前提条件
- Node.js 18.0.0以上
### NPMからインストール(推奨)
```bash
npm install -g mcp-server-qiita
```
### 開発版のセットアップ
1. リポジトリをクローン
```bash
git clone https://github.com/selenium39/mcp-server-qiita.git
cd mcp-server-qiita
```
2. 依存関係をインストール
```bash
npm install
```
3. ビルド
```bash
npm run build
```
## 使用方法
### 環境変数の設定
Qiita APIを使用するには、アクセストークンが必要です。以下の環境変数を設定してください:
```bash
export QIITA_ACCESS_TOKEN="your_qiita_access_token_here"
```
アクセストークンは[Qiitaのトークン設定ページ](https://qiita.com/settings/tokens/new)で生成できます。
### サーバーの起動
```bash
pnpm start
```
または開発モードで起動:
```bash
pnpm dev
```
### MCPクライアントでの使用
このサーバーはMCPプロトコルを使用してクライアントと通信します。
#### Cursor設定例 (.cursor/mcp.json)
```json
{
"mcpServers": {
"qiita": {
"command": "mcp-server-qiita",
"env": {
"QIITA_ACCESS_TOKEN": "your_qiita_access_token_here"
}
}
}
}
```
#### 利用可能なツール
以下のようなツールが利用可能です:
#### ユーザー関連ツール
- `get_authenticated_user`: 認証されたユーザー情報を取得
- `get_user`: 指定されたユーザーの詳細情報を取得
- `get_users`: ユーザー一覧を取得
- `get_user_items`: 指定されたユーザーの記事一覧を取得
- `get_user_stocks`: 指定されたユーザーのストック一覧を取得
- `get_user_followers`: 指定されたユーザーのフォロワー一覧を取得
- `get_user_followees`: 指定されたユーザーのフォロー一覧を取得
- `follow_user`: 指定されたユーザーをフォロー
- `unfollow_user`: 指定されたユーザーのフォローを解除
- `is_user_followed`: 指定されたユーザーをフォローしているかどうかを確認
#### 記事関連ツール
- `get_items`: 記事一覧を取得(検索機能付き)
- `get_item`: 指定された記事の詳細情報を取得
- `create_item`: 新しい記事を作成
- `update_item`: 既存の記事を更新
- `delete_item`: 指定された記事を削除
- `stock_item`: 指定された記事をストック
- `unstock_item`: 指定された記事のストックを解除
- `is_item_stocked`: 指定された記事がストックされているかどうかを確認
- `get_item_stockers`: 指定された記事をストックしたユーザー一覧を取得
#### タグ関連ツール
- `get_tags`: タグ一覧を取得(ソート機能付き)
- `get_tag`: 指定されたタグの詳細情報を取得
- `get_tag_items`: 指定されたタグの記事一覧を取得
- `follow_tag`: 指定されたタグをフォロー
- `unfollow_tag`: 指定されたタグのフォローを解除
- `is_tag_followed`: 指定されたタグをフォローしているかどうかを確認
#### コメント関連ツール
- `get_item_comments`: 指定された記事のコメント一覧を取得
- `create_comment`: 指定された記事にコメントを作成
- `update_comment`: 指定されたコメントを更新
- `delete_comment`: 指定されたコメントを削除
- `get_comment`: 指定されたコメントの詳細情報を取得
## 開発
### 開発環境のセットアップ
```bash
# 依存関係をインストール
pnpm install
# 型チェック
pnpm type-check
# ビルド
pnpm build
# 開発モードで実行
pnpm dev
```
### プロジェクト構造
```
mcp-server-qiita/
├── src/
│ └── index.ts # メインのMCPサーバーファイル
├── dist/ # ビルド出力ディレクトリ
├── package.json # プロジェクト設定
├── tsconfig.json # TypeScript設定
└── README.md # このファイル
```
## ライセンス
MIT License
## 貢献
プルリクエストやイシューの報告を歓迎します。
## 注意事項
- このサーバーはQiita API v2を使用しています
- 認証が必要な操作(記事の作成、更新、削除など)には有効なアクセストークンが必要です
- APIレート制限に注意してください(認証済みリクエスト: 1000回/時間、未認証リクエスト: 60回/時間)
- すべてのコメントとドキュメントは日本語で記述されています
---
## 関連プロジェクト
### MCP Server for Temporary Email
開発・テスト時に一時メールが必要な場合に、[mcp-server-tempmail](https://chat-tempmail.com/ja/mcp-server)をお試しください。
**mcp-server-tempmail**は、ChatTempMail APIを使用した一時メール管理のためのMCPサーバーです。AI開発ワークフローに一時メール機能をシームレスに統合し、以下の機能を提供します:
- **AI統合**: Cursor、Claude、VS Code Copilotなどの人気AIツールとのネイティブ統合
- **リアルタイム監視**: 一時受信箱にメールが届いたときに即座に通知
- **プライバシー保護**: 開発とテスト中に実際のメールアドレスをプライベートに保持
- **簡単セットアップ**: わずか数行のJSON設定で簡単に設定
- **柔軟な設定**: メール有効期限とWebhook設定をカスタマイズ
```bash
# NPMからインストール
npm install -g mcp-server-tempmail
```
詳細は[公式サイト](https://chat-tempmail.com/ja/mcp-server)をご覧ください。
TDQS
Scored across 30 tools
Every tool has a clearly distinct purpose targeting specific resources (items, comments, tags, users) and actions (create, get, update, delete, follow/unfollow, stock/unstock). No ambiguity exists—for example, get_item retrieves a single article while get_items lists multiple, and follow_user/unfollow_user are complementary opposites.
All tools follow a consistent verb_noun pattern using snake_case (e.g., create_item, get_user, update_comment). The naming is highly predictable, with verbs like get, create, update, delete, follow, unfollow, stock, unstock, and is applied uniformly across resources.
With 30 tools, the count is borderline high for a typical MCP server, though it covers a comprehensive social blogging platform (Qiita). While each tool serves a purpose, the number might feel heavy compared to simpler APIs, but it's justified by the domain's complexity.
The toolset provides complete CRUD/lifecycle coverage for all core resources (items, comments, tags, users), including follow/unfollow and stock/unstock operations. There are no obvious gaps—every major action an agent would need for interacting with Qiita's API is available.