2026年、Model Context Protocol(MCP)はAIエージェント開発のデファクトスタンダードへと成長しました。Cursor、Claude Code、GitHub Copilot、そして無数のOSSプロジェクトがMCP対応を表明し、ツール呼び出しの統一プロトコルとしての地位を確立しています。しかし、この急速な普及の裏で**認證authenticationの欠如**、**入力サニタイズinput sanitizationの不備**、**スパイラスティクスspyplastics攻撃**といったセキュリティリスクが顕在化しています。本稿では、ECサイトのAIカスタマーサービス、エンタープライズRAGシステム、個人開発者のプロジェクトという3つの具体的なユースケースから、MCP導入時に直面する安全问题とその対処法を実例とともに解説します。

1. MCPプロトコルとは:2026年現在の技術的 landscape

MCPは、LLM(大規模言語モデル)と外部ツール/データソースを結びつけるための**開放型プロトコルopen protocol**です。2023年末にAnthropicが提唱して以来、以下のような経緯で進化してきました:

MCPの**コアコンセプトcore concepts**は「Host」「Client」「Server」の3層アーキテクチャです。HostがユーザーインターフェースとLLMを包括し、Clientが個別の接続を管理し、Serverがファイルシステムやデータベース、Web APIといったリソースを公開します。

2. ユースケース1:ECサイトのAIカスタマーサービスへのMCP導入

筆者が担当した某アパレルECサイトでは、従来のルールベースチャットボットからMCPを活用したAIサービスへの移行を実施しました。このプロジェクトでは**商品データベースproduct database**への直接アクセス、**在庫inquirement在庫確認**システム、**注文status注文状況inquirement**の3つのMCPサーバーを構築しました。

2.1 システム構成

┌─────────────────────────────────────────────────────────────┐
│                    MCP Host (Claude/Cursor)                  │
├──────────────┬──────────────┬──────────────┬────────────────┤
│   Client-1   │   Client-2   │   Client-3   │   Client-N     │
│ (Product DB) │ (Inventory)  │  (Orders)    │   (Custom)     │
├──────────────┴──────────────┴──────────────┴────────────────┤
│                    MCP Server Layer                          │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐    │
│  │  PostgreSQL │ │   Redis     │ │   REST APIs         │    │
│  │  34ms avg   │ │  12ms avg   │ │   (External)        │    │
│  └─────────────┘ └─────────────┘ └─────────────────────┘    │
└─────────────────────────────────────────────────────────────┘

2.2 実装コード:TypeScriptによるMCPサーバ構築

以下はECサイト向けMCPサーバーの実装例です。HolySheep AIのAPIキーを 사용하여 商品推荐機能を実装しています:

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';

const server = new Server(
  { name: 'ecommerce-mcp-server', version: '1.0.0' },
  { capabilities: { tools: {} } }
);

// HolySheep AI API configuration
const HOLYSHEEP_API_KEY = process.env.HOLYSHEEP_API_KEY;
const HOLYSHEEP_BASE_URL = 'https://api.holysheep.ai/v1';

// 商品推荐 function
async function recommendProducts(userQuery: string, userId: string) {
  const response = await fetch(${HOLYSHEEP_BASE_URL}/chat/completions, {
    method: 'POST',
    headers: {
      'Authorization': Bearer ${HOLYSHEEP_API_KEY},
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      model: 'gpt-4.1',
      messages: [
        {
          role: 'system',
          content: 'あなたはECサイトの商品推荐AIです。ユーザーの好みに合った商品をおすすめします。'
        },
        {
          role: 'user',
          content: ユーザー${userId}のクエリ: ${userQuery}
        }
      ],
      max_tokens: 500
    })
  });

  if (!response.ok) {
    throw new Error(HolySheep API Error: ${response.status});
  }

  return response.json();
}

// ツール一覧登録
server.setRequestHandler(ListToolsRequestSchema, async () => {
  return {
    tools: [
      {
        name: 'recommend_products',
        description: 'ユーザーの好みに基づいて商品を推荐します',
        inputSchema: {
          type: 'object',
          properties: {
            user_query: { type: 'string', description: 'ユーザーの検索クエリ' },
            user_id: { type: 'string', description: 'ユーザーID' },
            category: { type: 'string', description: '商品カテゴリー' }
          },
          required: ['user_query', 'user_id']
        }
      },
      {
        name: 'check_inventory',
        description: '商品の在庫状況を確認します',
        inputSchema: {
          type: 'object',
          properties: {
            product_id: { type: 'string', description: '商品ID' },
            size: { type: 'string', description: 'サイズ' },
            color: { type: 'string', description: 'カラー' }
          },
          required: ['product_id']
        }
      }
    ]
  };
});

// ツール呼び出しハンドラー
server.setRequestHandler(CallToolRequestSchema, async (request) => {
  const { name, arguments: args } = request.params;

  try {
    if (name === 'recommend_products') {
      const result = await recommendProducts(args.user_query, args.user_id);
      return {
        content: [{ type: 'text', text: JSON.stringify(result) }]
      };
    }

    if (name === 'check_inventory') {
      // 在庫確認ロジック
      const inventory = await checkInventoryFromDB(args.product_id);
      return {
        content: [{ type: 'text', text: JSON.stringify(inventory) }]
      };
    }

    throw new Error(Unknown tool: ${name});
  } catch (error) {
    return {
      content: [{ type: 'text', text: Error: ${error.message} }],
      isError: true
    };
  }
});

async function main() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
  console.error('E-commerce MCP Server running on stdio');
}

main().catch(console.error);

この実装では、HolySheep AI¥1=$1レート恩恵を受けて、GPT-4.1を**月額usage使用量**$8/million tokensというコストで運用