RACCOON TECH BLOG

株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。

Claude Codeの利用を社内に広めるためにやっていること

最近息子が1歳になりました、CTO室に所属する川崎です。
ラクーンホールディングス(以下ラクーンHD)では2025年11月からClaude Codeのライセンスを希望者に提供しています。
今回はせっかく導入したClaude Codeの利用を広めるためにCTO室がやっていることを紹介します。

「Claude Codeのライセンスを配ったけどあまり使われていない・・・」と悩んでいる方のお役に立てる記事になっていると思います。

安全に使ってもらうためにmanaged-settings.jsonを配布

絶対に適用して欲しいClaude Codeの設定はmanaged-settings.jsonとして配布しています。
managed-settings.jsonはマシン上の所定のディレクトリに配置することで、そのマシン上の最優先設定として適用することができるファイルです。
Linuxでは /etc/claude-code/ に配置すると機能します。Otel Collectorへの接続情報や、セキュリティ上不可欠な権限設定などを記載するのに適しています。

// /etc/claude-code/managed-settings.jsonの内容サンプル
{
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_EXPORTER_OTLP_ENDPOINT": "http://~~~"
  },
  "permissions": {
    "allow": [],
    "deny": [
      "Bash(docker push:*)",
      "Read(.env*)",
      "Write(.env*)",
      "Edit(.env*)",
      // ...
    ],
    "disableBypassPermissionsMode": "disable"
  }
}

利用する環境ごとに設定が必要な点に注意しましょう。
特にDevContainer上でもClaude Codeを利用する場合、DevContainerにmanaged-settings.jsonをマウントする設定を忘れずに入れましょう。

// devcontainer.json
{
  "name": "TestDevContainer",
  "service": "test-container",
  "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
  // ローカルのmanaged-settings.jsonをマウントするのを忘れずに!
  "mounts": [
    "source=/etc/claude-code,target=/etc/claude-code,type=bind,readonly"
  ],
  // ...
}

設定漏れのリスクにはどう対処しているか

チーム全員のClaude Code利用状況をダッシュボードで確認できる環境を整えています。
Claude Codeをガンガン使っているのに利用量が増えていない場合に、設定漏れに気づくことが可能です。

当然この運用でも設定漏れをゼロにはできません。設定漏れをゼロにしたいなら追加で別の策を講じたほうがよいでしょう。

OpenTelemetryによる利用状況収集

全員のClaude Codeの利用状況をPrometheusのダッシュボードで相互に確認できる環境を提供しています。
これはColeMurray/claude-code-otelを少し修正したものを運用することで実現しています。
このリポジトリはOpenTelemetry(Otel)によるClaude Codeの利用状況の収集・分析環境を簡単に構築できるのでオススメです。(ColeMurray氏に感謝します。)


こんな感じのシステムを一発で立ち上げられます。

Otel Collectorの接続情報を環境変数を設定するとClaude Codeからメトリクスを送信できます。
ラクーンHDではmanaged-settings.jsonを配布して、Claude Codeの利用者に接続情報を環境変数に設定することを義務付けています。

// /etc/claude-code/managed-settings.json
{
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp",
    "OTEL_LOGS_EXPORTER": "otlp",
    "OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
    "OTEL_EXPORTER_OTLP_ENDPOINT": "http://~~~"
  },
  "permissions": {
    "allow": [],
    ...
}

利用状況の相互可視化がもたらした副次効果

前述のダッシュボードは自分以外の利用状況も確認できます。
これによりClaude Codeを頻繁に利用している人が誰か分かるので、利用量が多い人に使い方を聞く人がでてきたのです。
さらにClaude Codeユーザー会が開かれるようになり、Claude Codeの利用テクニックがより広まるようになりました。


(Fun Done Learn形式でClaude Codeについて話しているホワイトボードの一部)

Plugin Marketplaceの展開

社員が作ったカスタムスラッシュコマンドやMCPサーバーは一部リポジトリや社員のローカルフォルダに埋もれがちです。
せっかく作ったそれらを広く展開するためにClaude Plugin Marketplaceを運用しています。

運用といってもGitHubにリポジトリとしてマーケットプレイス定義とエージェントスキルやスラッシュコマンドなどを置いておくだけでいいので楽です。さあ皆さんもやりましょう。

// マーケットプレイスとして運用するリポジトリに置く .claude-plugin/marketplace.json のサンプル
{
  "name": "marketplace_name",
  "owner": {
    "name": "owner_name"
  },
  "plugins": [
    {
      "name": "plugin_name",
      "source": "./path/to/plugin",
      "description": "プラグインの説明"
    },
    {
      "name": "external_plugin_name",
      "source": {
          "source": "github",
          "repo": "external/plugin-repo"
      },
      "agents": ["./agents/external-plugin-agent.md"],
      "description":"外部リポジトリのプラグインも取り込むことが可能です"
    }
  ]
}

プラグインのインストールもclaudeコマンドもしくはTUIから簡単に実施可能です。

# GitHub上のマーケットプレイスをclaudeに追加する
claude plugin marketplace add user/repo

# CLIで簡単にプラグインのインストールが可能
# もちろんclaudeコマンドで入るTUI上でも可能
claude plugin install plugin-name@marketplace-name

MCPサーバー/Agent Skillの内製と提供

これらを組み合わせることで、CS部門から来た問い合わせの1次受けをClaude Codeに任せられないかなどを現在検証しています。


(開発DBに繋げるサーバーが結構好評です。)

内製する必要はあるのか

社内で非常に頻繁に使うSaaSやシステムと通信できる内製MCPサーバーは用意する価値があると思います。

SaaSやFWなどが公式にMCPサーバーを提供することも多いです。しかしそれらはツール定義が異常に多かったり、レスポンスの形式がJSONだったりしてコンテキストを多く消費しがちです。
内製するとこういう痒いところに手が届いたMCPサーバーをエンジニアに提供できます。

社内で提供しているソースコード検索MCPサーバーではMarkdown形式で検索結果を返します。
GitHub公式のMCPサーバーの search_code ツールより消費コンテキストが圧倒的に少ないので1セッションでより多くのやり取り(試行錯誤)が可能です。

// GitHub公式MCPサーバーのsearch_codeを実行した結果の一部
{
  "total_count": 57,
  "incomplete_results": false,
  "items": [
    {
      "name": "error-handling.md",
      "path": "docs/error-handling.md",
      "sha": "9bb27e0fa4ee5f296ecacbda116550b977028b83",
      "html_url": "https://github.com/github/github-mcp-server/blob/1820a0ff11cc2ff91476066ab3c6088e9f6dfa1e/docs/error-handling.md",
      "repository": {
        "id": 942771284,
        "node_id": "R_kgDOODGMVA",
        "owner": {
          "login": "github",
          // 15個以上のプロパティが続く
        },
        "name": "github-mcp-server",
        // 35個以上のプロパティが続く
      }
    },
  ]
}
<!-- 内製しているソースコード検索MCPサーバーのsearch_codeを実行した結果 -->
## Search Results

### Stats

- **Matches**: 1 / 1
- **Files**: 1
- **Duration**: 0.23ms
- **Exhaustive**: Yes

### Files

#### README.md

- **Repository**: `github.com/xxxx/xxxx`
- **Language**: Markdown

**Line 128**:

\`\`\`markdown
## 定義ファイルの書き方
ざっくりとした書き方は[sample.yml](./sample.yml)を参照してください。

\`\`\`

まとめ

Claude Codeを利用可能にしただけでは開発での活用はあまり進まないと思います。
「何が活用のハードルとなっているのか」をしっかり分析して、そのハードルを一つひとつ取り払っていくとClaude Codeやその他AI Agentによって開発生産性の向上が見込めるのではないでしょうか。

ラクーンHDではClaude Codeを使った開発を広めるために

をしているという話でした。

内製MCPサーバーなどはもっと作っていきたいですが、情報漏洩リスクなどもあるので利便性とセキュリティのバランスを見ながら提供していきたいですね。

さて、ラクーンホールディングスではエンジニアを大募集中です!興味を持っていただいた方は是非、お話ししましょう!

一緒にラクーンのサービスを作りませんか? 採用情報を詳しく見る

関連記事

運営会社:株式会社ラクーンホールディングス(c)2000 RACCOON HOLDINGS, Inc