@sunu-py-jp/qiita-mcp
v0.1.2
Published
MCP server for Qiita API v2 — 68 tools covering the full Qiita API
Maintainers
Readme
Qiita MCP Server
Qiita API v2 の全機能 (68 ツール) を MCP (Model Context Protocol) 経由で AI から操作できる stdio サーバーです。
クイックスタート
1. アクセストークンの取得
Qiita の設定ページ でアクセストークンを発行してください。
2. Claude Desktop で使う
claude_desktop_config.json に以下を追加するだけ:
{
"mcpServers": {
"qiita-mcp": {
"command": "npx",
"args": ["-y", "@sunu-py-jp/qiita-mcp"],
"env": {
"QIITA_ACCESS_TOKEN": "your_token_here"
}
}
}
}設定ファイルの場所
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json- Windows:
%APPDATA%\Claude\claude_desktop_config.json
3. Claude Code で使う
claude mcp add qiita -e QIITA_ACCESS_TOKEN=your_token -- npx -y @sunu-py-jp/qiita-mcp4. その他の MCP クライアント
# npx で直接起動 (インストール不要)
QIITA_ACCESS_TOKEN=your_token npx -y @sunu-py-jp/qiita-mcp
# またはグローバルインストール
npm install -g @sunu-py-jp/qiita-mcp
QIITA_ACCESS_TOKEN=your_token qiita-mcpQiita Team での利用
Qiita Team で使用する場合は QIITA_BASE_URL 環境変数を追加してください:
{
"mcpServers": {
"qiita": {
"command": "npx",
"args": ["-y", "@sunu-py-jp/qiita-mcp"],
"env": {
"QIITA_ACCESS_TOKEN": "your_token_here",
"QIITA_BASE_URL": "https://your-team.qiita.com"
}
}
}
}ツールフィルタリング
68 ツール全てが不要な場合、環境変数でグループ単位・ツール単位のフィルタリングが可能です。
QIITA_ENABLED_GROUPS
カンマ区切りで カテゴリ:操作 を指定し、有効にするツールグループを絞り込みます。
- 未設定: 全ツールが有効(デフォルト)
- カテゴリのみ: そのカテゴリの read/write 両方が有効
- カテゴリ:操作: 指定した操作のツールのみ有効
操作は read(GET 系)と write(POST/PUT/PATCH/DELETE 系)の 2 種類です。
カテゴリ一覧: auth, authenticated_user, items, comments, tags, users, reactions, teams, groups, templates
QIITA_DISABLED_TOOLS
カンマ区切りでツール名を指定し、個別にツールを除外します。QIITA_ENABLED_GROUPS でフィルタされた後に適用されます。
設定例
{
"mcpServers": {
"qiita-mcp": {
"command": "npx",
"args": ["-y", "@sunu-py-jp/qiita-mcp"],
"env": {
"QIITA_ACCESS_TOKEN": "your_token_here",
"QIITA_ENABLED_GROUPS": "items:read,comments:read",
"QIITA_DISABLED_TOOLS": "list_item_stockers"
}
}
}
}| ユースケース | 設定 | 結果 |
|---|---|---|
| 記事の閲覧のみ | QIITA_ENABLED_GROUPS=items:read | 5 ツール |
| 記事の全操作 | QIITA_ENABLED_GROUPS=items | 11 ツール |
| 記事操作から削除を除外 | QIITA_ENABLED_GROUPS=items + QIITA_DISABLED_TOOLS=delete_item | 10 ツール |
| 特定ツールだけ除外 | QIITA_DISABLED_TOOLS=delete_item,delete_comment | 66 ツール |
提供ツール一覧 (68 tools)
認証 (auth) - 4 tools
| ツール | 説明 |
|--------|------|
| create_access_token | アクセストークンを作成 |
| delete_access_token | アクセストークンを無効化 |
| create_team_access_token | チーム用アクセストークンを作成 |
| delete_team_access_token | チーム用アクセストークンを無効化 |
認証ユーザー (authenticated-user) - 2 tools
| ツール | 説明 |
|--------|------|
| get_authenticated_user | 認証ユーザーの情報を取得 |
| list_authenticated_user_items | 認証ユーザーの記事一覧を取得 |
記事 (items) - 11 tools
| ツール | 説明 |
|--------|------|
| list_items | 記事一覧を取得 (検索クエリ対応) |
| get_item | 記事を ID で取得 |
| create_item | 記事を作成 |
| update_item | 記事を更新 |
| delete_item | 記事を削除 |
| list_user_items | ユーザーの記事一覧を取得 |
| list_user_stocks | ユーザーのストック一覧を取得 |
| list_item_stockers | 記事をストックしたユーザー一覧を取得 |
| stock_item | 記事をストック |
| unstock_item | 記事のストックを解除 |
| import_item | 記事をインポート (Team 管理者のみ) |
コメント (comments) - 6 tools
| ツール | 説明 |
|--------|------|
| list_item_comments | 記事のコメント一覧を取得 |
| create_comment | コメントを投稿 |
| get_comment | コメントを取得 |
| update_comment | コメントを更新 |
| delete_comment | コメントを削除 |
| import_comment | コメントをインポート (Team 管理者のみ) |
タグ (tags) - 8 tools
| ツール | 説明 |
|--------|------|
| list_tags | タグ一覧を取得 |
| get_tag | タグ詳細を取得 |
| list_tag_items | タグが付いた記事一覧を取得 |
| list_user_following_tags | ユーザーがフォロー中のタグ一覧を取得 |
| follow_tag | タグをフォロー |
| unfollow_tag | タグのフォローを解除 |
| create_tagging | 記事にタグを追加 (Team のみ) |
| delete_tagging | 記事からタグを削除 (Team のみ) |
ユーザー (users) - 9 tools
| ツール | 説明 |
|--------|------|
| list_users | ユーザー一覧を取得 |
| get_user | ユーザー情報を取得 |
| list_user_followees | フォロー中のユーザー一覧を取得 |
| list_user_followers | フォロワー一覧を取得 |
| follow_user | ユーザーをフォロー |
| unfollow_user | ユーザーのフォローを解除 |
| check_user_following | フォロー状態を確認 |
| list_item_likes | 記事のいいね一覧を取得 |
| check_item_stock | 記事のストック状態を確認 |
リアクション (reactions) - 7 tools
| ツール | 説明 |
|--------|------|
| create_item_reaction | 記事に絵文字リアクションを追加 |
| list_item_reactions | 記事のリアクション一覧を取得 |
| delete_item_reaction | 記事のリアクションを削除 |
| create_comment_reaction | コメントに絵文字リアクションを追加 |
| list_comment_reactions | コメントのリアクション一覧を取得 |
| delete_comment_reaction | コメントのリアクションを削除 |
| create_project_comment_reaction | プロジェクトコメントにリアクションを追加 |
チーム (teams) - 6 tools
| ツール | 説明 |
|--------|------|
| list_teams | 所属チーム一覧を取得 |
| list_team_memberships | チームメンバー一覧を取得 |
| list_team_invitations | チーム招待一覧を取得 |
| create_team_invitation | チームに招待 |
| delete_team_invitation | チーム招待を取り消し |
| remove_team_member | チームメンバーを削除 |
グループ (groups) - 9 tools
| ツール | 説明 |
|--------|------|
| list_groups | グループ一覧を取得 |
| create_group | グループを作成 |
| get_group | グループ詳細を取得 |
| update_group | グループを更新 |
| delete_group | グループを削除 |
| list_group_members | グループメンバー一覧を取得 |
| add_group_member | グループにメンバーを追加 |
| remove_group_member | グループからメンバーを削除 |
| get_group_member | グループメンバー情報を取得 |
テンプレート (templates) - 6 tools
| ツール | 説明 |
|--------|------|
| list_templates | テンプレート一覧を取得 |
| create_template | テンプレートを作成 |
| get_template | テンプレートを取得 |
| update_template | テンプレートを更新 |
| delete_template | テンプレートを削除 |
| expand_template | テンプレート変数を展開 |
開発
git clone https://github.com/sunu-py-jp/Qiita-MCP.git
cd Qiita-MCP
npm install
npm run build