MCPとは?
MCP(Model Context Protocol)は、AIアシスタント(Claude、Cursor等)が外部サービスと連携するための新しい標準規格です。2025年3月にCloudflareが正式サポートを発表しました。
必要な準備
- Cloudflareアカウント(無料)
- GitHubアカウント(無料)
- Node.js(バージョン18以上)
- Claude Desktop または Cursor
ツールのインストール
# Wrangler CLIのインストール
npm install -g wrangler
# インストール確認
wrangler --version
ステップ1: プロジェクト作成
# 新しいプロジェクトを作成
mkdir my-mcp-server
cd my-mcp-server
# Cloudflare Workersプロジェクトを初期化
npm create cloudflare@latest
# 選択項目:
# - Template: Hello World worker
# - TypeScript: Yes
# - Deploy: No
ステップ2: MCPライブラリのインストール
# MCPライブラリをインストール
npm install workers-mcp
ステップ3: コードの作成
src/index.ts
ファイルを編集:
import { WorkerEntrypoint } from 'cloudflare:workers'
import { ProxyToSelf } from 'workers-mcp'
export default class MyMCPServer extends WorkerEntrypoint<Env> {
/**
* 挨拶機能
* @param name - 名前
* @return 挨拶メッセージ
*/
async greetUser(name: string = "世界"): Promise<string> {
return `こんにちは、${name}さん!`
}
/**
* ランダム数値生成
* @return ランダム数値
*/
async getRandomNumber(): Promise<string> {
const num = Math.floor(Math.random() * 1000)
return `ランダム数値: ${num}`
}
/**
* 計算機能
* @param a - 数値1
* @param b - 数値2
* @param operation - 演算子
* @return 計算結果
*/
async calculate(a: number, b: number, operation: string): Promise<string> {
let result: number
switch (operation) {
case 'add': result = a + b; break
case 'subtract': result = a - b; break
case 'multiply': result = a * b; break
case 'divide':
if (b === 0) return "エラー: ゼロ除算"
result = a / b; break
default: return "エラー: 不正な演算子"
}
return `結果: ${a} ${operation} ${b} = ${result}`
}
async fetch(request: Request): Promise<Response> {
return ProxyToSelf(this, request)
}
}
interface Env {}
ステップ4: デプロイ
# Cloudflareにログイン
wrangler login
# デプロイ実行
npm run deploy
ステップ5: Claude Desktopとの接続
設定ファイル(claude_desktop_config.json
)を編集:
{
"mcpServers": {
"my-mcp-server": {
"command": "npx",
"args": ["mcp-remote", "https://あなたのURL.workers.dev/sse"]
}
}
}
設定ファイルの場所:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
動作確認
Claude Desktopを再起動後、以下をテスト:
- 「挨拶してください」
- 「ランダム数値を生成してください」
- 「10 + 5を計算してください」
トラブルシューティング
- デプロイ失敗:
wrangler whoami
でログイン確認 - 認識されない: 設定ファイルのパスとJSON形式を確認
- 関数が動かない: URLの末尾に
/sse
があるか確認
まとめ
Cloudflare WorkersでMCPサーバーを簡単にデプロイできました。この基盤を使って、データベース連携や外部API連携など、さらに高度な機能を追加してみてください。
参考リンク: