Skip to main content
Glama

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-mcp

4. その他の 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-mcp

Related MCP server: Qiita API MCP Server

Qiita 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

ライセンス

MIT

Available Tools

68 tools
add_group_memberC

Add members to a group (Qiita Team only)

Inputs: url_name (required), user_ids (required).

check_item_stockC

Check if the authenticated user has stocked the item

Inputs: item_id (required).

check_user_followingB

Check if the authenticated user is following the specified user

Inputs: user_id (required).

create_access_tokenC

Create a new access token by exchanging an authorization code

Inputs: client_id (required), client_secret (required), code (required).

create_commentC

Post a new comment on an item (article)

Inputs: item_id (required), body (required).

create_comment_reactionB

Add an emoji reaction to a comment (Qiita Team only)

Inputs: comment_id (required), name (required).

create_groupC

Create a new group (Qiita Team only)

Inputs: name (required), url_name (required), private.

create_itemC

Create a new Qiita item (article)

Inputs: title (required), body (required), tags (required), private, +1 more.

create_item_reactionB

Add an emoji reaction to an item (Qiita Team only)

Inputs: item_id (required), name (required).

create_project_comment_reactionB

Add an emoji reaction to a project comment (Qiita Team only)

Inputs: comment_id (required), name (required).

create_taggingB

Add a tag to an item (Qiita Team only). Optionally specify versions.

Inputs: item_id (required), name (required), versions.

create_team_access_tokenB

Create a new team access token by exchanging an authorization code

Inputs: client_id (required), client_secret (required), code (required).

create_team_invitationB

Invite a user to the team by email (Qiita Team only)

Inputs: email (required).

create_templateC

Create a new template (Qiita Team only)

Inputs: title (required), body (required), tags (required).

delete_access_tokenC

Revoke an access token

Inputs: access_token (required).

delete_commentC

Delete a comment

Inputs: comment_id (required).

delete_comment_reactionB

Delete an emoji reaction from a comment (Qiita Team only)

Inputs: comment_id (required), reaction_name (required).

delete_groupB

Delete a group (Qiita Team only)

Inputs: url_name (required).

delete_itemC

Delete a Qiita item

Inputs: item_id (required).

delete_item_reactionB

Delete an emoji reaction from an item (Qiita Team only)

Inputs: item_id (required), reaction_name (required).

delete_taggingB

Remove a tag from an item (Qiita Team only)

Inputs: item_id (required), tagging_id (required).

delete_team_access_tokenC

Revoke a team access token

Inputs: team_access_token (required).

delete_team_invitationC

Cancel a pending team invitation (Qiita Team only)

Inputs: email (required).

delete_templateC

Delete a template (Qiita Team only)

Inputs: template_id (required).

expand_templateC

Expand template variables in the given body and tags (Qiita Team only)

Inputs: body (required), tags (required).

follow_tagC

Follow a tag

Inputs: tag_id (required).

follow_userC

Follow a user

Inputs: user_id (required).

get_authenticated_userB

Get the currently authenticated user's profile

Inputs: no named parameters.

get_commentC

Get a specific comment by its ID

Inputs: comment_id (required).

get_groupC

Get a specific group by URL name (Qiita Team only)

Inputs: url_name (required).

get_group_memberB

Get a specific member of a group (Qiita Team only)

Inputs: url_name (required), user_id (required).

get_itemC

Get a specific Qiita item by ID

Inputs: item_id (required).

get_tagB

Get a specific tag by its ID

Inputs: tag_id (required).

get_templateC

Get a specific template by ID (Qiita Team only)

Inputs: template_id (required).

get_userB

Get a specific user by user ID

Inputs: user_id (required).

import_commentC

Import a comment on an item with optional created_at and updated_at timestamps

Inputs: item_id (required), body (required), created_at, updated_at.

import_itemC

Import an item with custom created_at/updated_at timestamps

Inputs: title (required), body (required), tags (required), private, +2 more.

list_authenticated_user_itemsB

List items posted by the currently authenticated user

Inputs: page, per_page.

list_comment_reactionsC

List emoji reactions on a comment (Qiita Team only)

Inputs: comment_id (required).

list_group_membersB

List members of a group (Qiita Team only)

Inputs: url_name (required), page, per_page.

list_groupsC

List groups (Qiita Team only)

Inputs: page, per_page.

list_item_commentsB

List comments on a specific item (article)

Inputs: item_id (required).

list_item_likesC

List likes on an item

Inputs: item_id (required).

list_item_reactionsB

List emoji reactions on an item (Qiita Team only)

Inputs: item_id (required).

list_itemsC

List items on Qiita with optional search query

Inputs: page, per_page, query.

list_item_stockersC

List users who stocked a specific item

Inputs: item_id (required), page, per_page.

list_tag_itemsB

List items (articles) associated with a specific tag

Inputs: tag_id (required), page, per_page.

list_tagsB

List tags in order of popularity or name

Inputs: page, per_page, sort.

list_team_invitationsC

List pending team invitations (Qiita Team only)

Inputs: page, per_page.

list_team_membershipsC

List team memberships (Qiita Team only)

Inputs: page, per_page.

list_teamsB

List teams the authenticated user belongs to

Inputs: no named parameters.

list_templatesC

List templates (Qiita Team only)

Inputs: page, per_page.

list_user_followeesB

List users that the specified user is following

Inputs: user_id (required), page, per_page.

list_user_followersB

List users who follow the specified user

Inputs: user_id (required), page, per_page.

list_user_following_tagsC

List tags that a specific user is following

Inputs: user_id (required), page, per_page.

list_user_itemsC

List items posted by a specific user

Inputs: user_id (required), page, per_page.

list_usersB

List all users in recently created order

Inputs: page, per_page.

list_user_stocksC

List items stocked by a specific user

Inputs: user_id (required), page, per_page.

remove_group_memberC

Remove a member from a group (Qiita Team only)

Inputs: url_name (required), user_id (required).

remove_team_memberC

Remove a member from the team (Qiita Team only)

Inputs: user_id (required).

stock_itemC

Stock (bookmark) an item

Inputs: item_id (required).

unfollow_tagC

Unfollow a tag

Inputs: tag_id (required).

unfollow_userC

Unfollow a user

Inputs: user_id (required).

unstock_itemB

Unstock (remove bookmark from) an item

Inputs: item_id (required).

update_commentC

Update an existing comment

Inputs: comment_id (required), body (required).

update_groupC

Update a group (Qiita Team only)

Inputs: url_name (required), name, private.

update_itemC

Update an existing Qiita item

Inputs: item_id (required), title, body, tags, +1 more.

update_templateC

Update an existing template (Qiita Team only)

Inputs: template_id (required), title, body, tags.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 68 tools

    Disambiguation4/5

    Most tools have distinct purposes targeting specific resources and actions, but there is some overlap between 'list_user_items' and 'list_authenticated_user_items' which could cause confusion. Additionally, 'check_item_stock' and 'list_user_stocks' serve related but different functions, which might require careful reading to differentiate.

    Naming Consistency5/5

    Tool names follow a highly consistent verb_noun pattern throughout, such as 'create_item', 'delete_comment', 'list_tags', and 'update_template'. This predictability makes it easy for agents to understand and navigate the toolset without ambiguity in naming conventions.

    Tool Count2/5

    With 68 tools, the count is excessive for a typical MCP server, making it overwhelming and difficult to manage. This large number suggests over-fragmentation of functionality, which can hinder agent efficiency and increase the risk of misselection.

    Completeness5/5

    The toolset provides comprehensive coverage for the Qiita domain, including CRUD operations for items, comments, tags, users, and team features. It supports full lifecycles with create, read, update, delete, and list actions, ensuring no significant gaps for agent workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables interaction with Qiita, a Japanese developer community platform, through its API v2. Supports comprehensive operations including article management, user interactions, tag following, and commenting with Japanese language support.
      30
      11 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A lightweight MCP server that connects AI assistants to Kintone applications for managing records and automating business workflows. It enables secure authentication and natural language interaction for performing CRUD operations and querying data within the Kintone platform.
      10
      1
      MIT