5.8 KiB
5.8 KiB
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"
利用可能なツール
-
code_with_local_llm
- タスク:
"Implement a binary search tree in Python"
- プロジェクトコンテキスト含む:
true
- タスク:
-
read_file_with_analysis
- ファイルパス:
"src/main.py"
- 分析タイプ:
"bugs"
|"optimization"
|"documentation"
- ファイルパス:
-
write_code_to_file
- ファイルパス:
"utils/helpers.py"
- タスク説明:
"Create utility functions for data processing"
- ファイルパス:
-
debug_with_llm
- エラーメッセージ:
"IndexError: list index out of range"
- コードコンテキスト: 該当するコード部分
- エラーメッセージ:
-
explain_code
- コード: 解説したいコード
- 詳細レベル:
"basic"
|"medium"
|"detailed"
-
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"""
🛠️ トラブルシューティング
よくある問題
- MCPサーバーが起動しない
# ログ確認
tail -f ~/.config/claude-desktop/logs/mcp.log
# Pythonパスの確認
which python
- Ollamaに接続できない
# Ollamaの状態確認
ollama ps
curl http://localhost:11434/api/tags
# サービス再起動
ollama serve
- モデルが見つからない
# インストール済みモデル確認
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ワークフローの自動化
- プロジェクトテンプレートの生成
- 自動テスト生成機能