COMPANY SERVICE STAFF BLOG NEWS CONTACT
2026.09.18

MCPツールの実行権限を制御してみた-Claude Code × Backlog MCP Server –

テクログ

1. はじめに

気づいたら今年も残すところ、あと3ヶ月ちょっと。

だんでらいおんです。

今回はClaude Code と Backlog MCP Serverを利用して、

MCPツールを利用する際の権限制御をざっくりと確認していきたいと思います。

2.経緯

最近、メインで使用するAIツールを「Claude Code」に変更しました。

メインAIツールを変更したことに伴い、mcpサーバの利用方法に慣れておきたいと考えました。

そこで、業務で利用しているプロジェクト課題ツールである「Backlog」が「MCP Server」を公開しているため、

こちらを利用して検証を進めていきたいと思いました。

また、MCPツールを利用する際の権限制御の設定方法を確認することで、

今後の業務利用を想定して、意図しない変更を禁止できるように試したいという考えもあります。

4.実行権限の制御設定

※ Backlog MCP Serverの基本的なセットアップ方法については、公式ドキュメントや既存の記事で紹介されているため、本記事では省略します。

今回の検証にあたり、ローカルDocker環境にBacklog MCP Serverを構築しました。

4-1.実行権限の制御方針

今後の業務利用を想定して、まずは「読み取り」だけの最低権限としました。

また、ユーザに実行確認を促すようにしました。

それ以外の「作成」、「更新」、「削除」、「その他の検証に不要なツール」は、実行禁止にしました。

操作設定
課題・プロジェクト等の読み取りユーザに実行確認をする
課題・プロジェクト等の作成実行禁止
課題・プロジェクト等の更新実行禁止
課題・プロジェクト等の削除実行禁止
その他の検証に不要なツール実行禁止

4-2.実行権限の設定

実行権限の制御方針をもとに、各種設定を.claude/settings.local.jsonに記載しました。

{
  "permissions": {
    "ask": [
      "mcp__backlog__count_issues",
      "mcp__backlog__get_categories",
      "mcp__backlog__get_custom_fields",
      "mcp__backlog__get_issue",
      "mcp__backlog__get_issue_comments",
      "mcp__backlog__get_issue_types",
      "mcp__backlog__get_issues",
      "mcp__backlog__get_priorities",
      "mcp__backlog__get_project",
      "mcp__backlog__get_related_issues",
      "mcp__backlog__get_resolutions",
      "mcp__backlog__get_version_milestone_list"
    ],
    "deny": [
      "mcp__backlog__add_category",
      "mcp__backlog__add_issue",
      "mcp__backlog__add_issue_comment",
      "mcp__backlog__add_project",
      "mcp__backlog__add_related_issue",
      "mcp__backlog__add_version_milestone",
      "mcp__backlog__add_watching",

      "mcp__backlog__delete_issue",
      "mcp__backlog__delete_version",
      "mcp__backlog__delete_watching",

      "mcp__backlog__get_issue_attachment",
      "mcp__backlog__get_project_list",
      "mcp__backlog__get_project_users",
      "mcp__backlog__get_watching_list_count",
      "mcp__backlog__get_watching_list_items",

      "mcp__backlog__mark_watching_as_read",
      "mcp__backlog__remove_related_issue",

      "mcp__backlog__update_issue",
      "mcp__backlog__update_issue_comment",
      "mcp__backlog__update_project",
      "mcp__backlog__update_version_milestone",
      "mcp__backlog__update_watching"
    ]
  }
}

4-3.【補足】MCPツール名を指定した際の気づき

実行権限の制御方針をもとに、各種設定を.claude/settings.local.jsonに記載するにあたり、MCPツール名を調べていたのですが、下記のような違いがありました。

これは、Claude Code側の命名規則が「mcp__<server-name>-<tool-name>」となっていることに起因するようです。

操作Backlog MCP Serverでのツール名Claude Code で確認したMCPツール名
課題を取得get_issuemcp__backlog__get_issue

参考:https://code.claude.com/docs/en/agent-sdk/mcp#tool-naming-convention

5.検証結果

5-1.実行が許可された操作の場合

例として、「特定課題の情報を取得」を実施する場合を下記に示します。

実行した結果、Backlogから情報を取得する前に確認が入ったため、所望の結果が得られました。

また、実行した結果として得られる情報も問題ありませんでした。

5-2.実行が許可されていない操作の場合

例として、「新規課題の起票」を実施する場合を下記に示します。

実行した結果、「新規課題の起票」が実行されないことが確認できたため、所望の結果が得られました。

6.まとめ

Claude Code と Backlog MCP Serverを利用して、MCPツールを利用する際の権限制御をざっくりと確認しました。

MCPサーバの導入、利用自体は簡単にできて良いと思いました。

業務利用を想定した場合、「制御の強さ」と「利便性」を考慮すべきと感じました。

この記事を書いた人

だんでらいおん

入社年
2022年
出身地
栃木県
業務内容
開発
特技・趣味
ライブ・スポーツ観戦

テクログに関する記事一覧