この回のゴール
- Claude Desktop に自作 MCP サーバーを登録できる
- 公開 MCP サーバー を導入して実用的な AI 環境を整えられる
- 第 5 章の RAG を MCP 化して「社内ハンドブック問答」を Claude に組み込む
- 7 章シリーズの 総まとめ を完成させる
1. Claude Desktop とは
- Anthropic 公式のデスクトップアプリ (Mac / Windows / Linux)
- Claude API への統合クライアント
- MCP ホスト として機能
- https://claude.ai/download からダウンロード
起動すると通常のチャット画面。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"
]
}
}
}
注意点
- 絶対パス で指定(相対パスは動かない)
- Python 実行ファイルのパスが通っている必要あり(venv 使う場合は venv の Python 絶対パス)
- 設定変更後は Claude Desktop を再起動
4. 動作確認
- Claude Desktop を起動
- チャット画面下部の 🔧 ツールアイコン(または
/mcpコマンド) - 登録した
demoサーバーとツールが見える - 会話で「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 連携 |
身についた原理的な理解
- LLM は確率的な次トークン予測器 (理論)
- ツール使用で弱点を補う (実践)
- RAG で外部知識を動的に注入 (拡張)
- エージェントで自律タスク遂行 (応用)
- MCP で標準化してエコシステム参加 (統合)
持ち帰ってほしい 3 つのメッセージ
- LLM は万能ではない。苦手なこと(計算、最新情報、副作用)はツールに任せる
- エージェントの骨格は数十行。理解していれば自作でもフレームワークでも同じ
- MCP は標準化の勝負。どの LLM でも使える共通ツールを作ると長く使える
8. これから先
- 自社ツールの MCP 化: 社内 API を MCP サーバーに
- Multi-agent: エージェント同士の協働
- Agent Evaluations: 定量的な品質計測
- Production: ログ、監視、セキュリティ、課金
このシリーズは 入り口。ここから先は公式 docs と実践あるのみ。
まとめ
- Claude Desktop の
claude_desktop_config.jsonに MCP サーバーの絶対パス を書くだけで Claude のツールになる - 公式の Filesystem / GitHub / Slack / Drive サーバーで実用環境が即構築可能
- 集大成として 第 5 章の RAG を MCP 化 すると、Claude 純正 UI で社内文書問答が動く
- シリーズ全体は「LLM の原理 → ツール → RAG → エージェント → 標準化」の一本道
第 7 章のクロージング → 第 8 章への接続
ここまで「Claude が API 越し にツールを使う仕組み」を理解した。 でも実際の開発現場で生産性を爆発させるには、ターミナルで動く Claude Code CLI が威力を発揮する。
👉 次章「Claude Code の実践」では、CLAUDE.md / Skills / Hooks / Agent SDK を活用して 自分専用の AI 相棒 を作り込んでいきます。