1
0
shell/docs/mcp-setup-guide.md
2025-05-31 01:47:48 +09:00

5.8 KiB
Raw Permalink Blame History

MCP Server セットアップガイド

Claude Code + ローカルLLM統合環境

🚀 セットアップ手順

1. 依存関係のインストール

# 仮想環境作成
python -m venv mcp-env
mcp-env\Scripts\activate  # Windows
# source mcp-env/bin/activate  # Linux/Mac

# 必要なパッケージをインストール
pip install mcp requests pathlib asyncio

2. Ollamaのセットアップ

# Ollamaのインストールhttps://ollama.com
# Windows: インストーラーをダウンロード
# Linux: curl -fsSL https://ollama.com/install.sh | sh

# Qwen2.5-Coderモデルをダウンロード
ollama pull qwen2.5-coder:14b-instruct-q4_K_M

# Ollamaサーバー起動確認
ollama serve

3. Claude Desktop設定

claude_desktop_config.json の作成

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "local-llm": {
      "command": "python",
      "args": ["/path/to/your/local_llm_mcp_server.py"],
      "env": {
        "OLLAMA_URL": "http://localhost:11434",
        "DEFAULT_MODEL": "qwen2.5-coder:14b-instruct-q4_K_M"
      }
    }
  }
}

4. Claude Code設定

# Claude Codeをインストール既にインストール済みの場合はスキップ
# 公式サイトからダウンロード

# MCP サーバーを追加
claude mcp add local-llm

# または手動で設定ファイルを編集
# ~/.config/claude-code/config.json

🎯 使用方法

Claude Codeから使用

# Claude Codeを起動
claude code

# プロンプト例:
# "Use local LLM to implement a Python quicksort function"
# "Analyze main.py with local model for potential bugs"
# "Generate a REST API using the local coding model"

利用可能なツール

  1. code_with_local_llm

    • タスク: "Implement a binary search tree in Python"
    • プロジェクトコンテキスト含む: true
  2. read_file_with_analysis

    • ファイルパス: "src/main.py"
    • 分析タイプ: "bugs" | "optimization" | "documentation"
  3. write_code_to_file

    • ファイルパス: "utils/helpers.py"
    • タスク説明: "Create utility functions for data processing"
  4. debug_with_llm

    • エラーメッセージ: "IndexError: list index out of range"
    • コードコンテキスト: 該当するコード部分
  5. explain_code

    • コード: 解説したいコード
    • 詳細レベル: "basic" | "medium" | "detailed"
  6. switch_model

    • モデル名: "qwen2.5-coder:7b-instruct"

🔧 カスタマイズ

モデル設定の変更

# デフォルトモデルの変更
llm = LocalLLMServer("deepseek-coder:6.7b-instruct-q4_K_M")

# 複数モデル対応
models = {
    "coding": "qwen2.5-coder:14b-instruct-q4_K_M",
    "general": "qwen2.5:14b-instruct-q4_K_M",
    "light": "mistral-nemo:12b-instruct-q5_K_M"
}

プロンプトのカスタマイズ

# システムプロンプトの調整
system_prompt = """You are an expert coding assistant specialized in:
- Clean, efficient code generation
- Best practices and design patterns
- Security-conscious development
- Performance optimization

Always provide:
- Working, tested code
- Comprehensive comments
- Error handling
- Performance considerations"""

🛠️ トラブルシューティング

よくある問題

  1. MCPサーバーが起動しない
# ログ確認
tail -f ~/.config/claude-desktop/logs/mcp.log

# Pythonパスの確認
which python
  1. Ollamaに接続できない
# Ollamaの状態確認
ollama ps
curl http://localhost:11434/api/tags

# サービス再起動
ollama serve
  1. モデルが見つからない
# インストール済みモデル確認
ollama list

# モデルの再ダウンロード
ollama pull qwen2.5-coder:14b-instruct-q4_K_M

パフォーマンス最適化

# Ollamaの設定調整
{
    "temperature": 0.1,      # 一貫性重視
    "top_p": 0.95,          # 品質バランス
    "num_predict": 2048,    # 応答長制限
    "num_ctx": 4096         # コンテキスト長
}

セキュリティ設定

# ファイルアクセス制限
ALLOWED_DIRECTORIES = [
    os.getcwd(),
    os.path.expanduser("~/projects")
]

# 実行可能コマンドの制限
ALLOWED_COMMANDS = ["git", "python", "node", "npm"]

🎉 使用例

1. 新機能の実装

Claude Code Prompt:
"Use local LLM to create a user authentication system with JWT tokens in Python Flask"

→ MCPサーバーがローカルLLMでコード生成
→ ファイルに自動保存
→ Claude Codeが結果を表示

2. バグ修正

Claude Code Prompt:
"Analyze app.py for bugs and fix them using the local model"

→ ファイル読み込み + LLM分析
→ 修正版コードを生成
→ バックアップ作成後に上書き

3. コードレビュー

Claude Code Prompt:
"Review the entire codebase with local LLM and provide optimization suggestions"

→ プロジェクト全体をスキャン
→ 各ファイルをLLMで分析
→ 改善提案をレポート形式で生成

📊 パフォーマンス比較

機能 Claude Code (公式) ローカルLLM + MCP
応答速度 高速 🟡 中程度
プライバシー 🟡 クラウド 🟢 完全ローカル
カスタマイズ 🟡 限定的 🟢 完全自由
コスト 💰 従量課金 🟢 無料
専門性 🟢 汎用的 🟢 カスタマイズ可能

🔄 今後の拡張

  • 複数LLMモデルの同時利用
  • コード実行環境の統合
  • Gitワークフローの自動化
  • プロジェクトテンプレートの生成
  • 自動テスト生成機能