【速報】Claude Desktopが進化!Desktop ExtensionsでMCP連携が超簡単に - あなたのAIアシスタントを最強にカスタマイズ
【速報】Claude Desktopが進化!Desktop ExtensionsでMCP連携が超簡単に
🚀 AIアシスタントの新時代が到来!
こんにちは!エンハンスド業務効率化チームです。
「もしAIアシスタントが、あなたのGitHub、Google Drive、Slackに直接アクセスできたら?」
そんな夢のような機能が、ついに現実になりました!Anthropicが発表したClaude Desktop Extensionsは、MCP(Model Context Protocol)を使って、様々な外部ツールとシームレスに連携できる革新的な機能です。
今回は、この画期的なアップデートの全貌と、実際の設定方法を分かりやすく解説します!
🎯 Desktop Extensionsって何がすごいの?
従来のClaude Desktop
-
テキストベースの対話のみ
-
ローカルファイルへのアクセスは限定的
-
外部ツールとの連携は手動コピペ
新しいClaude Desktop with Extensions
-
GitHubのリポジトリを直接操作
-
Google Driveのファイルを読み込み・編集
-
Slackのメッセージを確認・送信
-
Postgresデータベースにクエリ実行
-
その他、無限の可能性!
🔥 実際の活用シーンがヤバすぎる!
シーン1)開発者の朝のルーティン
あなた:「昨日のPRレビューコメントをまとめて、対応すべきものをリストアップして」
Claude(GitHub Extension使用):
「3つのPRにレビューコメントがありました:
1. PR #234:変数名の修正(優先度:高)
2. PR #235:テストケースの追加(優先度:中)
3. PR #236:ドキュメント更新(優先度:低)
対応用のブランチも作成しましょうか?」
シーン2)マーケティングチームの効率化
あなた:「Google Driveの売上レポートを分析して、来月の施策を提案して」
Claude(Google Drive Extension使用):
「売上レポートを分析しました。
- 先月比15%増加
- 特にオンラインチャネルが好調(+32%)
来月の提案
1. オンライン広告予算を20%増額
2. 成功したキャンペーンの横展開
詳細な施策案をドキュメントにまとめますか?」
📦 Desktop Extensionsの仕組み
MCP(Model Context Protocol)とは?
MCPは、AIモデルと外部ツールを安全に接続するためのオープンプロトコルです。
主な特徴
-
セキュア:認証情報は暗号化して保存
-
柔軟:様々なツールに対応可能
-
高速:リアルタイムでデータ取得
-
簡単:GUI操作で設定完了
🛠️ 実際に設定してみよう!超簡単セットアップガイド
🎬 まずは動画で流れを確認!
実際の設定画面を使った解説動画で、セットアップの流れを把握しましょう。
Step 1)Claude Desktopを最新版にアップデート
-
Claude Desktopを起動
-
設定メニューから「アップデートを確認」
-
最新版(v0.7.0以降)にアップデート ※Extension機能対応版
Step 2)MCPサーバーのセットアップ方法を選択
MCPサーバーをセットアップする方法は3つあります:
方法1:npxを使用(推奨)
最も簡単で、Node.jsがインストールされていれば追加設定不要。
方法2:ローカルインストール
npm install -g @modelcontextprotocol/server-github
方法3:Docker経由
セキュリティを重視する環境では、Dockerコンテナ内でMCPサーバーを実行。
Step 3)claude_desktop_config.jsonの編集
実は、現在のExtensionsはJSON設定ファイルで管理されています!
設定ファイルの場所
-
Mac:
~/Library/Application Support/Claude/claude_desktop_config.json -
Windows:
%APPDATA%\Claude\claude_desktop_config.json -
Linux:
~/.config/Claude/claude_desktop_config.json
💡 Pro Tip: 設定ファイルの開き方
Mac/Linux:
# エディタで直接開く
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
# または
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:
# PowerShellから
notepad $env:APPDATA\Claude\claude_desktop_config.json
Step 4)使いたいExtensionを設定
利用可能なExtension一覧から、使いたいものを選択:
🐙 GitHub Extension(mcp-server-github)
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here"
}
}
}
}
必要な権限設定
-
repo- プライベートリポジトリへのアクセス -
read:org- 組織情報の読み取り -
read:user- ユーザー情報の読み取り
📁 Google Drive Extension(mcp-server-gdrive)
{
"mcpServers": {
"gdrive": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-gdrive"],
"env": {
"GDRIVE_CLIENT_ID": "your_client_id",
"GDRIVE_CLIENT_SECRET": "your_client_secret",
"GDRIVE_REDIRECT_URI": "http://localhost:3000/oauth/callback"
}
}
}
}
OAuth設定の手順
-
Google Cloud Consoleでプロジェクト作成
-
Google Drive APIを有効化
-
OAuth 2.0クライアントIDを作成
-
リダイレクトURIを設定
💬 Slack Extension(mcp-server-slack)
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-slack"],
"env": {
"SLACK_BOT_TOKEN": "xoxb-your-bot-token",
"SLACK_USER_TOKEN": "xoxp-your-user-token"
}
}
}
}
Slack App設定
-
api.slack.comでアプリ作成
-
Bot Token Scopesを設定(channels:read, chat:write等)
-
ワークスペースにインストール
Step 5)複数のExtensionを同時に設定
複数のツールを使いたい場合は、以下のように設定します。
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token"
}
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/yourname/Documents"]
},
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://user:password@localhost:5432/mydb"
}
}
}
}
Step 6)Claude Desktopを再起動
設定ファイルを保存したら、Claude Desktopを完全に終了して再起動します。
Step 7)動作確認
あなた:「GitHubの最新のissueを3つ表示して」
Claude:「リポジトリ owner/repo の最新issueです:
1. #456: ビルドエラーの修正
2. #455: ドキュメントの更新
3. #454: 新機能の提案」
🎉 設定成功のサイン
-
Claude Desktopの画面上部に接続されたExtensionのアイコンが表示
-
チャット入力欄の近くに利用可能なツールが表示
-
「MCP Connected」の通知が表示
🆕 注目の新Extension紹介
📂 Filesystem Extension
ローカルファイルへの読み書きアクセスを提供。特定のディレクトリのみアクセス可能に制限できます。
{
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem",
"/path/to/allowed/directory"]
}
}
🐘 PostgreSQL Extension
データベースに直接クエリを実行。分析やレポート作成が爆速に!
{
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres"],
"env": {
"DATABASE_URL": "postgresql://user:password@host:5432/dbname"
}
}
}
🔍 Brave Search Extension
最新のWeb情報を検索。Claude Desktopから直接Web検索が可能に!
{
"brave-search": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": {
"BRAVE_API_KEY": "your_brave_api_key"
}
}
}
🎨 Puppeteer Extension
Webページのスクリーンショット取得やPDF生成が可能に!
{
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
📊 Google Sheets Extension
スプレッドシートの読み書きを直接実行!
{
"google-sheets": {
"command": "npx",
"args": ["-y", "mcp-server-google-sheets"],
"env": {
"GOOGLE_SHEETS_CLIENT_ID": "your_client_id",
"GOOGLE_SHEETS_CLIENT_SECRET": "your_client_secret"
}
}
}
🎨 カスタムExtensionの作成方法
MCPサーバーの基本構造
// my-mcp-server.ts
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new Server(
{
name: 'my-custom-server',
version: '1.0.0',
},
{
capabilities: {
tools: {},
resources: {},
},
}
);
// ツールの定義
server.setRequestHandler('tools/list', async () => ({
tools: [
{
name: 'fetch_data',
description: 'カスタムデータを取得',
inputSchema: {
type: 'object',
properties: {
query: { type: 'string' }
},
required: ['query']
}
}
]
}));
// ツールの実装
server.setRequestHandler('tools/call', async (request) => {
if (request.params.name === 'fetch_data') {
const { query } = request.params.arguments;
// 実際の処理
return {
content: [
{
type: 'text',
text: `データ: ${query}の結果`
}
]
};
}
});
// サーバー起動
const transport = new StdioServerTransport();
server.connect(transport).catch(console.error);
実装例)社内システム連携
// company-systems-mcp.ts
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import fetch from 'node-fetch';
const server = new Server(
{
name: 'company-systems',
version: '1.0.0',
},
{
capabilities: {
tools: {},
},
}
);
// ツール定義
server.setRequestHandler('tools/list', async () => ({
tools: [
{
name: 'search_wiki',
description: '社内Wikiを検索',
inputSchema: {
type: 'object',
properties: {
query: { type: 'string', description: '検索クエリ' }
},
required: ['query']
}
},
{
name: 'get_employee_info',
description: '社員情報を取得',
inputSchema: {
type: 'object',
properties: {
employeeId: { type: 'string', description: '社員ID' }
},
required: ['employeeId']
}
},
{
name: 'create_ticket',
description: 'サポートチケットを作成',
inputSchema: {
type: 'object',
properties: {
title: { type: 'string' },
description: { type: 'string' },
priority: { type: 'string', enum: ['low', 'medium', 'high'] }
},
required: ['title', 'description']
}
}
]
}));
// ツール実装
server.setRequestHandler('tools/call', async (request) => {
const { name, arguments: args } = request.params;
switch (name) {
case 'search_wiki':
const wikiResults = await fetch(
`https://wiki.company.com/api/search?q=${args.query}`,
{ headers: { 'Authorization': `Bearer ${process.env.WIKI_TOKEN}` } }
);
const data = await wikiResults.json();
return {
content: [{
type: 'text',
text: `検索結果(${data.length}件):\n` +
data.map(d => `- ${d.title}: ${d.url}`).join('\n')
}]
};
case 'get_employee_info':
// 社員情報取得の実装
break;
case 'create_ticket':
// チケット作成の実装
break;
}
});
const transport = new StdioServerTransport();
server.connect(transport).catch(console.error);
package.jsonの設定
{
"name": "company-systems-mcp",
"version": "1.0.0",
"type": "module",
"bin": {
"company-systems-mcp": "./dist/index.js"
},
"scripts": {
"build": "tsc",
"dev": "tsx watch src/index.ts"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.0.0",
"node-fetch": "^3.3.2"
},
"devDependencies": {
"@types/node": "^20.0.0",
"typescript": "^5.0.0",
"tsx": "^4.0.0"
}
}
💡 実践的な活用アイデア10選
1. 開発効率化
-
PRレビューの自動要約
-
コードの問題点を自動検出
-
ドキュメント生成の自動化
2. プロジェクト管理
-
タスクの進捗状況を可視化
-
締切アラートの自動生成
-
チームメンバーの負荷分析
3. カスタマーサポート
-
過去の対応履歴を即座に検索
-
類似問題の解決策を提案
-
FAQ自動生成
4. マーケティング
-
競合分析レポートの作成
-
SNS投稿の最適化提案
-
キャンペーン効果の測定
5. 営業支援
-
顧客情報の統合管理
-
提案書の自動生成
-
商談履歴の分析
6. 人事・採用
-
履歴書のスクリーニング
-
面接質問の生成
-
社員満足度の分析
7. 財務・経理
-
経費精算の自動チェック
-
予算管理レポート作成
-
異常値の検出
8. 法務・コンプライアンス
-
契約書のリスク分析
-
規約違反の検出
-
法的文書の要約
9. 研究・開発
-
論文の要約と引用管理
-
実験データの分析
-
特許調査の効率化
10. 教育・トレーニング
-
個別学習プランの作成
-
理解度テストの自動生成
-
学習進捗の可視化
🔒 セキュリティとプライバシー
Anthropicの取り組み
-
エンドツーエンド暗号化:すべての通信を暗号化
-
ローカル処理優先:機密データはローカルで処理
-
権限の細分化:必要最小限のアクセス権限
-
監査ログ:すべてのアクセスを記録
ベストプラクティス
-
認証情報の管理
-
定期的なトークンの更新
-
強力なパスワードの使用
-
二要素認証の有効化
-
-
アクセス制限
-
必要なリポジトリのみアクセス許可
-
機密ファイルの除外設定
-
時間制限の設定
-
-
監視とレビュー
-
アクセスログの定期確認
-
異常なアクティビティの検知
-
定期的な権限見直し
-
⚠️ トラブルシューティング
よくある問題と解決方法
1. 「Extension not found」エラー
原因: npxのキャッシュ問題
解決策:
npx clear-npx-cache
# または
npm cache clean --force
2. 認証エラー
原因: トークンの権限不足
解決策: 必要な権限をすべて付与したトークンを再生成
3. 接続タイムアウト
原因: ファイアウォールまたはプロキシ設定
解決策:
-
企業ネットワークの場合は、IT部門に相談
-
プロキシ設定を確認
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token",
"HTTP_PROXY": "http://proxy.company.com:8080",
"HTTPS_PROXY": "http://proxy.company.com:8080"
}
}
}
}
4. Extensionが表示されない
原因: Claude Desktopのバージョンが古い
解決策: v0.7.0以降にアップデート
5. 「Permission denied」エラー
原因: ファイルシステムの権限問題
解決策:
# Mac/Linux
chmod 644 ~/Library/Application\ Support/Claude/claude_desktop_config.json
6. JSONパースエラー
原因: 設定ファイルの構文エラー
解決策: JSONバリデーターで確認
# jqコマンドで検証
jq . ~/Library/Application\ Support/Claude/claude_desktop_config.json
7. MCPサーバーが起動しない
原因: Node.jsのバージョン不適合
解決策: Node.js 18以上をインストール
node --version # v18.0.0以上を確認
nvm install 18 # 必要に応じてインストール
🚀 今すぐ始める3ステップ
1. Claude Desktopをアップデート
最新版をダウンロードして、新機能を有効化。
2. 必要なExtensionをインストール
まずは1つから始めて、徐々に拡張。
3. ワークフローを最適化
日常業務で使いながら、最適な使い方を発見。
🎯 まとめ
Claude Desktop Extensionsは、AIアシスタントの可能性を大きく広げる革新的な機能です。MCPによる安全な連携により、これまで手作業だった多くのタスクを自動化できます。
特に注目すべきは:
-
簡単な設定:GUIで数分で完了
-
強力な連携:主要ツールに対応
-
カスタマイズ性:独自Extension作成可能
-
セキュリティ:企業利用も安心
今こそ、あなたのワークフローをAIで革新する時です!
📊 Extension対応状況(2025年6月現在)
Extension状態主な機能必要な設定GitHub✅ 安定版リポジトリ操作、PR管理、Issue管理Personal Access TokenGoogle Drive✅ 安定版ファイル読み書き、検索OAuth 2.0Slack✅ 安定版メッセージ送受信、チャンネル管理Bot/User TokenPostgreSQL✅ 安定版データベースクエリ実行接続文字列Filesystem✅ 安定版ローカルファイル操作ディレクトリパスBrave Search✅ 安定版Web検索API KeyPuppeteer✅ 安定版スクリーンショット、PDF生成なしGoogle Sheets🚧 ベータ版スプレッドシート操作OAuth 2.0Gmail🔜 開発中メール送受信OAuth 2.0Notion🔜 開発中ページ作成・編集API KeyAWS🔜 計画中AWS リソース操作IAM認証Azure🔜 計画中Azure リソース操作Service Principal
🚀 高度な設定とTips
環境変数の管理
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" // 環境変数から読み込み
}
}
}
}
デバッグモードの有効化
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github", "--debug"],
"env": {
"DEBUG": "mcp:*",
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_token"
}
}
}
}
複数アカウントの管理
{
"mcpServers": {
"github-personal": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "personal_token"
}
},
"github-work": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "work_token"
}
}
}
}
🔗 参考リンク
📧 お問い合わせ
エンハンスド株式会社では、Claude Desktop Extensionsの導入支援やカスタムExtension開発を承っています。お気軽にお問い合わせください。
今なら初回相談無料!
#ClaudeDesktop #MCP #AI業務効率化 #DesktopExtensions #Anthropic
