【速報】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 Token |
Google Drive | ✅ 安定版 | ファイル読み書き、検索 | OAuth 2.0 |
Slack | ✅ 安定版 | メッセージ送受信、チャンネル管理 | Bot/User Token |
PostgreSQL | ✅ 安定版 | データベースクエリ実行 | 接続文字列 |
Filesystem | ✅ 安定版 | ローカルファイル操作 | ディレクトリパス |
Brave Search | ✅ 安定版 | Web検索 | API Key |
Puppeteer | ✅ 安定版 | スクリーンショット、PDF生成 | なし |
Google Sheets | 🚧 ベータ版 | スプレッドシート操作 | OAuth 2.0 |
Gmail | 🔜 開発中 | メール送受信 | OAuth 2.0 |
Notion | 🔜 開発中 | ページ作成・編集 | API Key |
AWS | 🔜 計画中 | 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"
}
}
}
}
🔗 参考リンク
- Desktop Extensions公式ドキュメント
- MCP設定ガイド
- MCP仕様書(GitHub)
- MCPサーバー実装例
- コミュニティフォーラム
- 設定例集(GitHub Gist)
- MCP開発者ツール
📧 お問い合わせ
エンハンスド株式会社では、Claude Desktop Extensionsの導入支援やカスタムExtension開発を承っています。お気軽にお問い合わせください。
今なら初回相談無料!
#ClaudeDesktop #MCP #AI業務効率化 #DesktopExtensions #Anthropic