見出し画像

Anthropic の MCP のクイックスタート

「Anthropic」の「MCP」(Model Context Protocol) の macOS でのクイックスタート手順をまとめました。

Quickstart - Model Context Protocol


1. MCP のアーキテクチャ

MCP」(Model Context Protocol) は、Claudeデスクトップなどのホストアプリケーションとローカルサービス間の安全な接続を可能にするプロトコルです。

1-1. 一般的なアーキテクチャ

ホストアプリケーションが複数のサーバに接続できるクライアントサーバアーキテクチャに従います。

・MCP Hosts : 「Claude Desktop」「IDE」「MCP」を介してリソースにアクセスするAIツールなどのプログラム
・MCP Clients : サーバとの 1:1 接続を維持するプロトコルクライアント
・MCP Servers : MCPを介してそれぞれ特定の機能を公開する軽量プログラム
・Local Resources : MCPサーバが安全にアクセスできるコンピュータのリソース (データベース、ファイル、サービス)
・Remote Resources : MCPサーバが接続できるインターネット経由で利用できるリソース (API経由など)

1-2. 今回のアーキテクチャ

今回は、SQLiteを使用して実装します。

・「Claudeデスクトップ」は「MCPクライアント」として機能
・「SQLite MCPサーバ」は安全なデータベース アクセスを提供
・ローカルSQLiteデータベースに実際のデータを保存

「SQLite MCPサーバ」と「ローカルSQLiteデータベース」の間の通信は、すべてマシン上で行われます。「SQLiteデータベース」はインターネットに公開されません。MCPにより、「Claudeデスクトップ」は明確に定義されたインターフェイスを通じて承認されたデータベース操作のみを実行できます。これにより、「Claude」がアクセスできるものを完全に制御しながら、ローカルデータを分析および操作する安全な方法が提供されます。

2. クイックスタート

macOSでのクイックスタート手順は、次のとおりです。

(1) 「uv」 (0.418以降)「git」「sqlite」のインストール。
ターミナルで以下のコマンドを実行します。

brew install uv git sqlite3

(2) データベースの作成。
テスト用に簡単な SQLite データベースを作成します。

sqlite3 ~/test.db <<EOF
CREATE TABLE characters (
  id INTEGER PRIMARY KEY,
  name TEXT,
  birthday TEXT,
  height INT,
  weight INT,
  blood_type TEXT
);

INSERT INTO characters (name, birthday, height, weight, blood_type) VALUES
  ('後藤ひとり', '2月21日', 156, 50, 'O'),
  ('伊地知虹夏', '5月29日', 154, 48, 'A'),
  ('山田リョウ', '9月18日', 164, 50, 'AB'),
  ('喜多郁代', '4月21日', 158, 44, 'A');
EOF

(3) Claudeデスクトップ (最新版) のインストール。

(4) テキストエディタで「~/Library/Application Support/Claude/claude_desktop_config.json」を開き、次のように編集。
ない場合は作成します。YOUR_USERNAME を自分のユーザー名に置き換えてください。

{
  "mcpServers": {
    "sqlite": {
      "command": "uvx",
      "args": ["mcp-server-sqlite", "--db-path", "/Users/YOUR_USERNAME/test.db"]
    }
  }
}

この設定は、「Claudeデスクトップ」に次のことを伝えています。

・「sqlite」という名前のMCPサーバがある
・uvx mcp-server-sqlite を実行して起動
・test.dbに接続

(5) 「Claudeデスクトップ」を再起動。
トンカチアイコンが表示され、クリックするとsqliteのツール一覧が表示されます。

(6) 「sqlite」データベースについて質問。

私のSQLデータベースに接続して、キャラクターの名前と情報を教えて下さい。

アクセス許可を求めるダイアログが表示された場合は、「Allow for This Chat」もしくは「Allow Once」をクリックします。

【おまけ】 その他のMCPサーバ

MCPサーバのリポジトリで、リファレンス実装とコミュニティ提供のMCPサーバのコレクションが提供されています。

Filesystem : ファイルシステムの操作
GitHub : リポジトリ管理、ファイル操作、GitHub API 統合
Google Drive : Googleドライブのファイルアクセスと検索機能
PostgreSQL : スキーマによる読み取り専用データベースアクセス
SQLite : SQLiteのデータベースアクセス
Slack : チャンネル管理とメッセージング機能
Memory : ナレッジグラフベースの永続メモリシステム
Puppeteer : ブラウザ自動化とWebスクレイピング
Brave Search : Braveの検索APIを使用したWebおよびローカル検索
Google Maps : 位置情報サービス、ルート案内、場所の詳細
Fetch : LLMを効率的に使用するためのWebコンテンツの取得と変換

MCPサーバは、「Typescript MCP SDK」または「Python MCP SDK」で実装できます。

【おまけ】 ログ確認

以下のコマンドで、「Claudeデスクトップ」からのログを確認できます。

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

ログには、次の内容が記録されています。

・サーバ接続イベント
・設定の問題
・ランタイムエラー
・メッセージ交換

関連



いいなと思ったら応援しよう!