A
AIエージェントの仕組み
ch7-s4 · Connect to Claude Desktop

Claude Desktop と繋ぐ

約 12 分

この回のゴール

1. Claude Desktop とは

起動すると通常のチャット画面。MCP サーバーを登録 すると、Claude がそれらのツールを使えるようになります。

2. 設定ファイルの場所

OS パス
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json
Linux ~/.config/Claude/claude_desktop_config.json

存在しない場合は 自分で作成 します(JSON 形式)。

3. 最小の設定例

前回作った server.py を登録:

{
  "mcpServers": {
    "demo": {
      "command": "python",
      "args": [
        "C:\\path\\to\\server.py"
      ]
    }
  }
}

注意点

4. 動作確認

  1. Claude Desktop を起動
  2. チャット画面下部の 🔧 ツールアイコン(または /mcp コマンド)
  3. 登録した demo サーバーとツールが見える
  4. 会話で「2 × 3 を計算して」等を質問 → Claude が tool_use する

5. 既製の MCP サーバーを使う

(a) Filesystem — ローカルファイルアクセス

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\YourName\\Documents"
      ]
    }
  }
}

Claude がそのフォルダ内のファイルを 読み書き できる。

(b) GitHub

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."}
    }
  }
}

Claude で「このリポジトリの open issue は?」などができる。

(c) Slack, Notion, Google Drive, PostgreSQL, Puppeteer...

公式・サードパーティのサーバーが多数。

6. 本章の最大の成果: 第 5 章 RAG を MCP 化

ここまでの集大成として、第 5 章の RAG 検索 を MCP サーバーにします:

# rag_server.py
from mcp.server.fastmcp import FastMCP
from sentence_transformers import SentenceTransformer
import faiss

mcp = FastMCP("neotech-handbook")

# 事前準備
model = SentenceTransformer("paraphrase-multilingual-MiniLM-L12-v2")
CHUNKS = [...]  # 第 5 章のチャンクリスト
vectors = model.encode(CHUNKS, normalize_embeddings=True).astype("float32")
index = faiss.IndexFlatIP(vectors.shape[1])
index.add(vectors)

@mcp.tool()
def search_handbook(query: str, top_k: int = 3) -> str:
    """ネオテック社員ハンドブックを検索する。

    Args:
        query: 検索クエリ(日本語推奨)
        top_k: 返す結果数(デフォルト 3)
    """
    q_vec = model.encode([query], normalize_embeddings=True).astype("float32")
    D, I = index.search(q_vec, top_k)
    results = [
        f"[{i+1}] (類似度 {D[0][i]:.2f}) {CHUNKS[I[0][i]]}"
        for i in range(top_k)
    ]
    return "\n\n".join(results)

if __name__ == "__main__":
    mcp.run()

これを Claude Desktop に登録すれば、Claude がハンドブックを自動検索して答える。第 5〜6 章で作った RAG エージェントが、Claude の純正 UI で動きます。

7. シリーズの総まとめ

このシリーズ全体でできるようになったこと:

ゴール 具体的スキル
01 AI AI 全体像 記号主義 vs 統計的 AI、探索、機械学習基礎
02 生成 AI 生成の原理 確率分布、サンプリング、N-gram
03 LLM 現代 LLM の中身 トークン化、埋め込み、Attention、Transformer、Claude API
04 ツール付き LLM tool_use JSON Schema、2 往復ループ、複数ツール
05 RAG 外部知識 埋め込み検索、チャンク、RAG チャット
06 AI エージェント 自律ループ ReAct、停止条件、マルチステップ
07 MCP 標準化 プロトコル、自作サーバー、Claude Desktop 連携

身についた原理的な理解

持ち帰ってほしい 3 つのメッセージ

  1. LLM は万能ではない。苦手なこと(計算、最新情報、副作用)はツールに任せる
  2. エージェントの骨格は数十行。理解していれば自作でもフレームワークでも同じ
  3. MCP は標準化の勝負。どの LLM でも使える共通ツールを作ると長く使える

8. これから先

このシリーズは 入り口。ここから先は公式 docs と実践あるのみ。


まとめ

第 7 章のクロージング → 第 8 章への接続

ここまで「Claude が API 越し にツールを使う仕組み」を理解した。 でも実際の開発現場で生産性を爆発させるには、ターミナルで動く Claude Code CLI が威力を発揮する。

👉 次章「Claude Code の実践」では、CLAUDE.md / Skills / Hooks / Agent SDK を活用して 自分専用の AI 相棒 を作り込んでいきます。

参考文献

📝 理解度クイズ (3 問) 💡 ログインすると進捗が保存されます

💬 このサブステップの Q&A

まだ質問はありません。最初の質問を投稿してみましょう。

質問の投稿にはログインが必要です。