fix
This commit is contained in:
244
docs/mcp-setup-guide.md
Normal file
244
docs/mcp-setup-guide.md
Normal file
@ -0,0 +1,244 @@
|
||||
# MCP Server セットアップガイド
|
||||
Claude Code + ローカルLLM統合環境
|
||||
|
||||
## 🚀 セットアップ手順
|
||||
|
||||
### 1. 依存関係のインストール
|
||||
|
||||
```bash
|
||||
# 仮想環境作成
|
||||
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のセットアップ
|
||||
|
||||
```bash
|
||||
# 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`
|
||||
|
||||
```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設定
|
||||
|
||||
```bash
|
||||
# Claude Codeをインストール(既にインストール済みの場合はスキップ)
|
||||
# 公式サイトからダウンロード
|
||||
|
||||
# MCP サーバーを追加
|
||||
claude mcp add local-llm
|
||||
|
||||
# または手動で設定ファイルを編集
|
||||
# ~/.config/claude-code/config.json
|
||||
```
|
||||
|
||||
## 🎯 使用方法
|
||||
|
||||
### Claude Codeから使用
|
||||
|
||||
```bash
|
||||
# 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"`
|
||||
|
||||
## 🔧 カスタマイズ
|
||||
|
||||
### モデル設定の変更
|
||||
|
||||
```python
|
||||
# デフォルトモデルの変更
|
||||
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"
|
||||
}
|
||||
```
|
||||
|
||||
### プロンプトのカスタマイズ
|
||||
|
||||
```python
|
||||
# システムプロンプトの調整
|
||||
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サーバーが起動しない**
|
||||
```bash
|
||||
# ログ確認
|
||||
tail -f ~/.config/claude-desktop/logs/mcp.log
|
||||
|
||||
# Pythonパスの確認
|
||||
which python
|
||||
```
|
||||
|
||||
2. **Ollamaに接続できない**
|
||||
```bash
|
||||
# Ollamaの状態確認
|
||||
ollama ps
|
||||
curl http://localhost:11434/api/tags
|
||||
|
||||
# サービス再起動
|
||||
ollama serve
|
||||
```
|
||||
|
||||
3. **モデルが見つからない**
|
||||
```bash
|
||||
# インストール済みモデル確認
|
||||
ollama list
|
||||
|
||||
# モデルの再ダウンロード
|
||||
ollama pull qwen2.5-coder:14b-instruct-q4_K_M
|
||||
```
|
||||
|
||||
### パフォーマンス最適化
|
||||
|
||||
```python
|
||||
# Ollamaの設定調整
|
||||
{
|
||||
"temperature": 0.1, # 一貫性重視
|
||||
"top_p": 0.95, # 品質バランス
|
||||
"num_predict": 2048, # 応答長制限
|
||||
"num_ctx": 4096 # コンテキスト長
|
||||
}
|
||||
```
|
||||
|
||||
### セキュリティ設定
|
||||
|
||||
```python
|
||||
# ファイルアクセス制限
|
||||
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ワークフローの自動化
|
||||
- [ ] プロジェクトテンプレートの生成
|
||||
- [ ] 自動テスト生成機能
|
Reference in New Issue
Block a user